
Analyse de ZKByte : une solution d'extension Layer2 pour Bitcoin basée sur le ZK et BitVM
TechFlow SélectionTechFlow Sélection

Analyse de ZKByte : une solution d'extension Layer2 pour Bitcoin basée sur le ZK et BitVM
Améliorer la vitesse, l'efficacité et la sécurité.
Rédaction : ZKBase (anciennement ZKSpace)
L'objectif principal de cette conception est de créer un réseau Layer2 spécialement conçu pour la blockchain Bitcoin. Ce réseau vise à répondre à la demande croissante au sein de l'écosystème Bitcoin pour des transactions plus rapides et plus efficaces. En déchargeant certaines tâches de traitement des transactions du réseau principal, il cherche à alléger la congestion sur le réseau Bitcoin principal et à réduire considérablement le temps nécessaire à la confirmation des transactions.
Étant donné les limitations inhérentes aux capacités de calcul de la machine virtuelle Bitcoin (VM), notre conception utilise BitVM, qui démontre le potentiel d'exécution de contrats intelligents entre deux couches réseau. Grâce à un schéma de défi et de réponse, BitVM ouvre une nouvelle voie vers la programmabilité du réseau Bitcoin, en franchissant les limites traditionnelles.
Pour renforcer la sécurité et l'intégrité du réseau Bitcoin Layer2, cette conception intègre la technologie des preuves à connaissance nulle (ZK) afin de valider les états. Ces techniques cryptographiques avancées permettent au réseau Bitcoin principal de vérifier efficacement l'état du réseau Layer2, sans compromettre la confidentialité ni l'intégrité des transactions sous-jacentes. Les preuves à connaissance nulle permettent de valider des informations sans révéler les détails spécifiques des transactions, assurant ainsi l'intégrité du réseau Layer2 tout en protégeant la vie privée.
Dans son ensemble, cette conception vise à améliorer l'évolutivité, la rapidité et l'efficacité du réseau Bitcoin via un réseau Layer2, l'utilisation de BitVM pour l'exécution des contrats intelligents, et l'intégration de la technologie des preuves à connaissance nulle pour la validation des états, tout en préservant la confidentialité et la sécurité des transactions sous-jacentes.
0. Architecture
La blockchain Layer2 adopte un modèle de comptes. L'état complet de la blockchain est validé par un zkVM basé sur le système de preuve Halo2. L'état Layer2 est synchronisé avec le réseau principal Bitcoin, et tous les états Layer2 sont vérifiés par un validateur de preuve à connaissance nulle (ZKP) implémenté via BitVM. Nous utilisons un UTXO unique pour suivre tous les états Layer2. De plus, nous employons un oracle fiable pour garantir que seuls les entrées/sorties de scripts de verrouillage/déverrouillage respectent le protocole Layer2.

1. Comité Layer2 et Oracle fiable
Un comité Layer2 composé d'un groupe d'utilisateurs sélectionnés supervise le fonctionnement global du réseau Layer2. En cas de problème de protocole, le comité peut intervenir et suspendre le protocole afin de protéger les actifs de tous les utilisateurs. L'oracle fiable joue un rôle crucial dans la vérification de la correction des UTXO et des scripts d'entrée/sortie.
2. Couche 1 vers Couche 2
Une adresse Taproot unique est créée sur le réseau Bitcoin pour représenter le protocole Layer2. Lorsqu'un UTXO est créé et transféré vers cette adresse Taproot, cet UTXO est effectivement « déposé » du réseau principal Bitcoin vers Layer2.
Un compte dédié au protocole ou au comité gère les droits de « transfert » de tous les actifs UTXO déposés sur Layer2. Seul le protocole, l'oracle fiable ou le compte du comité peut modifier la propriété des UTXO déposés. L'oracle fiable s'assure que les transactions de transfert de propriété contiennent les scripts de sortie UTXO corrects.

