Nous voici à l’épisode 2 de notre série d’article sur Cosmos. Dans cet article nous développerons :
- L’exchange de Cosmos ainsi que ses ponts
- La mise à l’échelle d’Ethereum ainsi que l’intégration multi-application
EXCHANGE DISTRIBUÉ
De la même manière que Bitcoin est plus sécurisé en étant un grand livre distribué et répliqué en masse, nous pouvons rendre les échanges moins vulnérables aux attaques internes et externes en l’exécutant sur la blockchain. Nous appelons cela un échange distribué.
Ce que la communauté des crypto-monnaies appelle aujourd’hui un échange décentralisé repose sur ce que l’on appelle des transactions «atomiques inter-chaînes» (AXC). Avec une transaction AXC, deux utilisateurs appartenant à deux chaînes différentes peuvent effectuer deux transactions de transfert validées ensemble sur les deux ledgers, voire aucune (par exemple, de manière atomique). Par exemple, deux utilisateurs peuvent échanger des bitcoins contre de l’ether (ou deux jetons quelconques sur deux ledgers différents) à l’aide de transactions AXC, même si Bitcoin et Ethereum ne sont pas connectés l’un à l’autre. L’avantage d’exécuter un échange sur des transactions AXC est que ni les utilisateurs ni le service de correspondance des transactions n’ont besoin de se faire confiance. L’inconvénient est que les deux parties doivent être en ligne pour que l’échange puisse avoir lieu.
Un autre type d’échange décentralisé est un échange distribué à réplication de masse qui fonctionne sur sa propre blockchain. Les utilisateurs de ce type d’échange peuvent soumettre un ordre limité et éteindre leur ordinateur, et la transaction peut s’exécuter sans que l’utilisateur soit en ligne. La blockchain correspond et achève la transaction pour le compte du commerçant.
Un échange centralisé peut créer un carnet de commandes approfondi d’ordres limités et ainsi attirer plus de traders. La liquidité engendre plus de liquidités, ce qui entraîne un fort effet de réseau (ou du moins un effet gagnant-gagnant) dans les opérations de change. Poloniex est actuellement le leader des échanges de crypto-monnaies avec un volume de 20 millions de dollars sur 24 heures, et Bitfinex avec un volume de 5 millions de dollars sur 24 heures. Compte tenu de ces effets de réseau importants, il est peu probable que les échanges décentralisés basés sur AXC gagnent du volume par rapport aux échanges centralisés. Pour qu’un échange décentralisé puisse concurrencer un échange centralisé, il faudrait qu’il prenne en charge les carnets de commande contenant des ordres limités. Seul un échange distribué sur une blockchain peut le fournir.
Tendermint offre des avantages supplémentaires avec des validations de transaction plus rapides. En donnant la priorité à la finalité rapide sans sacrifier la cohérence, les zones de Cosmos peuvent finaliser des transactions rapidement, pour les transactions d’ordre d’échange ainsi que pour les transferts de jetons IBC vers et depuis d’autres zones.
Étant donné l’état actuel des échanges de crypto-monnaie, une excellente application pour Cosmos est l’échange distribué (alias Cosmos DEX). La capacité de traitement des transactions ainsi que la latence de validation peuvent être comparables à celles des échanges centralisés. Les traders peuvent soumettre des ordres limités pouvant être exécutés sans que les deux parties ne soient en ligne. Et avec Tendermint, le hub de Cosmos et IBC, les traders peuvent transférer des fonds à l’intérieur et à l’échange de la bourse vers et depuis d’autres zones avec rapidité.
PONT VERS D’AUTRES CRYPTOMONNAIES
Une zone privilégiée peut servir de source à un jeton ponté d’une autre crypto-monnaie. Un pont est similaire à la relation entre un hub et une zone Cosmos ; les deux doivent se tenir au courant des derniers blocs de l’autre afin de vérifier les preuves que les jetons sont passés de l’un à l’autre. Une «zone de pontage» sur le réseau Cosmos suit le hub ainsi que l’autre crypto-monnaie. L’indirection vers la zone de pont permet à la logique du Hub de rester simple et agnostique par rapport à d’autres stratégies de consensus de type blockchain, telles que l’extraction de validation de travail de Bitcoin.
Envoi de jetons au hub Cosmos
Chaque validateur de zone de pont exécute une blockchain alimentée par Tendermint avec une application pont spécial ABCI, mais également un nœud complet de la blockchain «Origin».
Lorsque de nouveaux blocs sont exploités sur Origin, les validateurs de la zone de pont parviennent à un accord sur les blocs engagés en signant et en partageant leur vue locale respective de la blockchain. Lorsqu’une zone-pont reçoit un paiement sur Origin (et qu’un nombre suffisant de confirmations a été consenti dans le cas d’une chaîne de paiement telle que Ethereum ou Bitcoin), un compte correspondant est créé sur la zone-pont avec ce solde.
Dans le cas d’Ethereum, la zone de pont peut partager le même ensemble de validateurs que le hub Cosmos. Du côté Ethereum, un contrat-pont permettrait aux détenteurs d’éther d’envoyer de l’éther vers la zone-pont en l’envoyant au contrat-pont sur Ethereum. Une fois que l’éther est reçu par le contrat-pont, il ne peut être retiré que si un paquet IBC approprié est reçu par le contrat-pont en provenance de la zone-pont. Le contrat de pont suit l’ensemble de validateurs de la zone de ponts, qui peut être identique à l’ensemble de validateurs du hub Cosmos.
Dans le cas de Bitcoin, le concept est similaire, à la différence qu’au lieu d’un contrat unique, chaque UTXO serait contrôlé par un code de publication P2SH multi-signature à seuil. En raison des limitations du système P2SH, les signataires ne peuvent pas être identiques à l’ensemble de validateur Cosmos Hub.
Retrait de jetons du Cosmos Hub
L’éther sur la zone de pontage («bridged-ether») peut être transféré vers et depuis le Hub, puis détruit avec une transaction qui l’envoie à une adresse de retrait particulière sur Ethereum. Un paquet IBC prouvant que la transaction a eu lieu dans la zone de pontage peut être enregistré dans le contrat de pont Ethereum afin de permettre le retrait de l’éther.
Dans le cas de Bitcoin, le système de script restreint rend difficile la reproduction du mécanisme de transfert de pièce IBC. Chaque UTXO ayant son propre code indépendant, chaque UTXO doit donc être migré vers un nouveau UTXO en cas de modification de l’ensemble des signataires d’entiercement Bitcoin. Une solution consiste à compresser et à décompresser l’ensemble UTXO si nécessaire pour limiter le nombre total d’UTXO.
Responsabilité totale des zones de pont
Le risque d’un tel contrat de pontage est un ensemble de validateurs non autorisés. ≥⅓ La puissance de vote byzantine pourrait causer une fourche, retirant l’éther du contrat de pont sur Ethereum tout en maintenant l’éther ponté sur la zone du pont. Pire encore, > voting le droit de vote byzantin peut déroger directement à celui qui l’a envoyé au contrat de pont en s’écartant de la logique de pontage initiale de la zone de pont.
Il est possible de résoudre ces problèmes en concevant le pont de manière totalement responsable. Par exemple, tous les paquets IBC, provenant du concentrateur et de Origin, peuvent nécessiter un accusé de réception de la zone de pont de manière à ce que toutes les transitions d’état de la zone de pont puissent être efficacement contestées et vérifiées par le concentrateur ou le pont Origin. La plaque tournante et Origin doivent permettre aux validateurs de la zone-pont de fournir des garanties, et les transferts de jetons hors du contrat-pont doivent être retardés (et la période de dissociation des garanties suffisamment longue) pour permettre aux auditeurs indépendants de relever le défi. Nous laissons la conception de la spécification et de la mise en œuvre de ce système ouverte en tant que future proposition d’amélioration de Cosmos, à adopter par le système de gouvernance de Cosmos Hub.
ETHEREUM MISE À L’ÉCHELLE
La résolution du problème de la mise à l’échelle est une question ouverte pour Ethereum. Actuellement, les nœuds Ethereum traitent chaque transaction et stockent également tous les états ( lien ) .
Etant donné que Tendermint peut valider des blocs beaucoup plus rapidement que la preuve de travail d’Ethereum, les zones EVM fonctionnant sur la base du consensus Tendermint et fonctionnant sur de l’éther ponté peuvent fournir des performances supérieures aux chaînes de blocs Ethereum. De plus, bien que la mécanique des paquets Cosmos Hub et IBC ne permette pas l’exécution de contrats logiques arbitraires, elle peut être utilisée pour coordonner les mouvements de jetons entre contrats Ethereum s’exécutant sur différentes zones, fournissant ainsi une base pour la mise à l’échelle Ethereum centrée sur les jetons via le sharding.
INTÉGRATION MULTI-APPLICATIONS
Les zones Cosmos utilisent une logique d’application arbitraire, définie au début de la vie de la zone et pouvant éventuellement être mise à jour au fil du temps par la gouvernance. Une telle souplesse permet aux zones Cosmos d’interagir avec d’autres crypto-monnaies telles que Ethereum ou Bitcoin. Elle autorise également les dérivés de ces chaînes de blocs, en utilisant la même base de code mais avec un ensemble de validateurs et une distribution initiale différents. Cela permet à de nombreux frameworks de crypto-monnaie existants, tels que ceux d’Ethereum, Zerocash, Bitcoin, CryptoNote et ainsi de suite, d’être utilisés avec Tendermint Core, un moteur de consensus plus performant, sur un réseau commun, ouvrant d’énormes possibilités d’interopérabilité entre plates-formes. En outre, en tant que blockchain multi-actifs, une transaction unique peut contenir plusieurs entrées et sorties, chaque entrée pouvant être de n’importe quel type de jeton. permettant à Cosmos de servir directement de plate-forme d’échange décentralisé, bien que les commandes soient supposées être appariées via d’autres plates-formes. Alternativement, une zone peut servir d’échange distribué tolérant aux pannes (avec carnets de commandes), ce qui peut constituer une amélioration stricte par rapport aux échanges centralisés crypto-monnaie existants qui ont tendance à se pirater au fil du temps.
Les zones peuvent également servir de versions des systèmes d’entreprise et de gouvernement reposant sur une chaîne de blocs, dans le cadre desquelles des éléments d’un service particulier généralement gérés par une organisation ou un groupe d’organisations sont exécutés en tant qu’application ABCI sur une zone donnée, ce qui lui permet d’hériter du contenu. sécurité et interopérabilité du réseau public Cosmos sans sacrifier le contrôle sur le service sous-jacent. Ainsi, Cosmos peut offrir le meilleur des deux mondes aux organisations cherchant à utiliser la technologie blockchain, mais qui craignent de céder complètement le contrôle à un tiers distribué.
ATTÉNUATION DE LA PARTITION RÉSEAU
Certains prétendent qu’un problème majeur avec les algorithmes de consensus favorisant la cohérence, tels que Tendermint, est que toute partition réseau ne provoquant aucune partition avec> ⅔ de droit de vote (par exemple, ≥ en mode hors connexion) interrompt complètement le consensus. L’architecture Cosmos peut aider à résoudre ce problème en utilisant un hub mondial avec des zones autonomes régionales, où le pouvoir de vote pour chaque zone est réparti en fonction d’une région géographique commune. Par exemple, un paradigme commun peut être que des villes ou des régions individuelles exploitent leurs propres zones tout en partageant un concentrateur commun (par exemple, le hub Cosmos), permettant ainsi à l’activité municipale de persister en cas d’arrêt du hub en raison d’une partition réseau temporaire. . Notez que cela permet de prendre en compte de véritables caractéristiques géologiques, politiques et topologiques du réseau lors de la conception de systèmes fédérés tolérants aux pannes.
SYSTÈME DE RÉSOLUTION DE NOM FÉDÉRÉ
NameCoin est l’une des premières chaînes de blocs à tenter de résoudre le problème de la résolution de noms en adaptant la chaîne de blocs Bitcoin. Malheureusement, cette approche a posé plusieurs problèmes.
Avec Namecoin, nous pouvons vérifier que, par exemple, @satoshi a été enregistré avec une clé publique particulière à un moment donné dans le passé, mais nous ne saurions pas si la clé publique a été mise à jour récemment, à moins de télécharger tous les blocs depuis le téléchargement. dernière mise à jour de ce nom. Ceci est dû à la limitation du modèle Merkle-ization de transaction UTXO de Bitcoin, où seules les transactions (mais pas l’état d’application mutable) sont Merkle-isées dans le hachage de bloc. Cela nous permet de prouver l’existence, mais non la non-existence de mises à jour ultérieures d’un nom. Ainsi, nous ne pouvons pas connaître avec certitude la valeur la plus récente d’un nom sans faire confiance à un nœud complet ou sans encourir des coûts importants en bande passante en téléchargeant la blockchain complète.
Même si un arbre de recherche Merkle-ised était implémenté dans NameCoin, sa dépendance à la preuve de travail rend problématique la vérification du client léger. Les clients légers doivent télécharger une copie complète des en-têtes de tous les blocs de la blockchain (ou du moins de tous les en-têtes depuis la dernière mise à jour vers un nom). Cela signifie que les besoins en bande passante varient linéairement avec le temps [21] . De plus, les changements de nom dans une chaîne de blocs de preuve de travail nécessitent l’attente de blocs de confirmation de preuve de travail supplémentaires, ce qui peut prendre jusqu’à une heure en Bitcoin.
Avec Tendermint, tout ce dont nous avons besoin est le dernier hachage de bloc signé par un quorum de validateurs (par le pouvoir de vote) et une preuve Merkle à la valeur actuelle associée au nom. Cela permet d’effectuer une vérification succincte, rapide et sécurisée des valeurs de nom par le client léger.
Dans Cosmos, nous pouvons prendre ce concept et l’étendre davantage. Chaque zone d’enregistrement de nom dans Cosmos peut avoir un nom de domaine de premier niveau associé, tel que «.com» ou «.org», et chaque zone d’enregistrement de nom peut avoir ses propres règles de gouvernance et d’enregistrement.