Actu-crypto

🔒
❌ About FreshRSS
There are new articles available, click to refresh the page.
Before yesterdayblogchain café

Cosmos : Cas d’utilisation et intégration

September 2nd 2019 at 17:18

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.

Cosmos : Tendermint et le Hub

July 19th 2019 at 15:49

Suite à l’article introductif sur Cosmos, nous allons approfondir certains points en une série de 4 articles.

Dans ce premier article détaillé nous développerons :

  • Les différents composants de Tendermint
  • Le Hub Cosmos
  • Les zones de Cosmos
  • La communication inter-blockchain

Rappelons tout d’abord que Cosmos est un réseau de blockchains indépendantes, appelées zones, alimentées et soutenues par Tendermint Core, un moteur de consensus de type PBFT à haute performance et sécurisé. Un algorithme de consensus pour toutes les zones qui assure une bonne scalabilité des blockchains connexes.

La première zone sur Cosmos s’appelle le Cosmos Hub. Très attendue elle a été lancée en Mars 2019. Le Cosmos Hub est une crypto-monnaie de preuve d’enregistrement multi-actifs avec un mécanisme de gouvernance simple qui permet au réseau de s’adapter et de se mettre à niveau. De plus, le hub Cosmos peut être étendu en connectant d’autres zones.

Le concentrateur et les zones du réseau Cosmos communiquent entre eux via un protocole de communication inter-blockchain (IBC), une sorte de protocole UDP ou TCP virtuel pour les chaînes de blocs. Les jetons peuvent être transférés d’une zone à une autre rapidement et en toute sécurité, sans qu’il soit nécessaire de disposer de liquidités d’échange entre zones. Au lieu de cela, tous les transferts de jetons entre zones passent par le hub Cosmos, qui enregistre le nombre total de jetons détenus par chaque zone. Le concentrateur isole chaque zone de la défaillance d’autres zones. Étant donné que tout le monde peut connecter une nouvelle zone au Cosmos Hub, les zones permettent une compatibilité future avec les nouvelles innovations de la chaîne de blocs.

Tendermint

Dans cette section, nous décrirons le protocole de consensus Tendermint et l’interface utilisée pour créer des applications avec ce protocole. Pour plus de détails, voir l’annexe .

VALIDATEURS

Dans les algorithmes byzantins classiques à tolérance de pannes (BFT), chaque nœud a le même poids. Dans Tendermint, les nœuds ont un pouvoir de vote non négatif, et les nœuds ayant un pouvoir de vote positif sont appelés des validateurs. Les validateurs participent au protocole de consensus en diffusant des signatures cryptographiques, ou votes, afin de convenir du bloc suivant.

Les pouvoirs de vote des validateurs sont déterminés à la genèse ou sont modifiés de manière déterministe par la blockchain, en fonction de l’application. Par exemple, dans une application de preuve de participation telle que le Cosmos Hub, le nombre de voix au vote peut être déterminé par le nombre de jetons de jalonnement cautionné.

REMARQUE: Les fractions comme ⅓ se rapportent à des fractions du nombre total de voix attribuées, jamais au nombre total de validateurs, à moins que tous les validateurs aient le même poids. > Signifie “plus que”, ≥⅓ signifie “au moins”.

CONSENSUS

Tendermint est un protocole de consensus BFT partiellement synchrone dérivé de l’algorithme de consensus DLS [20] . Tendermint se distingue par sa simplicité, ses performances et son sens des responsabilités. Le protocole nécessite un ensemble connu de validateurs fixes, chaque validateur étant identifié par sa clé publique. Les validateurs tentent de parvenir à un consensus sur un bloc à la fois, un bloc étant une liste de transactions. Le vote pour un consensus sur un bloc se déroule en tour. Chaque tour a un chef de file, ou un proposant, qui propose un bloc. Les validateurs votent ensuite, par étapes, sur l’opportunité d’accepter le bloc proposé ou de passer au tour suivant. Le proposant pour un tour est choisi de manière déterministe dans la liste ordonnée de validateurs, proportionnellement à leur pouvoir de vote.

Les détails complets du protocole sont décrits ici.

La sécurité de Tendermint découle de son utilisation de la tolérance aux pannes byzantine optimale via un vote à la super-majorité (> ⅔) et un mécanisme de verrouillage. Ensemble, ils s’assurent que :

  • ≥⅓ le droit de vote doit être byzantin pour causer une violation de la sécurité lorsque plus de deux valeurs sont commises.
  • Si un groupe de validateurs réussit à violer la sécurité, ou même tente de le faire, il peut être identifié par le protocole. Cela inclut à la fois le vote pour des blocs en conflit et la diffusion de votes non justifiés.

Malgré ses fortes garanties, Tendermint offre des performances exceptionnelles. Sur les benchmarks de 64 nœuds répartis sur 7 centres de données sur 5 continents, sur des instances de cloud computing standard, Tendermint Consensus peut traiter des milliers de transactions par seconde, avec des latences de validation de l’ordre de une à deux secondes. Il est à noter que la performance de plus de mille transactions par seconde est maintenue même dans des conditions de confrontation sévères, les validateurs bloquant ou diffusant des votes conçus de manière malveillante. Voir la figure ci-dessous pour plus de détails.

Figure de la performance de débit de Tendermint

CLIENTS LÉGERS

L’un des principaux avantages de l’algorithme de consensus de Tendermint est la sécurité simplifiée des clients légers, ce qui en fait un candidat idéal pour les cas d’utilisation mobile et d’Internet des objets. Alors qu’un client Bitcoin light doit synchroniser les chaînes d’en-têtes de bloc et trouver celui qui contient le plus de preuves de travail, les clients Tendermint light doivent uniquement suivre les modifications apportées à l’ensemble des validateurs, puis vérifier les >⅔ PreCommits du dernier bloc pour déterminer le dernier état.

Les épreuves de client léger succinctes permettent également la communication entre les chaînes de blocs.

PRÉVENIR LES ATTAQUES

Tendermint dispose de mesures de protection pour empêcher certaines attaques notables, telles que la double dépense à long terme et rien en jeu et la censure. Celles-ci sont développées plus en détail en annexe.

ABCI

L’algorithme de consensus Tendermint est implémenté dans un programme appelé Tendermint Core. Tendermint Core est un «moteur de consensus» indépendant de toute application et capable de transformer toute application Blackbox déterministe en une chaîne de blocs répliquée de manière distribuée. Tendermint Core se connecte aux applications de la blockchain via l’interface ABCI (Application Blockchain Interface) [17]. ABCI est une interface qui définit la limite entre le moteur de réplication (la chaîne de blocs) et la machine à états (l’application). En utilisant un protocole de socket, nous permettons à un moteur de consensus s’exécutant dans un processus de gérer un état d’application s’exécutant dans un autre. Ainsi, ABCI permet aux applications blockchain d’être programmées dans n’importe quel langage, pas seulement le langage de programmation dans lequel le moteur de consensus est écrit. En outre, ABCI permet de remplacer facilement la couche consensus de toute pile de blockchain existante.

Nous faisons une analogie avec la célèbre crypto-monnaie Bitcoin. Bitcoin est une chaîne de blocs de crypto-monnaie dans laquelle chaque nœud conserve une base de données UTXO (Unspent Transaction Output) entièrement auditée. Si on voulait créer un système semblable à Bitcoin sur ABCI, Tendermint Core serait responsable de :

  • Partage de blocs et de transactions entre nœuds
  • Établir un ordre canonique / immuable de transactions (la blockchain)

Pendant ce temps, l’application ABCI serait responsable de

  • Maintenir la base de données UTXO
  • Validation des signatures cryptographiques des transactions
  • Empêcher les transactions de dépenser des fonds inexistants
  • Autoriser les clients à interroger la base de données UTXO

Tendermint est capable de décomposer la conception de la blockchain en proposant une API très simple entre le processus de candidature et le processus de consensus.

Cosmos, vue d’ensemble

Cosmos est un réseau de blockchains parallèles indépendantes, toutes alimentées par des algorithmes de consensus BFT classiques tels que Tendermint 1.

La première blockchain de ce réseau sera le hub Cosmos. Le hub Cosmos se connecte à de nombreuses autres chaînes de blocs (ou zones) via un nouveau protocole de communication inter-chaînes. Le hub Cosmos suit de nombreux types de jetons et enregistre le nombre total de jetons dans chaque zone connectée. Les jetons peuvent être transférés d’une zone à une autre rapidement et en toute sécurité, sans qu’il soit nécessaire de procéder à un échange de liquide entre zones, car tous les transferts de jetons entre zones passent par le hub Cosmos.

Cette architecture résout de nombreux problèmes auxquels l’espace de la blockchain est confrontée, tels que l’interopérabilité des applications, leur évolutivité et leur évolutivité transparente. Par exemple, des zones dérivées de Bitcoind, de Go-Ethereum, de CryptoNote, de ZCash ou de n’importe quel système blockchain peuvent être connectées au Cosmos Hub. Ces zones permettent à Cosmos de s’adapter à l’infini pour répondre à la demande de transactions mondiale. Les zones conviennent également parfaitement pour un échange distribué, qui sera également pris en charge.

