Auteur : Faust & Abyss, Geek Web3

Résumé : Depuis l'émergence de divers ponts inter-chaînes, diverses attaques de pirates informatiques n'ont presque jamais cessé. Le vol de 620 millions de dollars américains sur le pont inter-chaînes officiel d'Axie en 2022 a choqué le monde et d'innombrables personnes ont commencé à réfléchir à la manière de les résoudre. le pont inter-chaînes de sécurité et sans confiance, mais aujourd'hui, il reste encore de nombreux problèmes non résolus dans ce domaine.

Cependant, comme la voie à chaîne publique, le pont à chaînes croisées a également un « triangle impossible » dans ses idées de conception, et il ne peut toujours pas être brisé aujourd'hui. Afin d'avoir des avantages en termes de coût et d'UX, la plupart des ponts inter-chaînes adoptent un modèle de témoin similaire à la multi-signature, et cette solution a été populaire parmi les pirates informatiques dès le premier jour de sa mise en œuvre.

Une expérience historique tragique nous dit que les ponts témoins sans mesures de protection supplémentaires auront des problèmes tôt ou tard, mais de tels ponts sont déjà monnaie courante dans l'ensemble de l'écosystème Bitcoin, ce qui rend les gens effrayants.

Le réseau Bool qui sera présenté dans cet article, sur la base de la fourniture de témoins à rotation dynamique pour les projets de ponts inter-chaînes, combine l'informatique confidentielle et les clés encapsulées TEE, tente d'optimiser davantage le modèle de sécurité des ponts témoins traditionnels et de résoudre les problèmes. des ponts inter-chaînes. La question de la décentralisation peut laisser espérer une percée dans le pont inter-chaînes Bitcoin.

L’état actuel de l’écosystème Bitcoin : la multi-signature est partout

L'essence d'un pont inter-chaînes est de prouver à la chaîne B que quelqu'un sur la chaîne A a initié une demande inter-chaînes et que la partie concernée a payé les frais conformément à la réglementation. Pour le prouver, il existe différentes voies de mise en œuvre.

Les ponts clients légers déploient souvent des contrats intelligents sur la chaîne et vérifient nativement les messages inter-chaînes sur la chaîne. Ce type de pont offre la sécurité la plus élevée, mais est également le plus coûteux et ne peut pas être implémenté sur la chaîne Bitcoin (actuellement sous le régime Bitcoin). nom de Bitcoin Le côté projet du drapeau ZK Bridge ne peut garantir que BTC passera par le pont ZK lors du passage vers d'autres chaînes, et BTC ne pourra pas utiliser le pont ZK lors du retour).

Optimistic Bridge, représenté par BitVM, utilise la preuve de fraude pour garantir que les messages inter-chaînes sont traités de manière véridique, mais cette solution est extrêmement difficile à mettre en œuvre. La grande majorité des ponts inter-chaînes Bitcoin adoptent finalement le modèle de témoin, dans lequel plusieurs témoins sont désignés hors chaîne et les témoins vérifient et confirment tous les messages inter-chaînes.

Bien que le pont DLC représenté par DLC.link introduit l'idée de canaux de paiement sur la base de la multi-signature oracle/témoin pour limiter au maximum les scénarios de témoins commettant le mal, il ne peut toujours pas éliminer complètement les dangers cachés du multi-signature. -signature à la racine.

Au final, nous constaterons qu'avant le lancement de BitVM, à l'exception des projets basés sur la vérification client ou la liaison isomorphe comme Lightning Network/Payment Channel ou RGB++, les autres ponts cross-chain Bitcoin sont essentiellement multi-signatures.

L’histoire prouve depuis longtemps que si le problème du manque de confiance dans les ponts multi-signatures et même dans les plateformes de gestion d’actifs à grande échelle n’est pas résolu, ce ne sera qu’une question de temps avant que les fonds ne soient volés.

