Les chaînes souples apportent des chevilles bidirectionnelles et de la place potentielle pour les cas d'utilisation - mais pas sans coûts de sécurité

By Bitcoin Magazine - il y a 1 an - Temps de lecture : 6 minutes

Les chaînes souples apportent des chevilles bidirectionnelles et de la place potentielle pour les cas d'utilisation - mais pas sans coûts de sécurité

Les softchains sont une implémentation de sidechain qui interagit à un niveau plus profond avec des mécanismes de consensus, ce qui peut apporter des avantages et des risques.

Ceci est un éditorial d'opinion de Shinobi, un éducateur autodidacte dans le Bitcoin axé sur l'espace et la technologie Bitcoin hôte de podcast.

Dans cet article suivant, qui examine différentes conceptions d'implémentation de sidechain, nous allons passer en revue chaînes souples. C'est un autre de Ruben Somsenles propositions de pour un mécanisme de sidechain. Cela diffère fortement des chaînes spatiales, le design abordé dans mon article précédent. Cela nécessite une modification spécifique du Bitcoin Le protocole de base spécifiquement structuré pour implémenter une sidechain, impose un nouveau coût de validation à Bitcoin nœuds complets et prend en charge un mécanisme de fixation bidirectionnelle qui ne dépend pas d'une fédération pour conserver les fonds.

Le bloc de construction

Le cœur de l'idée s'appuie sur une proposition antérieure de Somsen appelée Preuves de fraude PoW, un mécanisme visant à améliorer la sécurité de la vérification simplifiée des paiements (SPV) pour les portefeuilles. L'idée s'appuie sur une observation simple à propos d'une blockchain : si un bloc invalide est produit, il y aura probablement un fork dans la blockchain, car les mineurs honnêtes existants refuseront de construire sur le bloc invalide et finiront par en exploiter un valide. Un bloc invalide produit et aucun fork créé par des mineurs honnêtes signifie essentiellement qu'il y a eu une rupture complète dans le processus de consensus du réseau, de sorte que les chances statistiques que cela se produise sont insignifiantes. Par conséquent, un fork qui se produit peut être considéré comme une sorte de signal indiquant que "Hé, quelque chose aurait pu se produire ici, vous devriez donc vérifier cela." Les clients pourraient utiliser des forks comme celui-ci comme une sorte d'alarme indiquant qu'ils doivent réellement télécharger ces blocs et vérifier ce qui se passe.

Cela présente cependant un problème fondamental : afin de vérifier un bloc, vous devez disposer d'un ensemble UTXO. Pour avoir un ensemble UTXO, vous devez avoir vérifié tous les blocs précédents de la chaîne pour le construire. Alors, comment cela fonctionne-t-il en tant que mécanisme SPV ? La réponse est qu’UTXO a fixé des engagements.

Chaque bloc doit être validé par rapport à l'ensemble UTXO, une base de données de chaque bitcoin qui existe et qui n'a pas encore été dépensé et actuellement, il ne s'agit que d'une base de données locale que chaque nœud construit et enregistre lors de son analyse de la blockchain depuis le début. Un engagement d'ensemble UTXO prend l'ensemble UTXO, en construit un arbre Merkle et, idéalement, valide son hachage à l'intérieur de chaque bloc. Cela vous permet de recevoir un bloc avec des données supplémentaires – une branche Merkle pour chaque entrée de chaque transaction prouvant qu'elle figurait dans le dernier engagement défini par UTXO – et de le vérifier de cette façon. Si un système utilisait un tel système d'engagement dès le début et qu'il était réellement utilisé par un grand nombre d'utilisateurs vérifiant entièrement la chaîne, il fournirait alors une garantie de sécurité presque équivalente à un nœud complet. Chaque fois qu'une division de chaîne se produit, vous pouvez télécharger tous les blocs impliqués et vous assurer que la chaîne que vous suivez est valide. Si les deux côtés de la division sont valides, le plus long gagne toujours. Cependant, si l’un d’eux n’était pas valide, cela vous permettrait de le détecter immédiatement.

La cheville à double sens

Dans le cadre de la conception de la softchain, les nœuds de la chaîne principale devraient télécharger et valider les en-têtes de bloc pour chaque softchain, et dans le cas de toute division de chaîne, télécharger et valider ces blocs à l'aide des engagements définis par UTXO. Cela constituerait la base du mécanisme d’ancrage pour permettre un ancrage bidirectionnel. Pour migrer les pièces vers la sidechain, l'utilisateur créerait une transaction de chaîne principale en les attribuant à une softchain spécifique, puis pointerait vers cette transaction lorsqu'il serait confirmé pour réclamer des pièces sur la sidechain. À l’inverse, vous feriez le contraire lorsque vous tenteriez de vous retirer de la sidechain. C’est là que les preuves de fraude PoW entrent en jeu. Lors d'un pegout, l'idée est de créer une transaction sur la chaîne principale faisant référence à une transaction de retrait sur la sidechain. Ces pièces ne pourraient être dépensées qu'après une longue fenêtre de confirmation (disons un an) et resteraient "verrouillées dans la softchain" si la transaction de retrait sur la sidechain était réorganisée ou jugée invalide. Ce dernier serait découvert car en cas de scission de chaîne, le nœud de la chaîne principale téléchargera tous les blocs de chaque côté de la scission et les vérifiera à l'aide des engagements définis par UTXO.

