Rejoignez-Nous sur

Prochain protocole de couche deux de Bitcoin? – Magazine Bitcoin

bitcoin magazine building on taproot 1200x630 cropped

News

Prochain protocole de couche deux de Bitcoin? – Magazine Bitcoin

Cet article concerne un concept technologique basé sur la mise à niveau proposée du protocole Taproot. Si vous ne connaissez pas encore les principes de base du fonctionnement de Taproot, il est recommandé de commencer par lire cet explicateur.

Racine pivotante, une mise à niveau potentielle du protocole Bitcoin proposée pour la première fois par Gregory Maxwell, contributeur Bitcoin Core, en est à ses derniers stades de développement. La technologie consiste en une combinaison intelligente de crypto-astuces qui permettraient aux utilisateurs de cacher des contrats intelligents complexes dans des transactions d'apparence régulière – la complexité n'est jamais révélée que si les parties à un contrat ne coopèrent pas.

Tirant parti de cette idée, les contributeurs de Bitcoin Core, y compris (mais sans s'y limiter) Jeremy Rubin, Antoine Riard, Gleb Naumenko et Gregory Maxwell lui-même ont spéculé sur un concept général appelé pools de paiement, joinpools ou coinpools. Ces pools – nous nous en tiendrons à les appeler des pools de paiement pour le moment – permettraient à des groupes d'utilisateurs de partager la propriété des mêmes pièces (techniquement: UTXO) que celles enregistrées sur la blockchain Bitcoin, tout en laissant l'un de ces utilisateurs effectuer (ou recevoir) des paiements avec eux. Alors que le groupe et ses membres individuels «se cachent» dans une structure Taproot, tous bénéficient de plus de confidentialité, d'une flexibilité de contrat intelligente et d'autres avantages… et ils peuvent même potentiellement profiter de ces avantages hors chaîne, faisant des pools de paiement une nouvelle solution de couche deux.

Bien que les spécificités de la conception varient un peu d'une proposition de pool de paiement à l'autre, le concept général est le même. Voici l’idée de base…

Partager une pièce

Tout d'abord, pour créer un pool de paiement, les utilisateurs combinent leurs (fractions de) pièces en les agrégeant dans une adresse Taproot partagée entre eux. Disons qu’Alice possède trois pièces, Bob en possède deux et Carol en possède une, pour un total de six. Ensemble, ils créent une transaction qui envoie ces pièces à l'adresse partagée, ce qui en fait un pool de paiement avec six pièces.

Sur la blockchain, l'adresse du pool de paiement ressemble à une adresse Bitcoin régulière, contenant désormais six pièces. Mais sous la surface, Alice, Bob et Carol ont intelligemment utilisé Taproot pour s'assurer que chacun d'eux garde le contrôle de sa propre part de pièces dans le pool de paiement. Alice peut à tout moment réclamer trois pièces à l'adresse, Bob peut à tout moment en réclamer deux et Carol une.

En effet, il n'y a que deux options principales pour dépenser des pièces à partir de l'adresse.

La première option est de dépenser directement à partir de l'adresse, en termes techniques, le chemin clé Taproot. Cela nécessite une coopération (c'est-à-dire des signatures cryptographiques) de la part des trois participants. Si Alice, Bob et Carol sont tous d'accord, les six pièces peuvent être dépensées comme bon leur semble, et cela ressemblera à n'importe quelle autre transaction régulière sur le réseau Bitcoin. Le trio peut par exemple décider de renvoyer leurs soldes respectifs à des adresses individuelles: trois pour Alice, deux pour Bob et un pour Carol. Mais s’ils le souhaitaient, ils pourraient également coopérer pour donner les six pièces à Julian, ou les dépenser de toute autre manière sur laquelle ils pourraient convenir. L’important, c’est qu’ils doivent tous trois participer, de sorte que le solde de personne n’est dépensé sans sa propre coopération.

La deuxième option principale se compose en fait de plusieurs sous-options. Avant d'envoyer leurs pièces au pool de paiement, Alice, Bob et Carol ont caché quelque chose dans l'arbre cryptographique derrière l'adresse Taproot: ils ont inclus des moyens alternatifs d'envoyer des fonds depuis le pool de paiement. (Actuellement, cela pourrait être réalisé en demandant aux trois participants de pré-signer les transactions à partir de ces chemins, ce qui nécessiterait une certaine complexité pour configurer toutes les options et ne s'adapte pas très bien; les mises à niveau de protocole proposées pourraient potentiellement rendre cela plus facile à l'avenir. .)

