Rapport de faisabilité sur l'exécution d'un Thornode


Je suis un grand croyant en Thorchain et je dis à tous ceux qui écouteront que c’est la chose la plus importante et la meilleure qui se soit produite en crypto depuis Ethereum. Mon cas d’utilisation préféré est de gagner des retours de bitcoin sur bitcoin (et rune sur rune) dans un système décentralisé et résistant à la censure en tant que fournisseur de liquidités. Je pense également que la capacité de Thorchain à rendre la majorité de tous les échanges cryptographiques décentralisés et résistants à la censure est en train de changer le monde.

J’ai chargé 2 de nos ingénieurs de rédiger un rapport de faisabilité couvrant les domaines suivants en ce qui concerne l’exploitation d’un thornode  :

  • Coûts d’infrastructure
  • Les ingénieurs logiciels pourraient-ils terminer tous les travaux techniques ou faudrait-il embaucher un spécialiste de la blockchain ?
  • Combien d’heures facturables sur quelle période sont nécessaires pour configurer un nœud et le faire fonctionner de manière stable ?
  • Combien d’heures facturables par mois sont nécessaires pour la maintenance continue ?
  • Le nœud pourrait-il être configuré et géré par des personnes autres que le propriétaire sans que la caution et les récompenses du propriétaire ne soient menacées de vol ?
  • Quel lien est nécessaire, les prévisions actuelles et futures
  • Quelles récompenses sont générées, prévisions actuelles et futures
  • Le résultat ci-dessous est un rapport d’experts techniques de Thorchain dont le travail consistait à jeter un œil critique sur le projet. Si vous trouvez quelque chose de remarquable.

    Rapport de faisabilité sur l'exécution d'un Thornode

    Coûts d’infrastructure

    L’exécution d’un thornode nécessite l’exécution d’un cluster kubernetes dans un fournisseur de cloud tel qu’AWS ou DigitalOcean.

    FournisseurChaosnet uniquementChaosnet + testnetAWS1404$2808$NumériqueOcéan970$1940$Tableau 1

    Dans le tableau 1. alias chaosnet, et pour le réseau de test en USD. L’exécution d’un nœud sur le réseau de test aurait l’avantage de pouvoir tester les opérations avant de les appliquer sur le nœud de production. Cependant, étant donné les coûts d’infrastructure et de main-d’œuvre pour maintenir un nœud de testnet, cela n’en vaut probablement pas la peine. Au lieu de cela, on pourrait provisionner temporairement un nœud de testnet en cas de besoin et le détruire par la suite.

    Fournisseur de cloud recommandé

    Bien qu’AWS soit plus cher,:

    • AWS fournit des services de surveillance et d’alerte bien meilleurs qui sont importants pour assurer la haute disponibilité du nœud
    • Comme le montre le tableau 2 ci-dessous, la majorité des opérateurs de nœuds utilisent AWS, les scripts de configuration de l’infrastructure sont donc susceptibles d’être mieux gérés pour AWS.
    • AWS est susceptible d’offrir une plus grande disponibilité et d’être plus réactif aux problèmes,
    • L’exécution d’un nœud dans la même région AWS que les autres nœuds réduira les risques de problèmes de mise en réseau

    Fournisseur% de nœudsAWS55.9NumériqueOcéan30.5Autre8.5Azure5.1Tableau 2

    Q  : Les ingénieurs logiciels pourraient-ils effectuer tous les travaux techniques ou faudrait-il embaucher un spécialiste de la blockchain ?

    Le déploiement et la maintenance d’un thornode nécessitent une expertise dans les domaines suivants :

    • AWS ou le fournisseur de cloud choisi
    • Kubernetes
    • Docker
    • Linux
    • La mise en réseau
    • Terraformer
    • Crypto-monnaie

    Terraform est similaire à d’autres systèmes de configuration en tant que code tels qu’AWS CloudFormation et Ansible et peut donc être facilement appris par des ingénieurs à l’aise avec ceux-ci.

    Idéalement, les opérateurs de nœuds devraient également examiner les modifications apportées au code Thornode pour essayer d’empêcher l’introduction de bogues et de vulnérabilités de sécurité dans le logiciel. Cela nécessiterait un niveau de compréhension de :

    • Allez langage de programmation
    • Technologie blockchain
    • Algorithmes de consensus
    • Protocole Thornode

    Si l’on devait considérer cet aspect de l’exploitation d’un nœud comme critique. soit embaucher quelqu’un ayant déjà cette expertise.

    Un thornode doit être disponible 100% du temps pour que le nœud ne soit pas pénalisé par le réseau et potentiellement perdant des récompenses et des RUNE liés. Les clusters Kubernetes sont conçus pour être hautement disponibles, mais il existe encore des scénarios dans lesquels les opérateurs de nœuds doivent réagir rapidement, par exemple en réponse à des attaques de réseau. Idéalement, cela signifie que les ingénieurs sont sur appel pour répondre aux urgences.

    Heures facturables – mise en place

    Q  : Combien d’heures facturables sur quelle période sont nécessaires pour configurer un nœud et le faire fonctionner de manière stable ?

    Étant donné que les développeurs de Thornode fournissent des scripts pour déployer un nœud, cela ne prendrait que quelques jours pour déployer réellement un nœud sur chaosnet. Cependant, il serait extrêmement prudent de passer du temps à pratiquer diverses opérations dans testnet telles que  :

    • Déploiement d’une épine
    • Collage et sortie du réseau
    • Mise à niveau du thornode
    • Mettre en place et se familiariser avec les services de surveillance
    • Se familiariser avec les bûches produites par les différents composants d’un thornode
    • Interagir avec les nœuds des différentes chaînes qui composent un thornode (bitcoin, ethereum, etc.)
    • Effectuer un retour manuel des fonds yggdrasil en cas d’urgence

    Le testnet Thornode est extrêmement peu fiable pour le moment, de sorte que certaines de ces opérations telles que la liaison et le départ pourraient prendre des semaines pour réussir. Le nombre réel d’heures facturables pour 2 ingénieurs serait de l’ordre de 76 heures, mais le délai avant qu’ils puissent mettre un Thornode en production pourrait être d’un mois ou plus compte tenu de l’instabilité du réseau de test Thorchain.

    Heures facturables – Maintenance continue

    Q  : Combien d’heures facturables par mois sont nécessaires pour la maintenance continue ?

    La maintenance continue du Thornode sera probablement dominée par le déploiement de mises à jour des applications Thornode. Sur la base du nombre de mises à jour au cours des 2 derniers mois.

    Les ingénieurs devront également appliquer des mises à jour de sécurité aux nœuds de travail kubernetes environ une fois par mois et mettre à niveau kubernetes lui-même une fois par an. Les ingénieurs qui maintiennent le nœud devront se tenir au courant des plans et des développements qui auront un impact sur Thorchain en surveillant la discorde.

    TâcheHeures facturables/moisMises à jour de l’application 10 x 3 heures30Mises à jour des travailleurs de kubernetes4Mettre à jour kubernetes ~ une fois par an0.5Surveiller la discorde 15 minutes/jour7.5Total42Tableau 3

    Risque de sécurité pour les propriétaires de nœuds

    Q  : Le nœud pourrait-il être configuré et exécuté par des personnes autres que le propriétaire sans le lien et récompenses risque de vol ?

    Tldr

    Non. Si quelqu’un d’autre que le propriétaire gère le nœud, il pourrait voler les fonds du coffre-fort yggdrasil, ce qui entraînerait jusqu’à 37% de réduction des obligations, actuellement autour de 2 millions de dollars. L’incitation pour le voleur de coffre-fort yggdrasil est actuellement d’environ 1 million de dollars de crypto.

    Arrière-plan

    Les autres personnes dans ce cas seraient des ingénieurs embauchés directement par le propriétaire du nœud pour exécuter le nœud, ou par l’intermédiaire de fournisseurs de nœuds en tant que service comme Allnodes qui exécutent des nœuds au nom des propriétaires moyennant des frais.

    Le protocole Thornode permet uniquement de retirer le lien et la récompense au portefeuille qui a fourni le lien. Cela signifie que les ingénieurs qui maintiennent le nœud ne peuvent pas voler directement le lien ou les récompenses.

    Cependant, les ingénieurs ont accès aux clés privées des coffres yggdrasil qui sont des portefeuilles chauds contenant du bitcoin, de l’ethereum, etc. Cela donne aux ingénieurs la possibilité de voler ces portefeuilles. Si cela devait se produire, le réseau punirait le propriétaire du nœud en déduisant 1,5 fois le montant volé de l’obligation.

    Les coffres yggdrasil détiennent actuellement environ 13% du montant lié, donc si un ingénieur devait voler les coffres yggdrasil, cela entraînerait une perte d’environ 20% du lien des propriétaires de nœuds. Cependant, les coffres-forts d’yggdrasil peuvent contenir jusqu’à 25 % de la caution, ce qui, en cas de vol, entraînerait la perte de 37 % de la caution par le propriétaire, soit actuellement environ 2 millions de dollars.

    Les défenseurs de Thorchain épousent les incitations à la sécurité des réseaux en disant des choses comme

    « L’opérateur de nœud ne volerait pas dans les coffres d’yggdrasil parce que leur lien serait réduit de plus que le montant qu’ils ont volé. »

    Du point de vue d’un nœud, cela s’effondre lorsqu’une personne autre que le propriétaire de l’obligation a accès aux coffres yggdrasil. Cependant, l’incitation à la sécurité est valable pour le réseau dans son ensemble ; les fonds du réseau ne sont pas à risque car les fonds volés des coffres yggdrasil seront remplacés par le lien du nœud voyou. Seul le propriétaire de l’obligation perd, ce qui incite à juste titre le propriétaire de l’obligation à sécuriser les coffres yggdrasil et le nœud dans son ensemble.

    D’autres nœuds de gain de récompenses jalonnés / liés tels que les Masternodes Dash et les validateurs d’Etherium n’ont pas ce problème. Ils peuvent être exécutés par des fournisseurs de nœuds en tant que service tels que Allnodes d’une manière sans confiance où les ingénieurs ne peuvent pas voler les fonds du propriétaire du nœud.

    Aller de l’avant

    Étant donné que Thorchain prévoit de continuer à ajouter plus de fonctionnalités et de pools d’actifs, il sera bientôt très difficile pour un seul individu d’être le seul propriétaire et mainteneur d’un Thornode. Cependant, en raison de cette vulnérabilité, le propriétaire ne peut pas embaucher d’ingénieurs directement ou via des fournisseurs de nœud en tant que service pour l’aider à exécuter le nœud sans risquer une perte massive.

    Dans le système actuel, les seules options sont :

    • Reliez et exploitez le nœud vous-même en tant qu’individu
    • Entrez en partenariat avec d’autres dans lequel vous partagez tous les liens et le fonctionnement du nœud et avez les mêmes incitations. Cela pourrait être fait manuellement ou via un nouveau contrat intelligent personnalisé qui devrait être créé, examiné et testé
    • Faites confiance aux ingénieurs et acceptez le risque d’une réduction d’obligations allant jusqu’à 2 millions de dollars avec une incitation de 1 million de dollars pour le voleur.

    Toute solution au niveau du protocole pour améliorer cette vulnérabilité nécessiterait des changements très importants dans le protocole Thorchain qui ne figurent pas sur la feuille de route.

    Une amélioration potentielle proposée par le CTO de Shapeshift Michael Perklin est ce qu’il appelle « sharding the validator set ». Par exemple, vous avez des nœuds BTC/RUNE qui n’ont qu’à exécuter un thornode bitcoin et des nœuds ETH/RUNE qui n’ont qu’à exécuter un thornode Ethereum. Plutôt que la situation actuelle où un thornode doit exécuter un nœud pour chaque actif pris en charge, actuellement 6 et en croissance.

    C’est une bonne idée pour de nombreuses raisons, notamment l’amélioration de l’évolutivité et de la décentralisation. Cela aiderait cette vulnérabilité en rendant l’exécution d’un thornode en tant qu’individu, sans autres ingénieurs, beaucoup plus réalisable.

    Obligations obligatoires

    Q : Quel lien serait nécessaire, prévisions actuelles et futures.

    Le réseau rend actuellement 2 nouveaux nœuds actifs tous les 3 jours dans un processus connu sous le nom de « churning in ». Les nœuds qui deviennent actifs sont les 2 nœuds de secours avec les liaisons les plus élevées. La liaison minimale effective est donc la liaison actuelle la plus élevée de tous les nœuds en veille. Il s’agit actuellement d’environ 1 million de RUNE (5,8 millions de dollars) et il ne devrait pas descendre en dessous de 500 000 RUNE.

    Une fois que le réseau atteindra le plafond de 100 nœuds actifs, ce qui pourrait être dès janvier 2022, il y aura une concurrence accrue entre les opérateurs de nœuds, ce qui est susceptible d’augmenter les exigences de caution. Le niveau d’exigence des obligations dépend de la rentabilité de l’exploitation d’un nœud, mais il est prévu qu’il se stabilise entre 2M et 2,5M RUNE.

    Récompenses de nœud

    Q  : Quelles récompenses seraient générées, prévisions actuelles et futures.

    Le revenu en RUNE pour un opérateur de nœud est donné par :

    revenu = (1 – poolShareFactor) × (blockRewards + LiquidityFees) / numberOfActiveNodes

    Le poolShareFactor s’équilibrera à ⅓ donc à moyen et long terme, les seuls facteurs qui comptent sont les BlockRewards et les LiquidityFees. Les BlockRewards par jour sont donnés par :

    blockRewards = reserve / (emissionCurve × 365)

    La réserve est le montant de RUNE que les mainteneurs de Thorchain ont mis à disposition pour récompenser les opérateurs de nœuds et les fournisseurs de liquidités. Il y a actuellement 30M de RUNE dans la réserve et cela augmentera régulièrement jusqu’à 180M à mesure que les responsables gagneront en confiance qu’il n’y a pas de bogues ou de vulnérabilités qui pourraient entraîner la perte de fonds dans la réserve. L’emissionCurve est un paramètre qui contrôle la taille des récompenses de bloc actuellement fixées à 4.

    En utilisant l’API midgard,; ces données sont présentées dans le tableau 4. Chaque ligne représente la moyenne moyenne par nœud et par jour pour cette semaine.

    Date (2021)# de nœudsBloquer les récompensesFrais de liquiditéRécompense totaleMai 0280.444.830.1Mai 0990.3139.192.9Mai 1611.694.3118.1141.6Mai 2313.7126.3322.8299.4Mai 3015.3262.4223.2323.7Juin 0617.9464.667.6354.8Juin 1320.3424.9126.7367.7Juin 2022.8557125454.7Juin 2726.3815.7293.7739.6ul 04.0538.7 juillet 1836.4586.60391Tableau 4  : Récompenses en RUNE par nœud et par jour

    Sur la base de ces chiffres historiques, à court terme, un opérateur de nœud peut s’attendre à recevoir entre 300 et 800 RUNE par jour d’activité.

    • Le nombre de nœuds augmentera linéairement jusqu’à 100, puis restera stable à 100
    • La réserve sera augmentée linéairement jusqu’à 180M RUNE puis diminuera selon le programme d’émission
    • Les frais de liquidité augmenteront linéairement

    Dans ce modèle. En décembre 2021, le nombre maximal de nœuds de 100 est atteint, de sorte que le nombre de nœuds qui reçoivent chacun une part des récompenses totales devient fixe. Les récompenses continuent d’augmenter jusqu’en avril 2022, date à laquelle toutes les 180 millions de RUNE désignées pour la réserve sont finalement attribuées. À partir de ce point, les récompenses diminuent progressivement, pour finalement se stabiliser à environ 750 RUNE par nœud et par jour en 2026.

    Ce modèle est imprécis car il fait un certain nombre d’hypothèses incorrectes  :

    • Il n’y a également aucun moyen de dire à quelle vitesse ou lentement ils augmenteront la réserve, car cela dépend de facteurs externes tels que la croissance du réseau
    • les frais d’enregistrement de thorname, etc. ils sont donc omis du modèle
    • Il est peu probable que les commissions de liquidité augmentent de manière linéaire ; ils seront motivés par l’adoption de Thorchain qui est difficile à prévoir
    • Cela peut se produire si le nœud se comporte mal, a la liaison la plus faible ou a été actif plus longtemps que tous les autres nœuds

    Figure 1 : Récompenses par nœud par jour

    Malgré les hypothèses incorrectes de ce modèle.

    Il est important de noter que ces estimations ne tiennent pas compte de la possibilité de perdre des fonds ou de ne pas recevoir de récompenses en raison de  :

  • Bugs dans le logiciel Thornode ou les chaînes externes
  • Piratage contre le réseau Thornode
  • Erreur humaine lors de la maintenance du nœud
  • Les ingénieurs ne répondent pas assez rapidement aux problèmes liés au nœud, ce qui entraîne une pénalisation du nœud pour mauvais comportement
  • Perte des clés du portefeuille qui a lié le nœud
  • Hacks contre l’amas de thornodes
  • Vol par des ingénieurs maintenant le nœud
  • Au cours des derniers mois, plusieurs bugs et vulnérabilités de Thorchain ont été découverts, les éléments 1 et 2 ne doivent donc pas être sous-estimés. Le projet Thorchain semble en être à ses débuts et n’a pas un grand nombre de mainteneurs.

    Des pratiques d’ingénierie bâclées

    • La raison des modifications apportées au code n’est souvent pas expliquée dans les messages de problème, de demande de fusion ou de validation de GitLab. Il ne peut être trouvé que dans Discord, mais il est généralement impossible de localiser la conversation Discord pertinente à partir des informations de GitLab/git. Cela a été souligné ici
    • Les corrections de bogues sont parfois précipitées, ce qui ajoute de nouveaux bogues ou ne résout pas tous les problèmes. Il doit alors y avoir des séries supplémentaires de versions de correctifs de bogues. Au cours des 6 jours entre le 29 juin et le 3 juillet, 5 versions de correctifs de bogues ont été publiées, chacune obligeant les opérateurs de nœuds à déployer immédiatement la mise à niveau sur leur nœud pour éviter les slashs
    • Les messages de validation ne sont pas informatifs, ce qui rend difficile pour quelqu’un qui lit l’historique de git de comprendre pourquoi des modifications ont été apportées
    • Les builds échouent fréquemment, même sur les branches de production master et chaosnet-multichain
    • Les tests unitaires ne couvrent que 64% du code
    • La documentation n’est pas tenue à jour avec le comportement réel du nœud
    • Presque tous les changements sont apportés par Heimdall, Son of Odin ou Fandral
    • Il suffit d’une seule approbation pour fusionner les demandes de fusion
    • La majorité des demandes de fusion sont approuvées sans aucun retour des réviseurs
    • Lorsque les développeurs font une erreur dans un commit et la corrigent dans un commit suivant. Les développeurs de Thornode oublient parfois de le faire, ce qui entraîne des commits avec des messages comme « WIP » (travail en cours), « corriger une faute de frappe » et « ajouter un commentaire »

    alors ils prennent souvent des raccourcis. Dans de nombreux projets, ce ne serait pas une grosse affaire, mais c’est préoccupant ici puisque Thorchain a des centaines de millions de dollars d’actifs en jeu.

    Conclusion

    Le déploiement et l’entretien d’un thornode ne sont pas à prendre à la légère. Cela nécessite un investissement important en capital et bien que le nombre d’heures consacrées à la maintenance du nœud ne soit pas excessif, l’importance de répondre rapidement aux problèmes de nœud exercerait une pression considérable sur les ingénieurs chargés de la maintenance du nœud. Le nombre de bogues et de vulnérabilités qui ont été découverts dans le logiciel Thorchain, le petit nombre de contributeurs et les pratiques d’ingénierie bâclées employées par les responsables devraient également alerter sur la fiabilité et l’avenir à long terme de ce projet.

    De par sa conception, le rendement d’être un fournisseur de liquidité est comparable à celui d’être un opérateur de nœud et comporte beaucoup moins de risques. Si le plafond de liquidité continue d’augmenter ou est supprimé, être un fournisseur de liquidité peut être une meilleure option que d’assumer les risques et les charges d’être un opérateur de nœud. Bien que ce ne soit pas une comparaison parfaite, car pour le moment, pour fournir des liquidités, il faut diviser son investissement en parties égales de RUNE et d’un autre actif, tandis que l’investissement financier lié à l’exploitation d’un nœud est entièrement RUNE.

    Je suis un parieur sportif avec un profit de 4%.

    Je vis sur crypto depuis 2013.

    Plus de BitEdge