Bitcoin Magazine: Quels sont les défis auxquels est confronté Rollup ?

robot
Création du résumé en cours

Source: Bitcoin Magazine; Compilation: Wuzhu, Golden Finance

Rollups est devenu récemment un point focal de l’expansion de Bitcoin, devenant la première chose à vraiment voler la vedette au Lightning Network, suscitant un intérêt plus large. Les Rollups visent à devenir une deuxième couche off-chain non restreinte par les contraintes ou limitations de Liquidité du Lightning Network, c’est-à-dire que les utilisateurs finaux doivent avoir des fonds alloués (ou “prêtés”) à l’avance pour recevoir de l’argent, ou les Nœuds de routage intermédiaires ont besoin d’un solde de canal pour faciliter le flux complet des paiements du expéditeur au destinataire.

Ces systèmes ont été initialement exécutés sur Ethereum et d’autres systèmes Turing complets, mais récemment, l’accent a été mis sur leur portage vers des blockchains basées sur UTXO (par exemple, BTC). Cet article ne vise pas à discuter de la mise en œuvre actuelle sur BTC, mais plutôt des fonctionnalités idéalisées recherchées depuis longtemps dans un Rollup, qui dépendent de la capacité à vérifier directement les Preuves de Connaissance Zéro (ZKP) sur BTC, ce qui n’est actuellement pas pris en charge.

L’architecture de base de Roll est la suivante: un compte individuel (UTXO dans BTC) stocke les soldes de tous les utilisateurs dans Rollup. Cette UTXO contient un engagement sous la forme de la racine de Merkle de l’arbre de Merkle, qui représente les soldes actuels de tous les comptes existants dans Rollup. Tous ces comptes sont autorisés par une clé publique/clé privée, donc pour effectuer des dépenses hors chaîne, les utilisateurs doivent toujours signer certains contenus avec une clé secrète. Cette partie de la structure permet aux utilisateurs de partir à tout moment sans permission, en prouvant simplement par une transaction que leur compte fait partie de l’arbre de Merkle, ils peuvent sortir unilatéralement de Rollup sans l’autorisation de l’opérateur.

Les opérateurs de Rollup doivent inclure un ZKP dans les transactions afin de mettre à jour la racine de Merkle du solde du compte hors chaîne lors de la finalisation des transactions hors chaîne. Sans ce ZKP, la transaction est invalide et ne peut pas être incluse dans le bloc. Cette preuve permet de vérifier si toutes les modifications du solde du compte hors chaîne sont autorisées par le titulaire du compte et si l’opérateur ne met pas à jour le solde de manière malveillante pour voler les fonds des utilisateurs ou les attribuer de manière malhonnête à d’autres utilisateurs.

Le problème est que si seule la racine de l’arbre Merkle est publiée hors chaîne et que les utilisateurs peuvent la consulter et y accéder, comment peuvent-ils insérer leurs branches dans l’arbre afin de pouvoir sortir sans autorisation quand ils le souhaitent ?

Rollup approprié

Dans un Rollup approprié, chaque fois qu’une nouvelle transaction off-chain est confirmée et que l’état du compte Rollup change, les informations sont directement insérées dans la blockchain. Ce n’est pas l’ensemble de l’arbre, ce serait trop absurde, mais les informations nécessaires pour reconstruire l’arbre. Dans une implémentation simple, le résumé de tous les comptes existants dans le Rollup contiendra les soldes, et les comptes ne seront ajoutés que dans les transactions de mise à jour du Rollup.

Dans des implémentations plus avancées, utilisez des différences de solde du compte. Fondamentalement, il s’agit d’un résumé de quels comptes ont ajouté ou retiré des fonds lors du processus de mise à jour. Cela permet à chaque mise à jour de Rollup de contenir uniquement les modifications de solde du compte qui se sont produites. Ensuite, les utilisateurs peuvent simplement parcourir la chaîne et “calculer” à partir du début du Rollup pour obtenir l’état actuel du solde du compte, ce qui leur permet de reconstruire l’arbre de Merkle de solde actuel.