Cosmos n’est pas un simple grand livre distribué, et le Hub Cosmos n’est pas un jardin clos ou le centre de son univers. Nous concevons un protocole pour un réseau ouvert de grands livres distribués pouvant servir de nouvelle base pour les futurs systèmes financiers, reposant sur les principes de la cryptographie, des principes économiques sains, de la théorie du consensus, de la transparence et de la responsabilité.

TENDERMINT-BFT

Cosmos Hub est la première blockchain publique du réseau Cosmos, optimisée par l’algorithme de consensus BFT de Tendermint. Le projet open source Tendermint a été créé en 2014 pour traiter les problèmes de rapidité, d’évolutivité et d’environnement de l’algorithme de consensus de validation de travail de Bitcoin. En utilisant et en améliorant les algorithmes BFT éprouvés développés au MIT en 1988 [20], l’équipe Tendermint a été la première à démontrer de manière conceptuelle une crypto-monnaie de preuve d’enjeu qui résout le problème du non-en-jeu subi par la preuve de la première génération des crypto-monnaies telles que NXT et BitShares1.0.

Aujourd’hui, pratiquement tous les portefeuilles mobiles Bitcoin utilisent des serveurs de confiance pour leur permettre de vérifier les transactions. En effet, la validation du travail nécessite l’attente de nombreuses confirmations avant qu’une transaction puisse être considérée comme irréversiblement engagée. Des attaques à double dépense ont déjà été démontrées sur des services tels que CoinBase.

Contrairement aux autres systèmes de consensus blockchain, Tendermint offre une vérification instantanée et sécurisée du paiement des clients mobiles. Etant donné que Tendermint est conçu pour ne jamais faire de fourchette, les portefeuilles mobiles peuvent recevoir une confirmation de transaction instantanée, ce qui permet aux paiements sans confiance et pratiques de devenir une réalité sur les smartphones. Cela a également des conséquences importantes pour les applications de l’Internet des objets.

Les validateurs dans Cosmos ont un rôle similaire à celui des mineurs Bitcoin, mais utilisent plutôt des signatures cryptographiques pour voter. Les validateurs sont des machines sécurisées et dédiées, responsables de la validation des blocs. Les non-validateurs peuvent déléguer leurs jetons de jalonnement (appelés «atomes») à tous validateur afin de gagner une partie des honoraires forfaitaires et des récompenses atomiques, mais ils courent le risque de se faire punir si le validateur délégué se fait pirater ou enfreint le protocole. Les garanties de sécurité éprouvées de Tendermint BFT consensus et le dépôt de garantie des parties prenantes (validateurs et mandataires) fournissent une sécurité quantifiable et prouvable pour les nœuds et les clients légers.

LA GOUVERNANCE

Les grands livres publics distribués devraient avoir une constitution et un système de gouvernance. Bitcoin s’appuie sur Bitcoin Foundation et sur l’exploitation pour coordonner les mises à niveau, mais le processus est lent. Ethereum s’est scindé en ETH et ETC après avoir tenté de résoudre le problème de TheDAO, en grande partie parce qu’il n’existait auparavant aucun contrat social ni aucun mécanisme permettant de prendre de telles décisions.

Les validateurs et les mandataires du Cosmos Hub peuvent voter sur des propositions pouvant modifier automatiquement les paramètres prédéfinis du système (comme la limite de gaz en bloc), coordonner les mises à niveau, ainsi que voter sur les amendements à la constitution lisible par l’homme qui régissent les règles du système Cosmos Hub. La constitution permet la cohésion des parties prenantes sur des questions telles que le vol et les bugs (tels que l’incident TheDAO), permettant ainsi une résolution plus rapide et plus propre.

Chaque zone peut également avoir sa propre constitution et son propre mécanisme de gouvernance. Par exemple, le Cosmos Hub peut avoir une constitution qui impose l’immuabilité sur le Hub (pas de restauration, à l’exception des bogues de l’implémentation du nœud Cosmos Hub), tandis que chaque zone peut définir ses propres règles en matière de restauration.

En permettant l’interopérabilité entre différentes zones politiques, le réseau Cosmos offre à ses utilisateurs une liberté ultime et un potentiel d’expérimentation sans autorisation.

Le hub et les zones

Nous décrivons ici un nouveau modèle de décentralisation et d’évolutivité. Cosmos est un réseau de nombreuses blockchains alimentées par Tendermint. Alors que les propositions existantes visent à créer une «chaîne de blocs unique» avec un ordre de transaction global total, Cosmos permet à plusieurs chaînes de blocs de s’exécuter simultanément tout en maintenant l’interopérabilité.

À la base, le Cosmos Hub gère de nombreuses chaînes de blocs indépendantes appelées «zones» (parfois appelées «fragments», en référence à la technique de mise à l’échelle de la base de données appelée «partage»). Un flux constant de commits de blocs récents à partir des zones postées sur le hub permet au hub de suivre l’état de chaque zone. De même, chaque zone suit l’état du hub (mais les zones ne se suivent pas entre elles, sauf indirectement via le hub). Des paquets d’informations sont ensuite communiqués d’une zone à une autre en affichant des preuves Merkle comme preuve que les informations ont été envoyées et reçues. Ce mécanisme est appelé communication inter-blockchain, ou IBC en abrégé.

Figure de moyeu et de reconnaissance de zones

Chacune des zones peut être elle-même un concentrateur pour former un graphe acyclique, mais dans un souci de clarté, nous ne décrirons que la configuration simple comportant un seul concentrateur et de nombreuses zones autres que des concentrateurs.

LE HUB

Cosmos Hub est une blockchain qui héberge un grand livre distribué multi-ressources, dans lequel les jetons peuvent être détenus par des utilisateurs individuels ou par des zones elles-mêmes. Ces jetons peuvent être déplacés d’une zone à l’autre dans un paquet IBC spécial appelé «paquet de pièces». Le concentrateur est responsable de la préservation de l’invariance globale de la quantité totale de chaque jeton dans les zones. Les transactions par paquets de pièces IBC doivent être validées par les chaînes de blocs expéditeur, concentrateur et destinataire.

Étant donné que le hub Cosmos joue le rôle de grand livre central pour l’ensemble du système, la sécurité du hub revêt une importance primordiale. Bien que chaque zone puisse constituer une suite de chaînes Tendermint sécurisée par 4 personnes au maximum (voire moins si le consensus BFT n’est pas nécessaire), le Hub doit être sécurisé par un ensemble de validateurs globalement décentralisés pouvant résister aux scénarios d’attaques les plus sévères, tels que comme une partition de réseau continental ou une attaque parrainée par un État-nation.

LES ZONES

Une zone Cosmos est une blockchain indépendante qui échange des messages IBC avec le Hub. Du point de vue du concentrateur, une zone est un compte à signatures multiples à adhésion dynamique multi-ressources pouvant envoyer et recevoir des jetons à l’aide de paquets IBC. À l’instar d’un compte de crypto-monnaie, une zone ne peut pas transférer plus de jetons qu’elle en a, mais peut en recevoir d’autres de ceux qui en ont. Une zone peut être désignée comme «source» d’un ou de plusieurs types de jetons, ce qui lui donne le pouvoir de gonfler cette offre de jetons.

Les validateurs d’une zone connectée au hub peuvent jalonner les atomes du hub Cosmos. Tandis que des attaques à double dépense sur ces zones entraîneraient la réduction d’atomes avec la responsabilité de Tendermint, une zone où >⅔ des droits de vote sont byzantins peut commettre un état invalide. Cosmos Hub ne vérifie ni n’exécute pas les transactions validées sur d’autres zones. Il incombe donc aux utilisateurs d’envoyer des jetons aux zones auxquelles ils font confiance. À l’avenir, le système de gouvernance du Cosmos Hub pourrait donner lieu à des propositions d’amélioration du Hub prenant en compte les défaillances de zone. Par exemple, les transferts de jetons sortants de certaines (ou de toutes) zones peuvent être limités afin de permettre la coupure de circuit d’urgence des zones (arrêt temporaire des transferts de jetons) lorsqu’une attaque est détectée.

Communication inter-blockchain (IBC)

Nous allons maintenant voir comment le hub et les zones communiquent entre eux. Par exemple, s’il existe trois blockchains, «Zone1», «Zone2» et «Hub», nous souhaitons que «Zone1» produise un paquet destiné à «Zone2» passant par «Hub». Pour déplacer un paquet d’une blockchain à une autre, une épreuve est postée sur la chaîne de réception. La preuve indique que la chaîne d’envoi a publié un paquet pour la destination alléguée. Pour que cette chaîne vérifie cette épreuve, la chaîne destinataire doit pouvoir suivre les en-têtes de bloc de l’expéditeur. Ce mécanisme est similaire à celui utilisé par sidechains, qui nécessite que deux chaînes en interaction se connaissent via un flux bidirectionnel de datagrammes de preuve d’existence (transactions).