À cet égard, certains développeurs de projets ont demandé aux témoins de surhypothéquer leurs actifs, en utilisant le potentiel Slash comme condition disciplinaire, ou de demander à de grandes institutions d'agir en tant que témoins pour fournir des avals de crédit afin d'affaiblir les risques de sécurité des ponts entre chaînes. Mais en dernière analyse, le modèle de sécurité d'un pont basé sur le mode témoin est fondamentalement le même que celui d'un portefeuille multi-signature. Au final, son modèle de confiance doit être déterminé en fonction d'un seuil, tel que M/N. , et le taux de tolérance aux pannes est relativement limité.

Comment configurer et gérer les multi-signatures, comment rendre les multi-signatures aussi fiables que possible et comment empêcher les témoins de faire le mal ou d'augmenter le coût des attaques externes seront des questions que le pont inter-chaînes Bitcoin de couche 2 doit résoudre. réfléchissez longtemps.

Existe-t-il un moyen de rendre difficile la conspiration des participants multisig pour faire le mal, et celle des pirates informatiques de voler les clés du monde extérieur ? Bool Network tente de résoudre le problème de sécurité du pont témoin grâce à une solution complète basée sur l'algorithme ZKP-RingVRF et TEE.

Bool Network : infrastructure informatique privée conçue pour les ponts inter-chaînes et plus encore

En fait, qu’il s’agisse de KYC, POS ou POW, l’essentiel est de décentraliser et de résister aux sorcières, et d’éviter que d’importants droits de gestion ne soient concentrés entre les mains de quelques personnes. L'utilisation d'une solution multi-signature/MPC en plus de POA et KYC peut atténuer les risques de sécurité grâce à l'approbation du crédit des grandes institutions, mais il n'y a pas de différence essentielle entre ce modèle et un échange centralisé. Vous devez toujours faire confiance à ces témoins désignés. l'argent du pool de capitaux du pont inter-chaînes est en fait une chaîne de consortium, ce qui viole fondamentalement l'essence Trustless de la blockchain.

La solution multi-signature/MPC basée sur le point de vente est plus fiable que le POA, et le seuil d'entrée est bien inférieur à celui de ce dernier, mais elle sera toujours confrontée à divers problèmes : tels que la fuite de confidentialité des nœuds.

Supposons qu'il existe des dizaines de nœuds formant un réseau témoin pour servir un certain pont inter-chaînes. Étant donné que ces nœuds doivent échanger fréquemment des données, leurs clés publiques, adresses IP ou autres informations d'identité sont facilement exposées au monde extérieur. les chemins conduisent souvent au vol des clés de certains nœuds. En outre, les témoins peuvent également s’entendre entre eux, ce qui est facile lorsque le nombre de nœuds est relativement faible.

Alors, comment résoudre le problème ci-dessus ? Vous pensez peut-être instinctivement qu'il est nécessaire de renforcer les mesures de protection de vos clés pour éviter qu'elles ne soient espionnées par le monde extérieur. Une méthode plus fiable consiste à encapsuler la clé dans un TEE (Trusted Execution Environment).

TEE permet aux périphériques de nœud d'exécuter des logiciels dans une zone sécurisée locale et les autres composants du système ne peuvent pas accéder à ses données. Vous pouvez isoler les données ou programmes privés dans un environnement d'exécution sécurisé pour empêcher la fuite ou la manipulation malveillante de données confidentielles.

La question ici est de savoir comment s'assurer que le témoin stocke réellement la clé dans le TEE et génère la signature ? En fait, tant que le témoin montre les informations de certification à distance du TEE, nous pouvons vérifier s'il fonctionne dans le TEE. Il suffit de vérifier la certification TEE sur n'importe quelle chaîne, et le coût est presque négligeable.

Bien entendu, hormis TEE, le problème n’est pas encore résolu. Même si vous introduisez TEE, si le nombre total de témoins n'est pas grand, par exemple s'il n'y en a que 5, nous rencontrerons quand même divers problèmes. Même si la clé encapsulée dans TEE ne peut pas être "vue", elle est composée de quelques-uns. Le comité des témoins ne peut toujours pas garantir la résistance et la disponibilité à la censure. Par exemple, si les cinq nœuds ci-dessus s'enfuient collectivement, paralysant le pont inter-chaînes, les actifs du pont ne pourront pas être verrouillés ou rachetés en douceur, ce qui équivaut fondamentalement à un gel permanent.