Si l'un des participants choisissait de dépenser les pièces dans le pool de paiement via un autre chemin Taproot, il enverrait généralement un montant correspondant au solde de ce participant à une adresse de son choix, comme une adresse individuelle qu'il contrôle. (Dans le cas d'Alice, trois pièces à sa propre adresse, dans le cas de Bob deux à son adresse et dans le cas de Carol une.)

En utilisant ce chemin alternatif, les pièces restantes sont également dépensées automatiquement. Cela peut être fait de plusieurs manières en fonction de la conception du pool de paiement, offrant différents compromis en termes de complexité et d'évolutivité.

La solution la plus simple est d'envoyer également à tous les autres participants leur part de pièces, à l'adresse de leur choix. En d'autres termes: si un utilisateur quitte le pool, tout le monde sort du pool.

Une deuxième solution, préférée par Riard et Naumenko, est d'envoyer toutes les pièces restantes à un Nouveau pool de paiement, qui ressemble exactement au premier pool de paiement, juste dépouillé de tout ce qui impliquait l'utilisateur maintenant sorti. Cette conception offre la meilleure expérience utilisateur, mais elle est la plus difficile à mettre à l'échelle, surtout parce qu'il est nécessaire de se préparer à tous les scénarios de sortie possibles, y compris tous les scénarios de sortie possibles pour tous les nouveaux pools potentiels. L'échelle pourrait, cependant, être atteinte avec une mise à niveau potentielle du protocole Bitcoin qui n'a pas encore été nommée pour garantir que les règles du pool de paiement précédent soient transférées à tout nouveau pool de paiement.

Rubin pense cependant que cette deuxième solution n'est pas pratique et préfère opter pour quelque chose entre la première et la deuxième solution: certains participants reçoivent immédiatement leurs pièces à l'adresse de leur choix, d'autres participants font envoyer leurs pièces à un nouveau pool de paiement. Cette conception offre une expérience utilisateur moins idéale, mais évoluerait mieux, et la mise à niveau potentielle du protocole OP_CHECKTEMPLATEVERIFY aiderait à simplifier la conception et à augmenter encore plus l'échelle. (Les sorties se produiraient via Tree Payments; ces types de paiements sont étudiés plus en détail dans Cet article.)

(Il y a plus de compromis entre les deuxième et troisième solutions, mais les détails de tous les avantages et inconvénients sortent du cadre de cet article; lisez le discussion sur la liste de diffusion bitcoin-dev pour plus de détails.)

Pour voir ce que cela signifie lorsque les pièces restantes sont envoyées à un nouveau pool de paiement, disons qu'Alice, Bob et Carol choisissent la deuxième option, où tout les pièces restantes sont envoyées à un nouveau pool de paiement. Si, dans cette conception, Alice sort du premier pool de paiement, trois pièces sont envoyées à une adresse de son choix, tandis que les trois autres pièces sont envoyées vers un nouveau pool de paiement entre Bob et Carol. Alice à ce moment-là a à nouveau le contrôle exclusif de ses propres pièces, alors que peu de choses ont changé pour Bob et Carol. Les deux peuvent toujours coopérer pour dépenser les trois pièces restantes comme ils le souhaitent, ou l'un ou l'autre peut sortir unilatéralement, comme Alice l'avait fait auparavant.

Si Bob sort alors unilatéralement du deuxième pool de paiement, il envoie deux pièces à l'adresse de son choix et une pièce à un pool de paiement encore plus récent (le troisième) avec seulement Carol à gauche. (Bien sûr, dans cet exemple simplifié, une conception où ce dernier pool de paiement est remplacé par une adresse choisie par Carol aurait en réalité plus de sens, mais c'est un détail de mise en œuvre.)

Ce qu'il faut retenir, c'est que les participants à un pool de paiement peuvent coopérer pour effectuer n'importe quel type de paiement à partir du pool qu'ils souhaitent, tandis que chacun d'entre eux peut à tout moment sortir avec ses propres pièces, laissant les autres participants le contrôle de la leur.

Mettre le paiement dans le pool de paiement

Nous avons donc établi que tous les participants peuvent retirer individuellement leur solde d'un pool de paiement ou, s'ils sont tous d'accord, dépenser depuis le pool. C’est cette deuxième option qui permet en fait quelque chose d’intelligent: le pool de paiement peut être dynamique. Tant que tous les participants sont d'accord, ils ne peuvent pas se contenter de rembourser eux-mêmes leurs fonds ou de payer d'autres (comme Julian), mais ils peuvent faire quelque chose d'encore plus intéressant. Ils peuvent transférer leurs fonds vers des versions plus récentes du pool de paiement, avec des conceptions différentes.

Cela permet par exemple à n'importe lequel d'entre eux de dépenser de la piscine.

Voir également

Alors que Taproot, le dernier changement de protocole de consensus, s'approche de l'activation, les développeurs Bitcoin se demandent comment exactement le réseau doit être mis à niveau.