Le protocole IBC peut naturellement être défini en utilisant deux types de transactions : une IBCBlockCommitTxtransaction, qui permet à une chaîne de blocs de prouver à tout observateur son dernier bloc de hachage, et une IBCPacketTxtransaction, qui permet à une chaîne de blocs de prouver à tout observateur que le paquet donné a bien été publié par l’application de l’expéditeur, via un code Merkle-proof au récent block-hash.

En scindant les mécanismes IBC en deux transactions distinctes, nous permettons au mécanisme de marché des taxes natif de la chaîne de réception de déterminer les paquets à valider (c’est-à-dire accusés de réception), tout en laissant une totale liberté sur la chaîne d’envoi quant au nombre de paquets sortants autorisés. .

Figure des zones IBC Zone1, Zone2 et Hub sans accusé de réception

Dans l’exemple ci-dessus, pour mettre à jour le hachage de bloc de «Zone1» sur «Hub» (ou de «Hub» sur «Zone2»), une IBCBlockCommitTx transaction doit être enregistrée sur «Hub» avec le hachage de bloc de «Zone1 ”(Ou sur“ Zone2 ”avec le bloc-hash de“ Hub ”).

Voir IBCBlockCommitTx et IBCPacketTx pour plus d’informations sur les deux types de transaction IBC.

CoinJoin et opacité des transactions bitcoin

July 15th 2019 at 11:26

Le protocole Bitcoin consiste en des transactions entièrement publiques sur la blockchain, ainsi tout utilisateur peut connaître les adresses réceptrices et émettrices d’une transaction. Les utilisateurs n’ont pas nécessité de s’identifier mais reçoivent une clé publique visible sur la blockchain. L’utilisateur n’est alors connu publiquement que par son pseudonyme.

Deux points concernant la protection des information sont critiquable dans ce modèle.

  • Si certaines de ces adresses sont liées à des identités réelles, la nature de la transaction ainsi que l’identité des utilisateurs est révélée. Ceci représente un atteinte à la protection des ses données privées et digitales. Si il reste fort improbable de connaître l’identité d’une personne avec pour unique information sa clé publique, les gros acteurs pouvant implémenter de l’AI derrière nos activités web (Google en premier) peuvent plus facilement déduire des identités réelles.
  • Chaque transaction nécessite une ou plusieurs entrées et sorties, en référence aux adresses à partir desquelles les bitcoins sont envoyés. Les entrées symbolisent la provenance des fonds et les sorties leur destination. Cela pose un autre problème de confidentialité, car toutes les adresses d’entrée appartiennent généralement au même utilisateur : l’expéditeur de la transaction. Si il s’avérait que parmi l’ensemble d’adresse d’entrée, une liée à une identité réelle venait à être découverte, l’ensemble des adresses seraient alors connues. C’est pourquoi la bonne pratique serait d’utiliser une adresse unique pour chaque transaction.

Explication d’une transaction bitcoin classique sans CoinJoin

Lors d’une transaction, chaque entrée utilise la sortie d’une autre transaction. Si une sortie est considérée comme non utilisée alors elle représente des bitcoin en circulation. Le système de transactions de Bitcoin est entièrement basé sur les sorties non dépensées, appelées couramment UTXO (Unspent Transaction Outputs). Lorsque des bitcoin auparavant en circulation seront achetés, alors les UTXO seront consommés et de nouveaux UTXO vont être créés.

Transaction Bitcoin classique

Développons l’exemple d’une transaction classique entre un utilisateur A possédant 50 bitcoin et souhaitant en transférer 30 à un utilisateur B.

  • L’utilisateur A consomme un UTXO (entrée 1) de 50 bitcoins et créer deux UTXO : sortie 1 (30 bitcoin) et sortie 2 (20 bitcoin).
  • L’utilisateur B recevra alors les 30 bitcoin par la sortie A et l’utilisateur A récupérera ses 20 bitcoin par la sortie 2.

Le concept de CoinJoin

Annonce du lancement de CoinJoin sur le compte Twitter @blockchain

CoinJoin, proposé en 2013 par Gregory Maxwell, développeur de Bitcoin Core et Blockstream , est conçu pour résoudre ces deux problèmes. L’idée est de permettre de brouiller les pistes bitcoins et supprime l’hypothèse selon laquelle toutes les adresses d’entrée appartiennent au même utilisateur.

CoinJoin permet à plusieurs utilisateurs de regrouper les entrées et sorties de plusieurs transactions en une seule. Cette transaction dépense des bitcoins de différentes adresses à différentes adresses. Aucune des adresses d’envoi ne paye aucune des adresses de réception: il n’y a pas de lien entre elles.

Contrairement aux méthodes utilisées par Monero et par ZCash qui rendent les opérations totalement opaques par des opérations internes au protocole, CoinJoin agit en tant que surcouche et ne nécessite donc d’aucune modification des règles de consensus.

Transaction Bitcoin avec CoinJoin

Développons l’exemple d’une transaction CoinJoin entre un utilisateur A possédant 50 bitcoin et un utilisateur B possédant 30 bitcoin. Dans soucis d’anonymat de la transaction, trois entrées et trois sorties sont crées.

  • Entrée 1 : B envoie 20 bitcoin à A (sortie 1)
  • Entrée 2 : A envoie 30 bitcoin à B (sortie 2) et récupère 20 bitcoin (sortie 3)
  • Entrée 3 : B envoie 10 bitcoin à A (sortie 1)

Grâce à cette méthode, les transactions s’avèrent être brouillées comme en démontre les deux sorties de 30 bitcoins que rien ne différencient. Il convient d’admettre que plus l’opération est répétée à de multiples reprises avec de nombreux utilisateurs, plus les transactions sont brouillées.

Ainsi nous pouvons résumer les deux avantages principaux :

  • Réductions des frais, au lieu d’avoir n transactions il n’en existe qu’une, dont les frais sont partagés entre les différents participants.
  • Augmentation de la confidentialité, le regroupement de plusieurs participants permet de dissocier les origines, destinations et montants au sein de la transaction.

Wasabi Wallet, version décentralisée

L’équipe de Wasabi Wallet, en collaboration avec des utilisateurs de Reddit, a réalisé la plus grande transaction groupée sur Bitcoin (BTC). Ce sont ainsi 100 transactions qui ont été agrégées par « CoinJoin ».

Selon Adam Fiscor, le directeur technique (CTO) de zkSNACKs (qui a développé le Wasabi Wallet), c’est actuellement « le plus grand CoinJoin qui peut être fait sur le réseau bitcoin ».

Wasabi Wallet fut lancé en octobre 2018 dans le but de rendre CoinJoin plus accessible et pratique pour un utilisateur classique. Ajoutant des fonctionnalités de sécurité, de confidentialité et d’expérience utilisateur en avril 2019, les statistiques github du projet indiquent déjà plus de 33.000 téléchargements d’utilisateurs. La société affirme avoir rendu plus de 30.000 bitcoins échangeable via sa plate-forme, ce qui représente 281,2 millions de dollars au cours actuel, ces chiffres mettent en évidence l’importance croissante de CoinJoin.

Le Wasabi Wallet est la version décentralisée de CoinJoin, c’est ce qui en fait sa particularité et son autorisation.

Le 22 mai 2019, les autorités néerlandaises ont décidé de fermer le site Bestmixer.io dans le cadre d’une opération conjointe avec les services de police de plusieurs pays européens, notamment la France, la Lettonie et le Luxembourg. Suite aux préoccupations soulevées à l’origine par la société de sécurité en ligne McAfee en 2018, le FIOD a affirmé que le service avait été utilisé pour le blanchiment d’argent.

McAfee a également publié son propre rapport sur l’action de la FIOD contre Bestmixer, décrivant les connexions possibles du site avec la cybercriminalité et son utilisation comme un moyen facile de blanchir de l’argent.

La technique de «blanchiment de bitcoins» décrite par McAfee a été utilisée de la même manière que le protocole CoinJoin, qui permet à plusieurs utilisateurs de regrouper les transactions en un seul groupe, brouillant les fonds et masquant les liens entre les adresses d’envoi et de réception. La principale différence entre les deux réside dans le fait que Bestmixer était un service de garde centralisé et explicitement annoncé comme un moyen de blanchir des Bitcoin à des fins illégales, tandis que le mélange de CoinJoin est géré par l’utilisateur et présenté uniquement comme un mécanisme renforçant la confidentialité.

Quelques statistiques des transactions CoinJoin

Selon une étude publiée par Longhash le 29 avril 2019, l’utilisation relative de CoinJoin parmi toutes les transactions en bitcoins a triplé en un an, se situant actuellement à 4,09%.

La société est désormais responsable de plus d’une transaction sur 25 en bitcoin utilisant la technologie CoinJoin.

CoinJoin n’est pas la seule manière de faire circuler de crypto de manière privée. Nous listons ici quelques alternatives.

MimbleWimble