3. Blocs synchronisés avec le réseau principal Bitcoin
Tous les états du réseau Layer2 sont synchronisés sous forme de blocs avec le réseau principal Bitcoin. Pour chaque bloc, les informations suivantes doivent être fournies :
· Les transactions contenues dans un bloc spécifique ;
· Le nouvel état des comptes après application de ces transactions ;
· Le nouvel UTXO correspondant à l'état actuel du bloc (toujours prêt, même si le protocole est compromis) ;
· Les informations du bloc sur le réseau Bitcoin ;
· Une preuve à connaissance nulle (prouvant que la transition d'état depuis le bloc précédent jusqu'au bloc courant est correcte). Tous ces états du réseau principal Bitcoin sont enregistrés dans l'historique des transactions UTXO.

3.1 Plus d'informations sur les preuves
Les preuves à connaissance nulle sont utilisées pour vérifier la validité de Layer2. Elles visent à prouver ce qui suit :
· Les transactions des blocs Layer2 sont correctement signées.
· Le nouvel état de tous les comptes est correctement traité.
· Toutes les transactions de dépôt antérieures à un bloc spécifique du réseau principal Bitcoin ont été correctement traitées.
· Pour l'état actuel, toutes les allocations d'UTXO ont été correctement créées.
3.2 Défi relatif aux informations du bloc
Pour garantir l'exactitude des informations du bloc spécifié sur le réseau principal Bitcoin, nous utilisons un schéma de défi et de réponse. Le prouveur peut démontrer la précision des informations du bloc en indiquant qu'il existe N blocs supplémentaires après un bloc particulier pendant la période de verrouillage.
3.3 Circuit ZKP et amélioration via BitVM
Comme indiqué dans l'article BitVM, la vérification ZKP peut être représentée par un circuit binaire pouvant faire l'objet d'un défi entre deux parties. Grâce à des transactions pré-signées, un défi peut être envoyé pour obtenir l'engagement binaire du circuit. Si les valeurs 0 et 1 sont révélées, le défi est réussi. Pour utiliser BitVM afin de valider la preuve ZKP, deux points doivent être pris en compte :
-
Le même engagement de circuit binaire ne peut être utilisé qu'une seule fois. Autrement dit, si le même engagement de circuit est utilisé pour plusieurs blocs, cela pourrait permettre de révéler simultanément les engagements 0 et 1 d'un bit.
-
En plus de la satisfaisabilité du circuit, l'entrée publique doit également être vérifiée lors de la validation ZKP.
Pour pallier ces deux inconvénients, un circuit binaire unique est créé pour chaque bloc Layer2, et l'« entrée publique » est fixée. Un script Bitcoin est utilisé pour hasher et vérifier l'entrée publique. L'oracle fiable vérifie l'engagement binaire correct de l'entrée publique. Concernant la satisfaisabilité du circuit, tout membre du comité a le droit de lancer un défi.

4. De Layer2 au réseau principal Bitcoin
Les actifs peuvent être transférés de Layer2 vers le réseau principal Bitcoin de deux manières : retrait (withdrawal) et retrait forcé (force-withdrawal). Les transactions de retrait sont déclenchées depuis Layer2, et le circuit ZKP garantit que la transaction est traitée comme prévu. Les transactions de retrait forcé sont initiées depuis le réseau Bitcoin.
4.1 Transactions de retrait et de retrait forcé
Les transactions de retrait déclenchées depuis Layer2 sont validées par un circuit ZKP pour assurer leur bon traitement. Les transactions de retrait forcé initiées depuis le réseau Bitcoin doivent être incluses dans la mise à jour de l'état du prochain bloc.
4.2 Allocation des UTXO
Lors de la mise à jour de l'état d'un bloc, l'allocation des UTXO est synchronisée. En cas d'arrêt du protocole, tous les UTXO peuvent être appliqués pour garantir la sécurité des actifs de tous les utilisateurs. Parmi ces UTXO, seuls ceux liés aux retraits ou retraits forcés sont signés par le protocole.
5. Sortie de Layer2
Si une preuve ZKP n'est pas validée, le comité doit arrêter et sortir du protocole. En cas d'arrêt du protocole, le comité signe toutes les allocations d'UTXO spécifiées dans le dernier état du bloc Layer2. Grâce à ces signatures, les utilisateurs peuvent retirer leurs fonds de Layer2 sans aucune perte.

Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