Après avoir examiné de manière approfondie des facteurs tels que la compatibilité, la décentralisation et le coût, Bool Network a avancé l'idée suivante :

Nous construisons un réseau de témoins candidats sans autorisation grâce à la mise en gage d'actifs. Tant que vous garantissez suffisamment d'actifs, vous pouvez le rejoindre lorsque l'échelle du réseau est suffisamment grande, par exemple, après que des centaines ou des milliers d'appareils soient connectés, nous sélectionnons régulièrement certains nœuds au hasard. le réseau pour agir en tant que témoins sur le pont inter-chaînes pour éviter le problème de la « solidification de classe » des témoins (cette idée se reflète également dans le POS Ethereum actuel)

Alors comment rendre l’algorithme de loterie aléatoire ? Les chaînes publiques de point de vente traditionnelles telles que Algorand et Cardano introduisent des fonctions VRF, permettant périodiquement aux fonctions VRF de générer des nombres pseudo-aléatoires et d'extraire les bloqueurs via les résultats de sortie. Cependant, les algorithmes VRF traditionnels ne parviennent souvent pas à protéger la confidentialité. Qui participe au processus de calcul du VRF et qui est la personne sélectionnée associée au nombre aléatoire généré par le VRF est presque exposé au soleil.

Les témoins dynamiques des ponts inter-chaînes ont des problèmes à considérer différents de ceux de la sélection dynamique des producteurs de blocs dans les chaînes publiques de points de vente. Même si l'identité des producteurs de blocs de la chaîne publique est divulguée, elle est souvent inoffensive, en raison des scénarios pervers de l'attaquant. sont limités et il sera soumis à de nombreuses restrictions conditionnelles ;

Une fois que l'identité des témoins du pont inter-chaînes aura été divulguée, tant que les pirates informatiques obtiendront leurs clés ou qu'il y aura une collusion interne entre ces témoins, l'ensemble du pool d'actifs du pont sera complètement en crise. Quoi qu’il en soit, les modèles de sécurité des ponts inter-chaînes et des chaînes publiques de points de vente sont très différents, et une plus grande attention doit être accordée à la confidentialité de l’identité des témoins.

Notre idée instinctive est qu'il est préférable de masquer la liste des témoins. Bool Network utilise à cet égard l'algorithme original de Ring VRF pour masquer l'identité du témoin sélectionné parmi tous les candidats. Les détails globaux sont relativement compliqués et exprimés. comme suit:

1. Avant d'accéder au réseau Bool, tous les candidats doivent d'abord mettre en gage leurs actifs sur Ethereum ou une chaîne créée par Bool lui-même, en laissant une clé publique comme information d'enregistrement. Cette clé publique est aussi appelée « clé publique permanente ». L'ensemble des « clés publiques permanentes » de tous les candidats est publiquement visible sur la chaîne. Pour parler franchement, cette clé publique permanente constitue l’information d’identité de chacun ;

2. Toutes les quelques minutes à une demi-heure, le réseau Bool sélectionnera au hasard plusieurs témoins via la fonction VRF. Mais avant cela, chaque candidat doit générer localement une « clé publique temporaire » unique et en même temps générer du ZKP pour prouver que la « clé publique temporaire » est liée à la « clé publique permanente » enregistrée sur la chaîne ailleurs ; En d'autres termes, utilisez ZK pour prouver que vous êtes sur la liste des candidats, mais ne révélez pas qui vous êtes ;

3. Quelle est la fonction de la « clé publique temporaire » ? Juste pour la protection de la vie privée. Si vous tirez au sort directement à partir de la collection « clé publique permanente », lorsque les résultats du tirage seront annoncés, tout le monde saura directement qui a été élu, et la sécurité sera grandement compromise à ce moment-là.

Si tout le monde soumet temporairement une « clé publique temporaire » unique et sélectionne ensuite quelques gagnants dans l'ensemble de « clé publique temporaire », vous saurez tout au plus que vous avez gagné, car vous ne savez pas qui est l'autre gagnant temporaire. les clés publiques correspondent à .