Mimblewimble se base sur les idées de Blockstream Confidential Transaction et ajoute, toujours pour le bitcoin, la possibilité de combiner les transactions les unes avec les autres, de supprimer les « outputs » qui ne sont plus dépensables (spent UTXO) pour ne garder que les « outputs » non dépensés réduisant de ce fait considérablement la taille totale de la chaîne.

Cette capacité à réduire la taille de la blockchain est nécessaire dans le cadre des transactions confidentielles : le fait de masquer le montant des transactions crée de nouvelles informations liées à la transaction et qui permettent de s’assurer que le montant de l’output ne se comporte pas comme un montant négatif. Ce qui permettrait une attaque visant à créer de la monnaie.

MimbleWimble permet donc aux nouveaux arrivants sur le réseau de ne pas télécharger l’historique des outputs passées (dépensées) et de supprimer les « inputs » pour ne conserver que les « unspent outputs » et les inputs de création monétaire.

Les solutions crypto à part entière : Monero et Zcash

Monero

Monero possède un ensemble de fonctionnalités qui en font une des crypto-monnaies les plus privée à ce jour. Voici ce qui rend Monero si privé : adresses discrètes, signatures ring (mélange les clés publiques des utilisateurs afin d’éliminer la possibilité d’identifier un utilisateur particulier), implémentation de Kovri I2P et équipe de développement de premier ordre.

Adresses discrètes

Les transactions sur le réseau Monero sont effectuées avec des adresses à usage unique conçues pour masquer la destination d’une transaction.

Disons qu’un utilisateur A envoie 15 XMR à l’adresse du portefeuille public de l’utilisateur B. Lorsqu’elle génère la transaction dans son portefeuille, le protocole Monero génère automatiquement une adresse unique (adresse d’intermédiaire anonyme) à laquelle envoyer les 15 XMR.

À ce stade, l’utilisateur B peut accéder aux 15 XMR dans l’adresse du portefeuille via la clé de dépense privée de son portefeuille.

Notez que les adresses de portefeuille de A et de B ne sont jamais directement liées dans cette transaction. C’est ainsi que les adresses discrètes fournissent des liens incompatibles entre l’émetteur et le destinataire.

Les signatures Ring

Pour masquer l’origine d’une transaction, le réseau Monero utilise des signatures ring pour effectuer le mélange des transactions. Lorsqu’une transaction Monero est générée, le protocole mélange automatiquement la transaction de l’expéditeur avec d’autres entrées de transaction utilisables sur le réseau.

Le nombre d’entrées mixtes, également appelé «niveau de mixage», peut être spécifié lors de la génération d’une transaction, et un niveau de mixage supérieur permet d’obtenir une transaction plus sécurisée avec des frais plus élevés.

Pour quelqu’un qui visualise la blockchain Monero, l’une de ces entrées peut être l’entrée de l’expéditeur réel. Monero va encore plus loin dans les signatures Ring avec Ring Ring (Ring Confidential Transactions).

RingCT masque le montant de XMR dans chaque transaction en appliquant une fonction mathématique de range proof à la transaction.

Dans ce système, les observateurs réseau et publics de la blockchain peuvent vérifier la validité du transfert XMR, mais seuls l’expéditeur et le destinataire peuvent voir le montant réel du transfert XMR. C’est ainsi que l’implémentation Ring Ring des signatures rend les transactions sur Monero introuvables.

L’implémentation Kovri I2P

Kovri est lié à I2P (Invisible Internet Project), une couche réseau open source permettant une utilisation hermétique du réseau, en acheminant le trafic vers des nœuds de volontaires à travers le monde.

Kovri est spécialement conçu pour chiffrer le trafic Monero et le router vers des nœuds I2P. En utilisant Kovri, l’adresse IP ne peut pas être liée aux transactions Monero, offrant ainsi un degré de confidentialité encore plus important.

Enfin, la caractéristique principale de Monero est le manque de confidentialité. Cela signifie que toutes les transactions sur le réseau Monero sont privées par défaut.

Décentralisation

Premièrement, Monero n’ayant pas réalisé d’ICO ni de pre-mine, les développeurs n’ont pas eu à miner avant d’ouvrir le projet au public. En conséquence, Monero a une distribution de token plus décentralisée que la plupart des autres crypto-monnaies.

Deuxièmement, Monero a programmé des forks rigides deux fois par an, ce qui permet aux développeurs du projet de modifier l’algorithme de consensus PoW pour contrer les mineurs ASIC. Les mineurs ASIC sont des puces matérielles optimisées pour hash un algorithme de consensus spécifique.

Monero rend ainsi risquée la centralisation de la puissance d’exploitation minière dans de grandes batteries de serveurs ASIC car elles pourraient être rendues obsolètes à la suite d’un nouvel algorithme de consensus. Monero incite les mineurs à créer des nœuds dans le monde entier, ce qui se traduit par une répartition géographique décentralisée du projet.

Zcash

Zcash est un fork du protocole Bitcoin avec l’ajout d’une couche de confidentialité via une preuve cryptographique appelée zk-SNARKs.

Privacy

Zcash assure la confidentialité via une implémentation de zk-SNARKs, qui signifie «Zero Knowledge Succinct Non-Interactive Argument of Knowledge».

Avec zk-SNARKs, Zcash peut vérifier les transactions sur la blockchain sans révéler leurs origines, destinations et montants transférés.

zk-SNARKS fonctionne comme une preuve mathématique qui permet à un «prouveur» de prouver l’authenticité d’une déclaration à un «vérificateur» sans révéler aucune information spécifique sur la déclaration autre son authenticité.

Fongibilité

Contrairement à Monero, Zcash possède deux types d’adresses : transparente et privée.

Les adresses de portefeuille transparentes commencent par t , alors que les adresses de portefeuille privées commencent par z .

Comme la fongibilité ne nécessite aucune connaissance de l’historique financier précédent, seules les transactions entre deux adresses z peuvent être considérées comme fongibles.

Notez que le déplacement d’une ZEC d’une adresse t vers une adresse z peut être utilisé comme une méthode de «protection» pour effacer l’essentiel de l’historique financier. Cela signifie que la ZEC peut devenir fongible après avoir été déplacée dans un portefeuille privé. Ainsi, Zcash peut être décrit comme une crypto-monnaie semi-fongible.

Décentralisation

Comme Monero, Zcash n’a pas réalisé d’ICO ni de pre-mine. Cependant, les fondateurs de Zcash ont crées une société appelée Zerocoin Electric Coin Company et ont reçu un financement à hauteur d’un million par des investisseurs privés.

Pour permettre aux investisseurs de la société d’avoir un ROI, Zcash distribue 20% des récompenses minières à ses fondateurs sur une période de quatre ans. La stratégie lucrative de la fondation Zcash est depuis longtemps critiquée pour sa structure centralisée.

Zcash est un fork de Bitcoin, mais utilise un algorithme de consensus PoW différent appelé Equihash. Bitmain a annoncé la publication d’un mineur d’ASIC compatible avec Equihash, qui ouvre l’avenir de Zcash à une centralisation similaire à celle de Bitcoin. Zcash a répondu avec l’intention d’étudier les effets potentiels de l’extraction minière d’ASIC sur le réseau.

Une révolution financière à venir…

Aujourd’hui, dans le cadre d’une transaction financière classique c’est à dire bancaire, PayPal etc… le service en charge est en mesure de tracer les données de la transaction, les habitudes d’achats ainsi que la balance bancaire finale.

Ainsi, dans ce système classique, l’utilisateur n’est qu’un gestionnaire de ses fonds mais n’en est pas le seul propriétaire.

L’idée développée par Wasabi Wallet et CoinJoin n’est donc pas de recréer la privacy traditionnelle des transactions bancaires mais plutôt de développer une privacy totale pour l’utilisateur contre Wasabi lui même. Ainsi, dans ce modèle, l’utilisateur rend sa transaction privée pour les autres utilisateurs mais aussi pour Wasabi qui se voit être incapable de tracer ni les montants, ni les destinataires.

Ce système autonome ouvre la voie à une nouvelle gouvernance économique : celle par l’utilisateur.

En effet, ce modèle où l’utilisateur est 100% autonome, propriétaire et gestionnaire de ses fonds sans qu’une entité puisse disposer d’un droit de regard sur son patrimoine est inédit. Cette amélioration du protocole Bitcoin permet ainsi de supprimer tout type d’intermédiaire entre deux utilisateurs. L’exchange classique ne dispose plus d’accès aux transactions de ses utilisateurs, les frais sont considérablement réduits et le dispositif est autonome.

Un risque averé est celui des attaques Sybil. Plusieurs participants à une transaction CoinJoin peuvent en réalité être une seule et même entité, surveillant un participant particulier. Si neuf entrées et sorties sur dix appartiennent à un seul agent NSA envoyant des bitcoins à lui-même, il sera en mesure relier la sortie restante à son destinataire

Toutefois, malgré quelque faiblesse nous pouvons dire que plus il y aura d’utilisateurs de CoinJoin, meilleure sera la privacy et plus rapides seront les transactions.