Supposons qu’Alice achète une nouvelle voiture et souhaite la payer avec un bitcoin. Alice, Bob et Carol pourraient alors créer une transaction à partir du pool de paiement qui envoie une pièce au concessionnaire automobile et envoie les cinq pièces restantes à un Nouveau pool de paiement qui ressemble au premier, sauf que cette fois Alice ne peut en sortir unilatéralement qu'avec deux pièces, une de moins qu'avant.

La transaction, quant à elle, ressemblait à toute autre transaction Bitcoin régulière. Le concessionnaire automobile (ou les espions de la blockchain) peut conclure qu'Alice possédait les six pièces et en utilisait simplement une pour acheter la voiture, et gardait les cinq autres comme monnaie. Ils n'auraient aucune idée que certaines des pièces appartiennent à Bob et Carol, ou qu'ils étaient impliqués dans la transaction du tout.

La prochaine fois, lorsque Bob effectue un paiement et qu'Alice et Carol coopèrent, il est effectué à partir du même pool de paiement, ressemblant à nouveau à une transaction Bitcoin ordinaire avec le monde extérieur. Dans l'itération résultante du pool de paiement, Bob peut quitter avec une pièce au lieu de deux. Pendant ce temps, les mêmes espions de la blockchain ont peut-être pensé qu'Alice effectuait à nouveau un paiement, les perturbant davantage. (Et même si les espions de la blockchain découvraient d'une manière ou d'une autre que l'adresse est vraiment un pool de paiement entre Alice, Bob et Carol, ils ne pourraient toujours pas dire lequel des trois a effectué le dernier paiement.)

Chaque fois qu'Alice, Bob ou Carol dépensent des pièces, la transaction peut provenir de l'un d'entre eux, et personne en dehors du pool de paiement ne peut faire la différence.

Les pools de paiement ne permettent pas seulement de dépenser. Si Alice souhaite recharger son «solde» dans le pool de paiement, elle pourrait également le faire. Alice, Bob et Carol coopéreraient dans ce cas pour déplacer les cinq pièces actuelles vers une nouvelle adresse Taproot, à laquelle Alice enverrait dans la même transaction une pièce supplémentaire à partir de l'une de ses propres adresses (individuelles). La nouvelle adresse Taproot contiendrait à nouveau six pièces, dont trois appartiennent à Alice, comme en témoigne son option de sortie unilatérale.

De la même manière, des utilisateurs entièrement nouveaux pourraient également rejoindre le pool de paiement. Si Alice, Bob et Carol acceptent de laisser Dave participer, les trois coopèrent avec Dave pour créer une transaction qui envoie les fonds du pool de paiement avec les nouvelles pièces de Dave vers un nouveau pool de paiement, conçu pour permettre également à Dave de participer – et de quitter s'il le voulait.

De plus, les participants au pool de paiement ont la possibilité de se payer entre eux. Si Alice payait par exemple une pièce à Bob, les trois pourraient coopérer pour envoyer les fonds à un nouveau pool de paiement où Alice a une pièce soustraite de son solde et Bob a ajouté une pièce. Sur la blockchain, encore une fois, cela ressemblerait à un paiement régulier, et les espions de la blockchain n'auraient aucune idée de qui a payé qui ou combien. (Il convient de souligner que Dave aurait pu entrer de la même manière dans le pool, en recevant un paiement interne de l'un des participants existants.)

Avec un peu de complexité supplémentaire (et idéalement avec au moins une mise à niveau supplémentaire du protocole Bitcoin comme Pas d'entrée), les transferts pourraient même être effectués hors chaîne. Quand Alice paie Bob, tous les participants créeraient dans ce cas une transaction dépensant des fonds dans un nouveau pool de paiement, mais cette transaction ne serait partagée qu'entre eux – pas diffusée sur le réseau (à moins que quelqu'un tente de tricher). De cette façon, Alice, Bob et Carol pourraient continuer à mettre à jour leur solde «en interne» et même laisser Dave entrer dans la piscine à un moment donné. Lorsqu'ils acceptent tous de fermer le pool, ils peuvent créer une transaction finale qui provient du pool de paiement d'origine, en attribuant à chacun son dernier solde.

Similaire à une idée plus ancienne connue sous le nom de Usines de canal, ces types de pools de paiement pourraient même éventuellement être utilisés pour héberger eux-mêmes des canaux Lightning, des coffres-forts ou d'autres protocoles de couche deux. Cela peut offrir la possibilité de «envelopper» tout type de couche de protocole supplémentaire dans de tels pools, cachant ainsi toute leur complexité dans des transactions identiques et d'apparence régulière.



Traduction de l’article de Aaron van Wirdum : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Top
ut leo accumsan Sed ultricies dapibus