4. Ce n’est pas encore la fin. Le réseau Bool prévoit de le faire : vous faire savoir directement quelle est votre "clé publique temporaire". Comment faire cela ? Il suffit de mettre le texte brut de la clé publique temporaire dans le TEE et de le chiffrer en « code tronqué » avant de l'envoyer.

Nous pouvons également mettre la génération de « clé publique temporaire » dans TEE Puisque TEE peut garder les données et les calculs confidentiels, vous ne savez pas ce qui se passe dans TEE. Lorsque la « clé publique temporaire » est générée, elle sera cryptée en « caractères tronqués » puis envoyée à l'extérieur du TEE. À ce stade, vous n'avez aucune idée du texte original de votre « clé publique temporaire ». ne peut voir qu'un texte chiffré (il convient de noter que le ZKP mentionné dans le deuxième paragraphe, qui prouve que la clé publique temporaire est liée à une clé publique permanente, est également chiffré avec la clé publique temporaire).

5. Le candidat doit envoyer le texte chiffré tronqué de la « clé publique temporaire » au nœud Relayer désigné. Relayer est responsable du déchiffrement de ces textes chiffrés tronqués et de la restauration du texte original de toutes les « clés publiques temporaires ».

Il y a un problème ici, c'est-à-dire que le Relayer sait qui est l'expéditeur de chaque texte chiffré. Tant qu'il analyse chaque texte chiffré en une « clé publique temporaire », il saura naturellement à quelle personne correspond chaque « clé publique temporaire ». Par conséquent, le travail ci-dessus doit également être effectué dans TEE. Le texte chiffré de clé publique de centaines de personnes entre dans TEE et devient le texte de clé publique d'origine après sa sortie. Tout comme un mélangeur de devises, il peut protéger efficacement la confidentialité.

6. Une fois que le Relayer a obtenu les « clés publiques temporaires » originales, il les rassemble et les soumet à la fonction VRF sur la chaîne pour sélectionner les gagnants, c'est-à-dire qu'il sélectionne plusieurs gagnants parmi ces « clés publiques temporaires », formant ainsi. le prochain comité de témoins du pont inter-chaînes.

De cette façon, la logique globale est en fait claire : nous sélectionnons régulièrement au hasard quelques-uns de l'ensemble de clés publiques temporaires des témoins pour servir de témoins temporaires pour le pont à chaînes croisées. Cette conception est nommée DHC (Dynamic Hiding Committee).

Parce que chaque nœud exécute TEE, le fragment de clé privée de MPC/TSS, le programme de base exécuté par le témoin, et que tous les processus de calcul sont cachés dans l'environnement TEE, tout le monde ne sait pas ce que comprend le contenu spécifique du calcul. ne sait pas qu'il a été sélectionné, ce qui peut fondamentalement empêcher la collusion ou les attaques extérieures.

Cycle de vie des messages inter-chaînes Bool Network

Après avoir présenté l'idée générale selon laquelle Bool cache l'identité et la clé du témoin, trions le flux de travail de Bool Network. Nous supposons que la chaîne source est à gauche et la chaîne cible est à droite. L'ensemble du diagramme ci-dessus constitue l'ensemble du cycle de vie des actifs, de la chaîne source à la chaîne cible. À partir de là, nous analysons les quatre processus de Bool Network. cross-chain du point de vue du flux de données :

Premièrement, une fois que le retrait a lancé une action de retrait sur la chaîne source, le message est envoyé à la couche de messagerie par Realyer ; une fois que le message a atteint la couche de messagerie, le comité dynamique vérifie le message pour confirmer qu'il existe et est valide dans la chaîne source, puis Créer une signature.

Certains se demanderont peut-être, puisque comme mentionné ci-dessus, tout le monde ne sait pas s'il a été élu au comité des témoins, comment faire pour transmettre le message aux personnes désignées et les faire signer ? En fait, c’est facile à résoudre puisque nous ne savons pas qui est le témoin sélectionné, nous pouvons simplement le diffuser sur l’ensemble du réseau et transmettre le message cross-chain en attente à tout le monde.