CoinJoin remet déjà en discussion le monde bancaire existant dans la validation d’une transaction entre deux utilisateurs. CoinJoin étant également open source, il est inévitable que des améliorations seront crées pour rendre son système de plus en plus autonome.

Néanmoins cette révolution pose le problème des règles KYC/AML. Un utilisateur étant à même d’envoyer ses fonds à un autre sans qu’un régulateur puisse en contrôler ni l’origine ni la provenance représente un danger. TEchniquement il peut être impossible ou très compliqué pour un état de bloquer ou interdire son utilisation .

Conclusion

Ce système (et les solutions similaires) sont potentiellment amenées à créer les bases d’une économie mondiale nouvelle où l’utilisateur est souverain et non l’organisme bancaire ou étatique. D’un point de vue strictement technique, sans rentrer dans des considérations légales, si cette technologie est utilisée de manière décentralisée elle est aussi virtuellement impossible à bannir. C’est là la seule condition.

Google Cloud intègre l’Oracle décentralisé Chainlink et sa blockchain.

June 28th 2019 at 15:30

L’équipe Google Cloud a intégré le middleware oracle de Chainlink à son stock de données cloud BigQuery, ce qui permet une interaction entre blockchain et cloud pour des applications décentralisées Ethereum qui exécutent des smart-contract. La nouvelle a été annoncée dans un rapport de développement officiel de Google publié le 13 juin et sur les réseau sociaux par Chainlink.

L’annonce officielle via twitter, côté Chainlink.

Après Microsoft qui avait proposé son système d’ID mondial sur bitcoin et Facebook avec son projet Libra, cette nouvelle intégration montre encore une fois que les géants technologiques dans le monde comprennent la rupture majeure que la blockchain apporte et commencent à opérer dans le secteur des crypto-monnaies, au sens large.

Un lien existe désormais entre les blockchain et les services Cloud. Cette annonce est tellement innovante qu’elle a permis à LINK d’atteindre un nouveau sommet sans précédent, avec une hausse de 70% en moins d’une heure, après publication.

Qu’est ce qu’un Oracle ?

La blockchain ne permet pas la collecte de données depuis une source externe. En effet, chaque utilisateur de blockchain doit pouvoir reconstituer à n’importe quel moment les différentes transactions qui s’y sont déroulées afin d’en vérifier l’intégrité. Pour cela, chaque bloc de transactions est lié au suivant par son empreinte ou hash, qui permet d’établir la continuité de la blockchain.

Que se passe-il si le protocole d’une blockchain fait appel à un service extérieur ? L’une des transactions d’un bloc X sera dépendante du contenu de ce service externe. A chaque fois qu’une personne téléchargera la blockchain, un nouvel appel sera effectué à ce service externe. Cela pose deux problèmes majeurs :

  • Une charge trop importante pour le service
  • La confiance envers le service externe car si il est hors ligne, piraté ou répond à une autre donnée, la résolution du bloc X diffère de la première fois. Son contenu et donc son empreinte n’est plus identique, et le lien entre lui et le bloc X+1 n’est plus valide. L’ensemble de la blockchain créée après ce bloc ne peut alors plus être vérifiée et l’immutabilité de la blockchain est remise en cause.

L’Oracle, est un service chargé d’entrer manuellement une donnée extérieure dans la blockchain. A l’instant T, qui aura été défini à l’avance, le service va récupérer l’information qui lui a été demandée et l’insère dans la blockchain à l’endroit qui lui a été désigné. Lorsque le smart-contract qui requiert cette donnée s’exécute (après l’instant T), il va chercher la donnée sur la blockchain, à l’adresse prévue, et s’exécute en fonction de cette donnée.

En tant que middleware, l’oracle de Chainlink se trouve alors à servir de passerelle d’échange d’informations entre les deux différents réseaux principaux la blockchain ETH d’un côté et le Cloud de BigQuery de l’autre.

L’Oracle ChainLink est un mécanisme DECENTRALISE qui détecte et vérifie les occurrences du monde réel et ajoute ces informations à la blockchain pour qu’elles soient utilisées dans des smart contracts.

Le lien entre le cloud et la blockchain

Schéma de lien entre le Google Cloud et la blockchain
Source : publication officielle Google Cloud – 13 Juin
  1. Les DApps d’Ethereum formulent une demande d’accès aux données à Chainlink, qui à son tour récupère les données d’un service web construit avec Google App Engine et BigQuery.
  2. Pour récupérer les données de BigQuery, une DApp doit donc appeler le contrat Chainlink Oracle correspondant, en incluant le paiement de la demande à traiter.
  3. Les nœuds Chainlink sont en charge de la surveillance de ces requêtes, jusqu’à ce que l’évènement se réalise et qu’un de ses nœuds exécute la tâche demandée. Google App Engine récupère alors les données de BigQuery, qui héberge les ensembles de données dans son Cloud.

Cas d’utilisation

Google Cloud propose l’utilisation des services Chainlink pour interagir avec les données publiques du Cloud. Notamment les données de l’outil BigQuery deviennent disponibles dans un smart contract Ethereum. Cette technique peut être utilisée pour réduire les inefficacités et de nouvelles fonctionnalités voient le jour dans Ethereum

  • Amélioration de la confidentialité de certaines transactions
  • Possibilité de masquer des transactions en les rendant anonymes
  • Possibilité de régler les paris spéculatifs sur les marchés de prédiction, tels que Augur
  • Possibilité de tirer pleinement parti de la technologie du Cloud
  • Exploitation pour la première fois d’un pont fiable cloud-blockchain
  • Essor de nouveaux business-models blockchain

Conclusion

Google prévoit que cette technique d’interopérabilité amènera les développeurs à créer des applications hybrides optimisant les fonctionnalités des plates-formes de smart-contract et cloud. Par ailleurs, l’objectif futur est d’intégrer les services ML de Google Cloud Platform (par exemple, les API AutoML et Inference).

Chainlink est donc un fournisseur de données blockchain qui récupère des tas de données in-chain et off-chaine pour une exécution dans des smart contracts. Son intégration de la part d’un des quatre GAFA crée pour la première fois un pont majeur entre les deux mondes que tout oppose serveurs cloud centralisés vs noeuds blockchain décentralisés.

En toute logique cette action stratégique de Google facilitera le développement d’applications hybrides cloud-blockchain mais prouve surtout et avant tout que la rupture blockchain est actée et désormais nettement reconnue par les géants du vieux monde.

The Graph : queries decentralisées pour blockchain

June 27th 2019 at 17:23

The Graph est un protocole décentralisé permettant d’indexer et d’interroger des données de blockchains Ethereum. Cela permet une recherche plus optimisée de données difficilement accessibles. The Graph constitue un des premiers language de requête blockchain pour permettre de récupérer des informations.

Imaginez pouvoir accéder aux données blockchain via un language
de requête aussi simple que efficace que votre SQL tout en gardant vos données décentralisées. C’est en deux mots la promesse de The Graph, un protocole permettant de créer rapidement des applications décentralisées sous Ethereum et IPFS via le langage GraphQL développé en interne par Facebook en 2012.

The Graph indexe les données Ethereum en fonction de descriptions dites sous-graphiques et manifestes de sous-graphiques. Ces entitées définissent les smart-contracts et leurs événements qu’on veut surveiller ainsi que la façon de mapper les données d’événement aux données que The Graph stockera dans sa base de données.

Une fois que l’application a exécuté une requête, le graph l’achemine vers les nœuds de requête qui contiennent l’index. Les nœuds de requête renvoient le résultat au nœud de passerelle, puis au développeur.

Le token sous-jacent est utilisé pour sécuriser et gérer le réseau. En bref, il est lié par des nœuds de requête et ceux-ci peuvent être utilisés comme moyen d’échange au sein du réseau.

Une fois qu’un manifeste de sous-graphiques est écrit, vous utilisez la CLI graphique pour stocker la définition dans IPFS et indiquez au service hébergé de commencer à indexer les données de ce sous-graphique.

Il est important de souligner que via The Graph, les requêtes sont traitées sur un réseau décentralisé, ce qui garantit que les données restent publiques et que les dApps continuent de s’exécuter quoi qu’il arrive derrière. Les utilisateurs n’ont pas besoin de faire confiance à des équipes pour faire fonctionner des serveurs et les développeurs peuvent déployer leurs efforts sur une infrastructure publique de confiance qu’ils n’ont pas à gérer. The Graph fournit par ailleurs une API puissante pour obtenir exactement les données dont vous avez besoin en une seule requête, en parcourant et en combinant de manière transparente les sources de données.

Pourquoi l’accès aux données blockchain est si difficile ?