Cela permet d’économiser considérablement les dépenses et l’espace Bloc (et donc l’argent), tout en permettant toujours aux utilisateurs de garantir l’accès aux informations nécessaires pour une sortie unilatérale. Selon les règles de rollup, ces données doivent être incluses dans le rollup officiel fourni aux utilisateurs à l’aide de la chaîne de Blocs, c’est-à-dire que les transactions sans résumé de compte ou différence de compte sont considérées comme invalides.

Période de validité

Une autre approche pour résoudre le problème de disponibilité des données de retrait des utilisateurs consiste à stocker les données ailleurs que sur la chaîne de blocs. Cela soulève des problèmes subtils, car Rollup doit toujours s’assurer que les données sont disponibles ailleurs. Traditionnellement, d’autres blocs sont utilisés à cette fin, spécifiquement conçus comme une couche de disponibilité des données pour des systèmes tels que Rollup.

Cela crée également un dilemme de sécurité tout aussi important. Lorsque les données sont directement publiées sur la chaîne BTCBloc, les règles de consensus peuvent garantir qu’elles sont absolument correctes. Cependant, lorsqu’elles sont publiées sur un système externe, la meilleure chose qu’elles puissent faire est de vérifier la preuve SPV, c’est-à-dire que les données ont été publiées sur un autre système.

Cela nécessite de vérifier que les données existent dans des preuves off-chain autres, ce qui est finalement un problème d’Oracle Machine. La chaîne Bloc de BTC ne peut pas vérifier complètement quoi que ce soit en dehors de ce qui se passe dans son propre Bloc off-chain, elle peut faire de son mieux pour vérifier les ZKP. Cependant, les ZKP ne peuvent pas vérifier si les données de rollup contenues dans le Bloc ont été réellement diffusées publiquement après leur génération. Il ne peut pas vérifier si les informations externes sont réellement publiques pour tous.

Cela ouvre la porte aux attaques de rétention de données, c’est-à-dire créer des engagements sur la publication de données et les utiliser pour faire avancer le rollup, mais les données ne sont pas réellement disponibles. Cela empêche les utilisateurs de retirer leurs fonds. La seule solution réelle est de s’appuyer entièrement sur la valeur et la structure d’incitation des systèmes en dehors du BTC.

Entre le marteau et l’enclume

Cela crée un dilemme pour Rollup. Lorsqu’il s’agit de problèmes de disponibilité des données, il existe essentiellement un choix binaire entre publier les données sur la blockchain BTC ou ailleurs. Ce choix a un impact majeur sur la sécurité, la souveraineté et la capacité de mise à l’échelle de Rollup.

D’une part, l’utilisation de la chaîne BTCBloc en tant que couche de disponibilité des données fixera une limite supérieure stricte à la scalabilité de rollup. L’espace de Bloc est limité, ce qui fixe une limite au nombre de rollup pouvant exister à la fois et au nombre total de transactions que tous les rollup peuvent traiter off-chain. Chaque mise à jour de rollup nécessite un espace de Bloc proportionnel au nombre de comptes dont le solde a changé depuis la dernière mise à jour. La théorie de l’information ne permet que la compression des données jusqu’à un certain point, à partir duquel il n’y a plus de potentiel d’extension.

D’autre part, l’utilisation de différentes couches pour assurer la disponibilité des données éliminera le plafond dur des gains d’évolutivité, mais elle soulèvera également de nouveaux problèmes de sécurité et de souveraineté. Dans le Rollup utilisant BTC pour assurer la disponibilité des données, si les données que les utilisateurs ont besoin d’extraire ne sont pas automatiquement publiées sur la blockchain, l’état du Rollup ne pourra pas changer. Avec les Validiums, cette garantie dépend entièrement de la capacité des systèmes externes utilisés à résister à la fraude et à la dissimulation des données.

Maintenant, n’importe quel producteur de Bloc sur le système de disponibilité des données externes peut s’approprier les fonds des utilisateurs de BTCRollup en produisant un Bloc plutôt qu’en diffusant réellement ce Bloc, rendant ainsi les données disponibles.

Alors, si nous parvenons vraiment à réaliser une implémentation Rollup idéale sur Bitcoin, permettant réellement les retraits unilatéraux des utilisateurs, à quoi cela ressemblerait-il ?

BTC2.17%
ETH2.86%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)