Nous avons mentionné au début que la clé publique temporaire de chacun est générée et encapsulée dans le TEE local, et que la clé publique temporaire ne peut pas être vue en dehors du TEE. Pour vérifier si votre clé publique temporaire est sélectionnée, cette partie de la logique est déployée directement dans TEE. Tant que le message cross-chain à traiter est saisi dans TEE, le programme à l'intérieur de TEE déterminera si le message doit être signé. et confirmé.

Après avoir signé le message inter-chaînes dans TEE, vous ne pouvez pas envoyer directement la signature numérique, car si vous envoyez la signature directement à l'extérieur, tout le monde découvrira que vous avez attaché une signature au message inter-chaînes et devinera que vous en êtes un. des témoins sélectionnés. Par conséquent, si vous souhaitez trouver un moyen d'empêcher le monde extérieur de savoir si vous avez signé un message inter-chaînes, le meilleur moyen est de crypter les informations de signature elles-mêmes, ce qui est similaire à l'idée de crypter le public temporaire. clé mentionnée ci-dessus.

Le résumé est le suivant : Bool Network se propagera via le P2P et transmettra le message inter-chaînes à signer à tout le monde. Le témoin sélectionné vérifiera et signera le message dans le TEE, puis diffusera le texte chiffré, et d'autres le recevront ensuite. le texte chiffré est placé dans le TEE pour déchiffrement, le processus ci-dessus est répété jusqu'à ce que tous les témoins sélectionnés aient signé. Enfin, il est déchiffré par le relais dans le format original de la signature TSS, complétant ainsi le processus de confirmation et de signature du message inter-chaînes.

L’essentiel est que presque toutes les activités sont menées au sein du TEE et que vous n’avez aucune idée de ce qui se passe de l’extérieur. Chaque nœud ne sait pas qui sont les témoins ni s’il s’agit du témoin sélectionné, ce qui empêche fondamentalement toute collusion et augmente considérablement le coût des attaques externes.

Pour attaquer un pont inter-chaînes basé sur Bool Network, vous devez déterminer qui sont les témoins dans le comité dynamique, mais vous ne savez pas qui ils sont. Dans ce cas, vous ne pouvez attaquer que l'ensemble du réseau Bool. Pour les infrastructures de pont inter-chaînes telles que ZetaChain qui sont uniquement basées sur POS et MPC, les identités de tous les témoins sont exposées. En supposant que le seuil est de 100/200, il suffit d'attaquer au moins la moitié des nœuds du réseau.

Mais après être passé à Bool, en raison de la protection de la vie privée, vous devez théoriquement attaquer tous les nœuds. De plus, tous les nœuds Bool exécutent TEE et la difficulté de l'attaque augmentera à nouveau à ce moment-là.

De plus, Bool Network est essentiellement un pont témoin. Le pont témoin n'a besoin que de soumettre une signature sur la chaîne cible pour terminer le processus de traitement inter-chaînes au moindre coût. Puisqu'il n'existe pas de conception de chaîne de relais redondante comme Polkadot, ce qui évite la redondance de la vérification de deuxième niveau, la vitesse inter-chaînes de Bool peut être très rapide. Ce modèle inter-chaînes répond aux besoins à la fois des actifs et des messages, et présente une bonne compatibilité.

Comment évaluez-vous les idées de conception de produits de Bool ?

Nous soulevons ici deux points de vue. Premièrement, les actifs inter-chaînes sont un produit de la ToC, et deuxièmement, les ponts inter-chaînes nécessitent plus de concurrence que de coopération. À long terme, étant donné que les barrières aux protocoles inter-chaînes sont élevées et que la demande est relativement homogène, la concentration des fonds liés aux ponts inter-chaînes deviendra de plus en plus élevée.C'est parce que les protocoles inter-chaînes ont des barrières relativement fortes. y compris les effets d’échelle et les coûts de changement.

En tant qu'infrastructure dédiée de niveau inférieur par rapport aux ponts inter-chaînes, Bool a en fait des perspectives commerciales plus larges que les parties au projet de pont inter-chaînes de niveau supérieur. Il peut même assumer la fonction d'oracle, au lieu de simplement limiter le scénario aux ponts inter-chaînes. messages en chaîne. Vérification, en théorie, il est entré dans la piste oracle de la chaîne complète, construisant véritablement un oracle décentralisé et fournissant des services informatiques privés.