Dans le système des blockchain classiques il existe trois points caractéristiques de requête nécessitant une amélioration :

  • Décentralisation : les données contenues dans une blockchain résident dans un réseau décentralisé de nœuds qui répliquent en permanence des enregistrements entre eux. Ainsi, dans ce modèle l’accès aux données est beaucoup plus complexe que les infrastructures de base de données centralisées.
  • Opacité : les données dans la blockchain sont soumises à différents niveaux de cryptage ce qui rend leur interprétation difficile. L’intérêt d’un protocole de requête est de connaître par sa base de données et ses liens entre les informations, comment interroger la blockchain.
  • Stockage séquentiel des données : les données contenues dans les blockchain sont transporter en groupe séquentiel de blocs dans les transactions. Cette structure de données par transaction en blocs offre de très mauvaises capacités de navigation.

Ainsi, une pile d’accès aux données Web 3.0 efficace devrait avoir trois fonctionnalités principales :

  1. Possibilité d’accéder aux informations comme si elles étaient stockées dans un référentiel centralisé.
  2. Possibilité d’interroger des enregistrements en fonction de ses attributs.
  3. Capacité à naviguer efficacement dans les données de la blockchain en fonction de critères spécifiques.

Un index décentralisé

Comme développé ci-dessus, The Graph est un protocole décentralisé permettant d’indexer et d’interroger des données de blockchain. Le graph commence par créer un manifeste décrivant les données de la blockchain. Le manifeste peut spécifier les attributs d’un protocole spécifique de DApp. Une fois le manifeste créé, le graph capture tous les événements blockchain de ce protocole ou de cette application spécifique et les indexe dans IPFS à l’aide du manifeste comme référence. Enfin, les données sont exposées par des API basées sur le protocole GraphQL populaire. Le noeud final Graph traduira les requêtes GraphQL en commandes IPFS utilisées pour accéder aux données.

Dans une base de données centralisé, un utilisateur peut modifier l’index et orienter un autre utilisateur vers un mauvais fichier. Un index décentralisé évite ce problème en utilisant un réseau de nœuds possédant une copie de l’index. De la même manière, que la blockchain fonctionne.

Ce schéma donne plus de détails sur le flux de données une fois qu’un manifeste de sous-graphiques a été déployé, traitant des transactions Ethereum:

Architecture du protocole The Graph

Le flux suit ces étapes:

  1. Une application décentralisée ajoute des données à Ethereum via une transaction sur un smart-contract.
  2. Le smart-contract émet un ou plusieurs événements lors du traitement de la transaction.
  3. Graph Node recherche continuellement dans Ethereum de nouveaux blocs et les données de votre sous-graphique qu’ils peuvent contenir.
  4. Graph Node recherche les événements Ethereum pour votre sous-graphique dans ces blocs et exécute les gestionnaires de mapping que vous avez fournis. Le mapping est un module WASM qui crée ou met à jour les entités de données que Graph Node stocke en réponse à des événements Ethereum.
  5. L’application décentralisée interroge le noeud graphique pour obtenir des données indexées à partir de la chaîne de blocs, à l’aide du noeud final GraphQL. Le nœud graphique convertit à son tour les requêtes GraphQL en requêtes pour son ensemble de données sous-jacent afin d’extraire ces données, en utilisant les fonctionnalités d’indexation.
  6. L’application décentralisée affiche ces données dans une interface utilisateur riche pour les utilisateurs finaux, qu’ils utilisent pour émettre de nouvelles transactions sur Ethereum.
  7. Le cycle se répète.
Un manifeste de sous-graphique YAML

« Tout ce dont vous avez besoin pour exécuter un sous-graphique est open source. Pour l’instant, nous utilisons Postgres comme moteur de stockage. Graph Node définit une abstraction que nous implémentons en utilisant Postgres et nous nous réservons le droit de modifier la base de données sous-jacente à l’avenir. Nous avons écrit beaucoup de code, mais c’est du code open source, donc rien de tout ça n’est propriétaire. »

Le sous-graphique

Un sous-graphique définit les données que le graphe indexera à partir d’Ethereum et comment il les stockera. Une fois déployé, il fera partie d’un graphique global de données blockchain.

La définition du sous-graphique comprend quelques fichiers :

  • subgraph.yaml : un fichier YAML contenant le manifeste de sous-graphique
  • schema.graphql : un schéma GraphQL qui définit quelles données sont stockées pour votre sous-graphique et comment les interroger via GraphQL
  • Mappages AssemblyScript : code AssemblyScript qui traduit les données d’événement dans Ethereum vers les entités définies dans votre schéma.

Conclusion

The Graph est une méthode innovante de résolution d’équation par approximations successives pour relever l’un des défis les plus importants des applications Web 3.0. En exploitant des technologies établies telles que IPFS, Postgress ou GraphQL, The Graph simplifie les points d’entrée blockchain pour les développeurs. Afin d’optimiser la solution, la version actuelle de The Graph a récemment été mise en open source et est activement mise à jour. Bien qu’il n’en soit encore qu’à ses débuts, The Graph semble disposer des bases technologiques pour devenir l’un des protocoles les plus importants du mouvement Web 3.0. The Graph peut devenir un écosystème véritablement décentralisé dans lequel la communauté collabore pour gérer des sources de données de qualité accessibles à tous. Une nouvelle génération du Web qui ne passe plus par des silos de données et qui bypasse tous monopoles est en train de prendre forme.

Cosmos – un bref apércu

June 14th 2019 at 14:29

Cet article est un aperçu de la blockchain Cosmos. Une mini série de 4 articles techniques vont suivre pour une plongée exhaustive dans cette plateforme qui a tout le nécessaire pour transformer sérieusement l’ecosystème blockchain dans son ensemble.

Cosmos est en mesure de faire faire le saut quantique et est un projet très attendu, conçu pour assurer l’interopérabilité entre plusieurs blockchains. Avec la création du premier bloc le Mercredi 13 Mars 2019 à 23: 00 UTC, le projet a définitivement lancé Cosmos Hub, le premier noeud d’une série de blockchains interconnectées qui seront créées dans l’écosystème.

Cosmos n’est pas la blockchain de la dernière averse et les créateurs sont parmi les tout premiers acteurs dans l’espace blockchain. Il ne s’agit pas d’une new-entry, loin de là.

La première phase du lancement du réseau Cosmos a lieu après presque trois ans de planification et de développement. Après avoir fait ses débuts avec le concept de la plate-forme d’interopérabilité des chaînes de blocs en été 2016, Cosmos a ensuite collecté plus de 16 millions de dollars grâce à une offre initiale de tokens (ICO) en Avril 2017.

Les 3 piliers de Cosmos :

  • Le développement de sa propre blockchain

Aujourd’hui, les développements d’applications décentralisées se font sur des blockchains existantes comme Ethereum. Cependant, développer son application sur sa propre blockchain peut permettre une utilisation plus optimisée.

  • L’interopérabilité entre blockchains

Actuellement, il n’est pas possible de faire communiquer deux blockchains. Cosmos rend la communication inter-blockchain possible et permettra de construire un internet de blockchains.

  • La scalabilité des blockchains

La problématique de la scalabilité est résolue par deux moyens. Tout d’abord, les applications étant développées sur leur propre blockchain, la technologie sous-jacente est optimisée ; c’est ce qu’on appelle la scalabilité verticale. Ensuite, en exploitant l’architecture multi-chain de Cosmos pour augmenter le débit de chaque application ; c’est ce qu’on appelle la scalabilité horizontale.

Tendermint

Une innovation importante apportée par Cosmos est Tendermint. Ce nouveau processus de développement fournit les couches réseau et consensus indispensable à la création d’une blockchain, permettant ainsi aux développeurs de se concentrer uniquement sur la partie application. Tendermint s’apparente donc à un moteur blockchain permettant le développement d’une application blockchain en un temps infiniment réduit.

Cosmos étant un protocole bas niveau, l’adoption de masse s’établie au travers des développement d’application grand public utilisables dans le futur.

Possibilités de Tendermint

  • Tendermint gère uniquement la mise en réseau et le consensus pour la blockchain, ce qui signifie qu’elle aide les nœuds à propager des transactions et les validateurs s’accordent sur un ensemble de transactions à ajouter à la blockchain. C’est le rôle de la couche application de définir la composition du groupe de validateurs. Les développeurs peuvent donc créer des blockchains publics et privés en plus du moteur Tendermint. Si l’application définit que les validateurs sont choisis en fonction du nombre de tokens qui leur sont liées, alors la blockchain peut être qualifiée de preuve de participation. Si toutefois l’application définit qu’un seul ensemble restreint d’entités préautorisées peuvent être des validateurs, la blockchain peut être qualifiée d’autorisée, de privée ou de proof of authority. Les développeurs ont toute liberté pour personnaliser les règles qui définissent la manière dont l’ensemble de validateurs de leur blockchain change.
  • Tendermint Core peut avoir un temps d’exécution de block de l’ordre de 1 seconde et traiter des milliers de transactions par seconde.
  • Finalité instantanée : Une propriété de l’algorithme de consensus Tendermint est la finalité instantanée, ce qui signifie que les forks ne sont jamais créés, tant que moins des deux tiers des validateurs sont malveillants (byzantin). Les utilisateurs peuvent être sûrs que leurs transactions sont finalisées dès qu’un bloc est créé.
  • Sécurité : Tendermint Consensus n’est pas seulement tolérant aux erreurs, il est optimisé pour être tolérant aux erreurs byzantines. Si la chaîne de blocs se divise, il existe un moyen de déterminer la responsabilité.