La longue fenêtre de confirmation pour les pegouts est telle que même un infime pourcentage de mineurs honnêtes peut avoir suffisamment de temps pour produire un seul bloc valide divisant la chaîne et déclenchant une validation de tout à partir de ce point avec les engagements définis par UTXO. Cela permet aux nœuds de la chaîne principale d'attraper les liens frauduleux de la chaîne latérale avant que le retrait ne soit confirmé sur la chaîne principale, invalidant ainsi cette transaction sans les obliger à valider l'intégralité de la chaîne latérale – ce qui ne serait pas différent d'une augmentation de la taille du bloc.

Paramètres de sécurité et risques

Cette conception soulève des questions en termes de niveau de sécurité en fonction de certaines variables et de la manière dont une telle sidechain interagirait avec les mineurs. Tout d'abord, toute softchain doit être déployée avec une exigence de difficulté minimale pour les blocs, de sorte que si le taux de hachage devient trop faible au lieu de la difficulté de s'ajuster en dessous de ce minimum, les blocs sur la sidechain prendraient simplement plus de temps à trouver - c'est-à-dire que l'intervalle de bloc serait augmenter. Cela est nécessaire car les nœuds de la chaîne principale de validation anti-fraude PoW doivent être exécutés dans le cadre de cette conception. Si la difficulté de la softchain est trop faible, il deviendrait alors facile pour les mineurs de pirater régulièrement la softchain de manière malveillante et d'effectuer efficacement une attaque par déni de service (DoS) contre les nœuds de la chaîne principale en augmentant la quantité de données supplémentaires qu'ils utilisent. il faut valider.

L’exploitation minière fusionnée est une solution à ce problème. Si tout le Bitcoin les mineurs ont également extrait des blocs sur la sidechain, le problème des attaques DoS sur la chaîne principale en créant des fractionnements de chaîne sur la softchain est alors résolu du mieux qu'il peut l'être. Il faudrait autant de travail pour diviser la softchain que pour la chaîne principale, empêchant ainsi les attaques arbitraires et à faible coût visant à augmenter la quantité de données nécessaires à la validation de la chaîne principale. Cependant, en résolvant le problème des attaques DoS, cela crée un autre problème : l'augmentation du coût de validation des mineurs.

Si les mineurs souhaitent également exploiter les softchains, ils doivent alors exécuter les nœuds à leur place pour garantir la validité des blocs qu'ils exploitent. S’ils ne le sont pas, ils courent le risque de devenir orphelins et de perdre les revenus provenant d’un blocage invalide. Si de nombreuses softchains coûteuses à vérifier étaient activées, telles que les chaînes de clones Ethereum ou les grandes chaînes de blocs, cela pourrait rendre le minage plus centralisé et plus coûteux à participer. Les mineurs doivent valider une chaîne pour savoir qu'ils ne construisent pas sur un bloc invalide. et perdre de l'argent, donc ce n'est pas vraiment facultatif. Rendre la validation plus coûteuse nuit efforts pour maximiser la décentralisation du secteur minier.

Le plus gros problème est le risque qu’un bug de consensus sur une softchain provoque en réalité une division consensuelle de la chaîne principale elle-même. Il existe un risque que des réorganisations majeures de la sidechain invalident une transaction de pegout valide du côté de la sidechain alors que le côté de la chaîne principale est sur le point de devenir valide. N'oubliez pas que les nœuds de la chaîne principale suivent également les en-têtes de la chaîne logicielle. Cela pourrait conduire à la division de la chaîne principale si différentes parties du réseau se trouvent de différents côtés d'une division de softchain alors qu'un ancrage de chaîne latérale est en cours de validation sur la chaîne principale. Des bogues de consensus non déterministes sur la softchain pourraient également provoquer une scission de la chaîne principale, c'est-à-dire si certains nœuds considéraient un pegout comme invalide mais d'autres le considéraient comme valide.

Ce lien plus profond avec le consensus de la chaîne principale rend cette conception de sidechain quelque peu risquée et potentiellement quelque chose qui ne devrait pas être fait. À tout le moins, les softchains devraient être activées une par une dans des forks individuels, au lieu de déployer un seul fork qui permettrait aux softchains d'être lancées à volonté. Le fait que dans cette conception, les fractionnements de chaîne amènent les nœuds de la chaîne principale à vérifier davantage de données fait de la possibilité d'activer simplement plusieurs chaînes logicielles en même temps un vecteur d'attaque sur la chaîne principale.

Les softchains s'impliquent davantage dans la couche de consensus de la chaîne principale que les spacechains, ce qui comporte de nombreux risques, mais elles permettent une ancrage bidirectionnel natif et donc plus de place potentielle pour différents cas d'utilisation. Ensuite, je passerai en revue les chaînes de transmission, puis quelques réflexions finales sur les chaînes latérales en général.

Ceci est un article invité de Shinobi. Les opinions exprimées sont entièrement les leurs et ne reflètent pas nécessairement celles de BTC Inc ou Bitcoin .

Source primaire: Bitcoin Magazine