Inter-Blockchain Communication Protocol

Du point de vue de l’architecture, Cosmos n’est pas une blockchain mais un réseau de blockchains. Une multitude de blockchain font chacune tourner un ou plusieurs services décentralisés. Pour connecter les blockchains entre elles, la création du protocole appelé IBC (Inter-Blockchain Communication Protocol) permet d’établir une connexion directe et décentralisée entre deux blockchains. IBC exploite la propriété de finalité instantanée de Tendermint pour permettre à des chaînes hétérogènes d’échanger de la valeur (c’est-à-dire des tokens) les unes avec les autres. Voyons de plus près le fonctionnement d’IBC et comment il permet la création de Cosmos, un réseau de blockchains.

  • Les différentes couches : les chaînes hétérogènes peuvent avoir différentes couches, ce qui signifie qu’elles peuvent différer dans la manière dont elles implémentent les parties réseau, consensus et application. Cela fonctionne avec quelques restrictions, la principale étant que la couche de consensus doit avoir une finalité rapide. Les chaînes de proof-of-work ne font pas partie de cette catégorie, car elles ont une finalité probabiliste.
  • La souveraineté : chaque blockchain est maintenue par un ensemble de validateurs, dont le travail est de s’accorder sur le prochain bloc à s’engager dans la blockchain. Dans proof-of-work, les validateurs sont appelés mineurs. Une blockchain souveraine est une blockchain avec son propre ensemble de validateurs. Dans de nombreux cas, il est important que les blockchains soient souveraines, car les validateurs sont en dernier ressort responsables de la modification de l’état. Dans Ethereum, toutes les applications sont exécutées par un ensemble commun de validateurs. Pour cette raison, chaque demande n’a qu’une souveraineté limitée.

IBC permet aux chaînes hétérogènes d’échanger des tokens. Cela signifie que les chaînes de blocs avec différentes applications et ensembles de validateurs sont interopérables. C’est une innovation très importante, car elle donne une flexibilité maximale à chaque blockchain. Par exemple, cela permet aux chaînes publiques et privées d’échanger des tokens entre elles.

L‘architecture de Cosmos

L’architecture s’appuie sur deux types de blockchains : les Hubs et les Zones. Les Zones sont des blockchains faisant tourner une ou plusieurs services décentralisés. Les Hubs sont quant à eux, des blockchains construites spécifiquement pour connecter les Zones entre elles. Par exemple, si un utilisateur crée sa propre blockchain sur Cosmos, il n’a qu’une seule connexion à établir avec un Hub pour avoir accès à toutes les blockchains qui lui sont attachées.

Chaque blockchain dans Cosmos constitue son propre sous-écosystème indépendant des autres blockchains. C’est d’ailleurs un des principaux points forts de Cosmos. Toute blockchain peut se connecter avec les autres tout en gardant sa souveraineté. La gouvernance est spécifique à chaque blockchain. Les décisions de l’une n’impactent pas celles des autres.

Le Cosmos Hub sera la première blockchain dans le réseau Cosmos, et servira de point de connexion pour toutes les blockchains à court et moyen terme (ensuite d’autres Hubs émergeront). Cela permettra de crée une grande liquidité, synonyme de valeur.

Le premier écosystème connecté à Cosmos sera Ethereum. Cela passera par le développement de peg-zone, pour connecter la chaîne Ethereum principale, et de Ethermint, une blockchain faisant tourner la machine virtuelle de Ethereum et compatible avec IBC.

La fondation Cosmos

En avril 2017, Cosmos a réalisé une levée de fonds publique en distribuant les tokens appelés Atoms, et permettant de sécuriser le Cosmos Hub. Les fonds levés ont été alloués à une fondation appelée Interchain Foundation, dont le rôle est de garantir le développement de l’écosystème. Tendermint, est actuellement contractualisée par la fondation pour développer le Cosmos Hub, mais toute entreprise peut prétendre à être financée par la fondation sous réserve qu’elle travaille à développer l’écosystème Cosmos.

Cosmos est un écosystème multi-tokens où chaque nouvelle blockchain qui se lancera dans Cosmos créera un ou plusieurs tokens, tout en pouvant aussi importer les tokens existants comme Bitcoin ou Ether sur le réseau. Les frais de transactions pourront être payés dans une multitude de tokens dont le Photon qui sera distribué aux détenteurs d’Ether lors d’un évènement unique appelé Hard Spoon. La date du Hard Spoon sera annoncée après le lancement officiel de Cosmos.

Pour ce qui est du Cosmos Hub, la première blockchain dans Cosmos, le token principal est Atom. Les Atoms permettent de sécuriser le Hub via la preuve d’enjeu (Proof-Of-Stake). Ceux qui bloquent leurs Atoms pour participer à la sécurisation du Hub seront récompensés en Atom nouvellement créés ainsi qu’en récoltant les frais de transactions des utilisateurs du Hub. Il n’y a pas de minimum d’Atom à posséder pour participer.

Exemple de cas d’utilisation de Cosmos

Création d’une levée de fonds

Prenons l’exemple de la création d’une ICO sur Cosmos. Cette levée de fonds pourrait accepter pratiquement tous les tokens existants tout en maintenant la transparence et le stockage décentralisé des tokens par les investisseurs. Les utilisateurs seraient en mesure de participer à tous les ICO à partir d’une même plateforme hautement performante.

La construction du développement se fera sur Cosmos-SDK, ainsi l’ICO nécessite les modules suivants :

  • Staking : gérer la proof-of-work
  • Comptes et banque : pour garder une trace des tokens de chaque utilisateur
  • Gouvernance : gérer les mises à niveau et les problèmes litigieux
  • IBC : envoyer et recevoir des jetons

En tant que développeur de la levée de fonds, l’avantage d’utiliser Cosmos est que les 4 modules cités au-dessus ont déjà été codés. Ainsi, le développeur créera uniquement un module ICO pour l’application spécifique.

L’innovation de Cosmos réside en la simplicité à coder un module simple pour créer une blockchain publique complète, interopérable et évolutive. Pour finaliser la création de la levée de fonds il faut ensuite développer le front-end de l’application blockchain.

Développement du DEX

Construire un échange décentralisé sur Cosmos est assez simple. La partie blockchain de l’échange traitera du staking et de la compensation des fonds. Quant à la correspondance des commandes, elle sera toujours traitée par des opérateurs centralisés afin de permettre à l’utilisateur une simplicité et un carnet de commandes approfondi. (lien)

Dans notre exemple, l’échange décentralisé prendra en charge FIAT-token. Cependant, l’échange FIAT-token est soumis à des réglementations et ne peut donc pas être émis sur des blockchains publiques. Ainsi, le système d’échange décentralisé disposera d’une infrastructure à deux chaînes. Une chaîne privée proof-of-authority et gèrera les jetons FIAT, et l’autre sera une chaîne publique proof-of-stake pour la négociation crypto à crypto, toutes deux exécutées sur Tendermint Core. Ces deux chaînes seront connectées ensemble et au hub Cosmos via des connexions IBC.

Il reste au développeur à coder les 3 modules suivants :

  • Un module de proof-of-authority : pour avoir un validateur privé défini pour notre chaîne FIAT.
  • Un module de token FIAT : pour gérer l’émission et le transfert de tokens FIAT conformément aux réglementations.
  • Un module de règlement : pour permettre le règlement des transactions entre les tokens des deux chaînes.

Ainsi, comparé au développement et au codage d’une levée de fonds classique sur Ethereum, les modules étant déjà existants sur Cosmos, le travail du développeur et la connexion de la levée de fonds aux cryptomonnaies est simplifiée grâce au Hub.

Exemple concret de transfert de monnaie

Prenons l’exemple de 7 entreprises souhaitant créer leurs monnaies locales. Dans chaque entreprise, une blockchain serait exploitée pour gérer la monnaie locale. Construire cette blockchain sur Cosmos est travail simple grâce à l’existante des modules compte, banque et gouvernance. Il reste à construire un module de proof-of-authority pour permettre aux entreprises de gérer une chaîne privée entre elles.

Par ailleurs, si ces 7 entreprises souhaitent interagir entre elles, le déploiement d’un hub local est nécessaire. Ainsi, il existerait 7 blockchains, une dans chaque entreprise et un hub qui les relie entre elles. Tout ce que chaque blockchain doit faire est d’importer le module IBC et d’établir une connexion avec le Hub.

À ce stade, les 7 monnaies locales peuvent circuler entre elles. Si elles souhaitent implémenter le transfert de cryptomonnaies, il suffit que le Hub local établisse une connexion IBC avec le Hub Cosmos. Une fois cette connexion établie, les cryptomonnaies publiques peuvent circuler via le Hub local pour atteindre les 7 chaînes de blocs. Cette conception présente un certain avantage : si le hub Cosmos tombait en panne pour une raison quelconque, le hub local fonctionnerait toujours. Les blockchains des 7 entreprises ne seraient pas en mesure de transférer des tokens vers des blockchains connectées via le hub Cosmos, mais elles pourraient toujours effectuer des transactions entre elles via leur hub local. C’est le pouvoir d’IBC, qui permet aux chaînes de blocs d’interopérer sans perdre leur souveraineté.

Conclusion

Le potentiel des applications Cosmos est pratiquement infini. Cosmos est conçu pour être modulable, adaptable et évolutif. Quel que soit le cas d’utilisation de la blockchain, il existe des outils pour la construire simplement sur Cosmos.

Dharma, à l’aube des prêts blockchain

May 8th 2019 at 11:58

Attention: Ceci n’est pas un conseil en investissement. Si vous décidez d’investir faites le à vos risques.

Nadav Hollander – CEO de Dharma : «  Ne laissez pas votre argent pourrir dans un portefeuille ou un échange. »

Voilà le slogan de Dharma, une start-up californienne développant des produits de prêt sur la blockchain, suscitant un intérêt auprès des investisseurs détenteurs d’Ethereum (ETH) ou de Dai (DAI). Les utilisateurs pourront gagner jusqu’à 2,5% par an sur Ethereum et 8% sur DAI.


Dharma Labs, qui a récemment collecté 7 millions de dollars, provenant notamment d’investissements de Coinbase Ventures, Green Visor et Polychain a dévoilé (Avril 2019) sa nouvelle plate-forme de prêt de crypto-monnaie, qui permet à n’importe quel utilisateur dans le monde d’emprunter et de prêter de la crypto-monnaie en quelques clics. La plate-forme peer-to-peer est régie par les smarts contracts de Dharma, qui spécifient les conditions de prêt de chaque contrat.

Aujourd’hui, la plateforme Dharma permet d’emprunter en Ethereum ou en DAI. (Ci-joint les taux actuels au 06/05/19)

Taux d’emprunt et prêt au 06/05/19

Dans les mois et les années à venir, la plateforme prévoit d’introduire davantage de cryptomonnaies. Récemment, le porte-parole de Dharma a déclaré que « la cryptomonnaie est, et devrait agir comme de l’argent« , avant d’ajouter que la société future devrait être « capable d’utiliser la crypto au quotidien, qu’il s’agisse d’une forme d’investissement, de payer les factures ou de contracter un prêt« .

Auparavant, Dharma avait lancé une version alpha nommée Dharma Lever, un service permettant d’accéder à des taux intéressants en utilisant l’infrastructure open source du smart contract Dharma. Cette version alpha a réussi à comptabiliser 2500 utilisateurs pour 1575 prêts. Comme indiqué en octobre dernier, l’équipe Dharma recherche actuellement un partenariat avec des institutions pour leur version alpha et recherche spécifiquement celles en mesure de négocier des actifs de 100.000 USD d’actifs basés sur Ethereum.


Projection sur 5 ans des gains pour 10 ETH prêté

Conditions d’obtention d’emprunt

Aujourd’hui, Dharma est actuellement l’unique souscripteur de prêts cryptos. Les termes et conditions sont les suivants :

Prêts

Les emprunteurs sont tenus de constituer une garantie d’au moins 150% de la valeur de leur prêt.

Ethereum
  • Période de lockup : 90 jours
  • Limite d’emprunt : 6000 ETH
  • Gain : 2,5%
DAI Dharma
  • Période de lockup : 90 jours
  • Limite d’emprunt : 1 000 000 DAI
  • Gain : 14%
Emprunts

Les prêts sont mis en liquidation si la garantie tombe en dessous de 125% de la valeur de votre prêt.

Ethereum
  • Période de lockup : 90 jours
  • Limite d’emprunt : 6000 ETH
  • Taux : 0,10%
DAI Dharma
  • Période de lockup : 90 jours
  • Limite d’emprunt : 1 000 000 DAI
  • Taux : 13%

Les actifs pourront être prêtés et empruntés à condition que les utilisateurs disposent d’un portefeuille actif de cryptomonnaie. Le porte-parole de Dharma estime que permettre aux utilisateurs d’envoyer des fonds depuis le portefeuille de leur choix – matériel ou mobile -, favorisera l’adoption des cryptomonnaies.

Selon Dharma, plus de 8,8 million de dollars US ont déjà été prêtés aux utilisateurs via la plateforme, et 11,4 million de dollars US supplémentaires sont déjà disponibles pour emprunter.

Sécurisation des fonds

Dharma utilise un système de smart-contract pour contrôler les fonds et les associer à un emprunteur ou à un prêteur. Lors d’un envoi de fonds via Dharma, les fonds transitent par un smart contract créant le prêt. À aucun moment du processus, Dharma n’assume la garde des fonds des utilisateurs.

Tous les prêts transitant par Dharma sont overcollateralized, ce qui signifie que les prêteurs sont protégés en cas de défaillance de l’emprunteur. Les smart contracts ont été audités par Zeppelin, Trail of Bits et ZK Labs.

Dharma, une solution viable à long terme ?

Volume d’emprunt sur 7 jours
Volume de prêt sur 7 jours
Une solution liée au DAI

Actuellement, Dharma possède des volumes d’emprunt assez élevés oscillants entre $500,000 et $4,000,000 par jour. Les utilisateurs préférant largement emprunter et prêter en DAI, le développement de Dharma semble être en bonne voie et pourrait à terme toucher des investisseurs traditionnels.

Le seul moyen pour DAI de conserver son ancrage de 1,00 USD est de générer une demande en dehors de la spéculation. Aujourd’hui, le moyen le plus lucide de générer de la demande pour DAI est de le transformer en un actif d’épargne mondial.

Avec Dharma, les détenteurs de Dai peuvent obtenir un taux d’intérêt élevé sur un actif libellé en dollars. Le APR (taux annuel en pourcentage) de 14% des prêts accordés par Dharma à Dai est comparable à celui des investisseurs en titres traditionnels, taux habituellement inaccessible aux citoyens ordinaires. De plus, le Dharma permettra également d’emprunter du Dai contre d’autres devises stables, le prix se stabilisera autour de 1,00 USD. Enfin, Dharma améliore l’efficacité des modifications des taxes de stabilité en aidant à réduire l’offre de Dai lorsque les prix deviennent trop bas.

Un taux d’épargne élevé donne aux détenteurs une raison de garder DAI. Et parce que les intérêts DAI sont si attrayant, les utilisateurs traditionnels en dehors de la communauté crypto pourraient commencer à en acheter à la recherche d’un intérêt à rendement élevé.

Les accès d’entrée et de sortie en USD vers DAI pourraient constituer l’une des infrastructures les plus importantes du système financier décentralisé.

Stratégie actuelle

Pour le moment, Dharma déclare vouloir « subventionner le marché » pour encourager la croissance, les prêteurs « gagnant un peu plus que les emprunteurs.« 

Bien que Dharma Labs évite actuellement les frais de toutes sortes, le modèle commercial suppose finalement que des frais modestes remplaceront les subventions. «Nous allons très bien générer des revenus», a déclaré Bronstein à CoinDesk plus tôt ce mois-ci. « comme une entreprise normale, qui tire ses revenus d’un bon logiciel.« 

En attendant, l’objectif de Dharma Labs est de prendre en charge le bitcoin et davantage de dollars stables comme le PAX. De plus, comme l’application utilise un mot de passe et un PIN à quatre chiffres, plutôt que des clés de portefeuille cryptos complexes, Dharma pense ainsi offrir une intégration aisée dans l’écosystème de la crypto.

Une solution bancaire alternative

Dharma permet pour les prêteurs une plus large possibilité d’investissement, une internationalisation du marché du crédit ainsi qu’un accès plus rapide à celui ci par rapport à l’utilisation du système bancaire. Les transactions sont effectuées en quelques secondes ou minutes comparés aux jours d’attente que l’on rencontre dans le système bancaire traditionnel.
Par ailleurs, en offrant plus de liquidités au niveau local Dharma favorise la compétition sur les taux d’intérêts et grâce à l’utilisation de cryptomonnaies il n’est pas nécessaire d’avoir un compte en banque pour obtenir un prêt.

Les prêts Dharma peuvent effectuer des transactions directement avec n’importe quel portefeuille Ethereum auto-dépositaire, pour envoyer ou recevoir de l’argent, plutôt que de nécessiter une intégration directe avec un portefeuille spécifique comme l’application de navigateur MetaMask, propriété de ConsenSys. Ainsi, cette solution est aujourd’hui largement autonome.

La multiplication de systèmes décentralisés et transparents est une opportunité pour les sociétés des pays peu bancarisés, où les taux d’intérêt sont généralement très élevés et, où aujourd’hui le micro crédit est plus un frein qu’une opportunité. Cette solution bancaire alternative offre un accès mondial au marché du crédit.

❌