Le monde de la blockchain peut être déroutant, même lorsqu'il s'agit du protocole le plus "simple", comme le bitcoin. Les choses se compliquent considérablement lorsque nous passons à des protocoles plus récents comme Ethereum, ou même à des protocoles plus récents qui reprennent ce que les générations 1 et 2 nous ont appris et cherchent à le développer avec de nouvelles idées et de nouveaux concepts.
Tendermint est l'un de ces projets qui semble révolutionner la façon dont nous abordons le développement et l'utilisation de la technologie blockchain.
Tendermint est un nouveau protocole qui aide à ordonner les événements dans un réseau distribué dans des conditions adverses. Plus communément appelé algorithme de consensus Byzantine Fault Tolerant (BFT) ou diffusion atomique, le problème a attiré une attention significative ces dernières années en raison du succès généralisé des monnaies numériques basées sur la blockchain telles que le Bitcoin et l'Ethereum.
Ces deux monnaies ont résolu avec succès le problème de la gestion d'un tel réseau dans un cadre public sans autorité centrale, créant ce que nous appelons aujourd'hui des blockchains publiques décentralisées. Tendermint modernise les travaux universitaires classiques sur le sujet et simplifie la conception de l'algorithme BFT en s'appuyant sur un protocole de commérage d'égal à égal entre les nœuds.
Ce que vous apprendrez 👉
Tendermint existe dans une pile avec Cosmos, une plateforme de blockchain qui sert de médiateur et se décrit elle-même comme l'"Internet des blockchains" ; cette plateforme a lancé sa blockchain il y a quelques jours, initiant l'existence pratique de l'écosystème Cosmos/Tendermint. L'ensemble de l'écosystème fonctionne de la même manière qu'Ethereum, mais il est plus modulaire, plus flexible et plus facile à développer.
Cosmos SDK agit comme la couche d'application de l'écosystème (similaire à l'EVM d'Ethereum) tandis que Tendermint représente à la fois la couche de consensus (algorithme de consensus Proof-of-Stake tolérant au BFT) et la couche de mise en réseau (Tendermint Core).
L'algorithme de consensus et le protocole de réseau p2p, qui sont réunis dans la pile Tendermint Core, sont connectés au SDK Cosmos par l'intermédiaire d'un autre élément distinct de l'écosystème appelé Application Blockchain Interface (ABCI).
Cosmos SDK est l'implémentation de base d'ABCI et représente la partie modulaire de l'écosystème ; il s'agit d'une couche d'application dépouillée que les développeurs peuvent prendre et enrichir de fonctionnalités personnalisées. Cela permet aux blockchains existantes de créer des applications basées sur Tendermint qui peuvent se connecter à l'écosystème et échanger des messages et de la valeur entre elles.
C'est pourquoi Tendermint et Cosmos utilisent l'appellation "Internet des blockchains" ; l'ensemble du système souhaite devenir une plaque tournante qui permettrait l'interopérabilité entre les différentes blockchains.
Une société californienne à but lucratif à l'origine du projet (également appelée Tendermint) a séparé les trois éléments principaux mentionnés ci-dessus et a ensuite connecté la couche réseau/consensus sous la pile Tendermint.
Cela permet de faciliter l'utilisation et la correction des composants de la technologie, sans avoir à développer pour l'ensemble de l'écosystème lorsque l'on souhaite modifier quelque chose. Les principaux développeurs, Jae Kwon et Ethan Buchman, voulaient créer quelque chose de facile à comprendre, à mettre en œuvre et à développer, et Tendermint est le résultat final de leurs efforts.
⚡️ Avant Tendermint, la construction d'une blockchain nécessitait la mise en place des trois couches (réseau, consensus, application) à partir de la base. Ethereum a simplifié cela en fournissant une blockchain de machine virtuelle sur laquelle tout le monde peut déployer une logique personnalisée sous la forme de contrats intelligents. Un problème subsistait : le développement de la blockchain elle-même. Tendermint simplifie considérablement le processus, car les développeurs n'ont à se préoccuper que de la couche applicative.
Les couches de mise en réseau et de consensus sont déjà fournies par le moteur Tendermint Core ; tout ce qu'il vous reste à faire est d'adapter l'ABCI au moyen du langage de programmation de votre choix, de développer votre application unique et de commencer à utiliser les fonctionnalités de Tendermint.
L'équipe de Tendermint a fait quelque chose comme cela en prenant la base de code d'Ethereum, en enlevant le PoW et en ajoutant le résultat final à leur Tendermint Core. C'est ainsi qu'est né l'Ethermint, un protocole similaire à Ethereum, doté de capacités de preuve d'enjeu. Tous les outils Ethereum existants (Truffle, Metamask, ...) sont compatibles avec Ethermint, et vous pouvez y porter vos smart contracts sans travail supplémentaire.
Un élément important de l'équation globale que nous n'avons pas encore mentionné mais qui est très important pour l'interopérabilité des blockchains est le protocole de communication inter-blockchain (IBC). L'IBC permet à des chaînes hétérogènes de transférer de la valeur et des données entre elles, ce qui débloque l'interopérabilité entre des blockchains qui ont des applications et des validateurs différents.
Pour éviter les problèmes d'évolutivité qui peuvent survenir avec des centaines ou des milliers de futures blockchains, Cosmos propose une architecture modulaire avec deux classes de blockchains : les Hubs et les Zones.
Les zones sont des blockchains hétérogènes régulières et les hubs sont des blockchains spécialement conçues pour relier les zones entre elles. Lorsqu'une zone crée une connexion IBC avec un hub, elle peut automatiquement accéder (c'est-à-dire envoyer et recevoir de) toutes les autres zones qui lui sont connectées. Par conséquent, chaque zone n'a besoin d'établir qu'un nombre limité de connexions avec un ensemble restreint de concentrateurs.
Les plaques tournantes permettent également d'éviter les doubles dépenses entre les zones. Cela signifie que lorsqu'une zone reçoit un jeton d'un concentrateur, elle ne doit faire confiance qu'à la zone d'origine de ce jeton et au concentrateur. Le premier hub (Cosmos Hub) a déjà été lancé il y a quelques jours. Certaines chaînes ne seront pas totalement compatibles avec Tendermint ; les développeurs ont envisagé des zones dites "peg" pour résoudre ce problème.
La cryptographie de Tendermint n'est pas très avancée, les signatures ECDSA étant la technologie la plus "exotique" de l'écosystème. L'agrégation de signatures BLS, les preuves à connaissance nulle et les comptes Ristretto ont été mentionnés lors du récent livestream post-lancement, mais rien de tout cela ne semble se profiler à l'horizon pour l'instant.
La technologie peut être utilisée pour créer des chaînes publiques et privées, les premières fonctionnant par l'intermédiaire de PoS et les secondes par l'intermédiaire de nœuds autorisés ; les deux systèmes seront BFT. Les blocs sur le Tendermint Core peuvent avoir un temps de blocage d'une seconde et sont considérés comme instantanément définitifs ; sinon, on pourrait supposer que le réseau subit une attaque de 33 % (plus d'un tiers des validateurs sont malveillants).
Une blockchain doit être tolérante aux fautes byzantines, c'est-à-dire capable de tolérer des nœuds potentiellement malveillants qui communiquent de faux états et de faux messages au réseau et mettent en péril le consensus. Les systèmes byzantins tolérants aux fautes ont été peu étudiés, car ce sujet n'était pas très populaire dans les universités.
Le peu de recherches effectuées portait sur des réseaux de petite taille (jusqu'à 7 nœuds) ; les développeurs de Tendermint voulaient quelque chose qui puisse s'adapter à un niveau plus élevé. Même lorsque Bitcoin a introduit un système capable de prendre en charge des milliers de nœuds indépendants, le système avait (et a toujours) un seul domaine administratif, ce qui limite considérablement son évolutivité.
M. Kwon et ses partenaires ont imaginé un protocole BFT capable de s'adapter à des centaines de nœuds dans un environnement sans permission, avec une preuve d'acquisition (PoS) comme mécanisme de sécurité sous-jacent. Ils ont mis au point un système basé sur le BFT, qui comporte deux éléments clés que nous avons déjà nommés : Tendermint Core, qui est utilisé pour la recherche de consensus et le "gossiping", et Cosmos SDK, qui sert de couche applicative.
Leur algorithme BFT Proof-of-Stake surmonte le problème des généraux byzantins en utilisant un modèle de réseau partiellement synchrone, ce qui signifie que les validateurs votant sur un bloc n'ont pas besoin d'agir en même temps. Dans ce système, les blocs ne sont pas votés selon un calendrier et n'ont pas de taille déterminée.
⚡️ Dans Bitcoin, qui est considéré comme "entièrement synchrone", les nœuds disposent d'un délai de 10 minutes pour rechercher, collecter, valider et ajouter des transactions à un bloc. Avec Ethereum, ce délai n'est que de 15 secondes. Tout va bien jusqu'à ce que la synchronisation soit rompue ; certains nœuds peuvent se déconnecter et souffrir de problèmes de latence, auquel cas la chaîne peut soit s'arrêter, soit faire l'objet d'un bifurcation.
Tendermint vise à mettre en œuvre un modèle plus centralisé, qui refuse ces limitations temporelles au motif que ses nœuds fonctionnent de manière asynchrone.
Le protocole est plus asynchrone : au lieu que chaque tour prenne un temps prédéterminé, chaque étape d'un tour progresse après que plus de 2/3 des nœuds sont parvenus à un consensus. Ce manque de synchronisation est partiel et le projet le qualifie de "faiblement asynchrone". Les validateurs sont bien connus et peuvent communiquer entre eux pour coordonner leurs efforts et garantir que le consensus du réseau est toujours atteint. Tout cela implique que leur réseau ne bifurquera jamais.
Tendermint réattribue régulièrement aux validateurs le droit de proposer un bloc afin d'atténuer légèrement les problèmes potentiels liés à la centralisation de ce processus. Une fois les blocs proposés, les validateurs votent dans le cadre d'un processus déterministe à plusieurs tours.
Pour aller plus loin, il faut savoir que dans le monde des protocoles, il y a des protocoles non déterministes et des protocoles déterministes. Les protocoles non déterministes sont ceux que l'on rencontre dans les systèmes complètement asynchrones. Le consensus d'un cas purement asynchrone peut dépendre d'oracles aléatoires et entraîne généralement un surcoût important en termes de complexité des messages, car il dépend d'une diffusion fiable pour toutes les communications.
Tendermint évite ces frais généraux élevés en optant pour la voie déterministe ; rien n'est en fait aléatoire, mais plutôt réalisé par le biais d'une fonction mathématique définie qui nous permet de prédire que le protocole est assuré de prendre des décisions.
Avec Tendermint, les validateurs sont remplacés à l'aide d'un format déterministe pondéré de type round-robin. Plus la participation d'un validateur est importante, plus il est possible de l'élire comme chef de file. Actuellement, le protocole est limité à cent validateurs, mais l'équipe envisagera éventuellement d'en ajouter d'autres si nécessaire. Cela garantit que le système est sûr dans les environnements asynchrones et vivant dans les environnements faiblement synchrones. Dans l'ensemble, le mécanisme de consensus sacrifie un certain degré de rapidité à la sécurité du consensus et à la finalité instantanée.
La menthe verte est un concept intéressant qui peut sembler plus compliqué sur le papier qu'il ne l'est en réalité. Il s'agit en fait de l'EOS de l'interopérabilité et présente de nombreuses similitudes avec Ethereum et toute une série de projets clones. L'objectif principal de Tendermint est de s'attaquer au problème de l'interopérabilité de la blockchain, et il se heurte à une forte opposition sur ce marché. Ark, ICON, Polkadot, AION et d'autres projets similaires poursuivent tous le même objectif.
Clause de non-responsabilité:
Cet article est repris de captainaltcoin]. Tous les droits d'auteur appartiennent à l'auteur original [Dobrica Blagojevic]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.
Le monde de la blockchain peut être déroutant, même lorsqu'il s'agit du protocole le plus "simple", comme le bitcoin. Les choses se compliquent considérablement lorsque nous passons à des protocoles plus récents comme Ethereum, ou même à des protocoles plus récents qui reprennent ce que les générations 1 et 2 nous ont appris et cherchent à le développer avec de nouvelles idées et de nouveaux concepts.
Tendermint est l'un de ces projets qui semble révolutionner la façon dont nous abordons le développement et l'utilisation de la technologie blockchain.
Tendermint est un nouveau protocole qui aide à ordonner les événements dans un réseau distribué dans des conditions adverses. Plus communément appelé algorithme de consensus Byzantine Fault Tolerant (BFT) ou diffusion atomique, le problème a attiré une attention significative ces dernières années en raison du succès généralisé des monnaies numériques basées sur la blockchain telles que le Bitcoin et l'Ethereum.
Ces deux monnaies ont résolu avec succès le problème de la gestion d'un tel réseau dans un cadre public sans autorité centrale, créant ce que nous appelons aujourd'hui des blockchains publiques décentralisées. Tendermint modernise les travaux universitaires classiques sur le sujet et simplifie la conception de l'algorithme BFT en s'appuyant sur un protocole de commérage d'égal à égal entre les nœuds.
Ce que vous apprendrez 👉
Tendermint existe dans une pile avec Cosmos, une plateforme de blockchain qui sert de médiateur et se décrit elle-même comme l'"Internet des blockchains" ; cette plateforme a lancé sa blockchain il y a quelques jours, initiant l'existence pratique de l'écosystème Cosmos/Tendermint. L'ensemble de l'écosystème fonctionne de la même manière qu'Ethereum, mais il est plus modulaire, plus flexible et plus facile à développer.
Cosmos SDK agit comme la couche d'application de l'écosystème (similaire à l'EVM d'Ethereum) tandis que Tendermint représente à la fois la couche de consensus (algorithme de consensus Proof-of-Stake tolérant au BFT) et la couche de mise en réseau (Tendermint Core).
L'algorithme de consensus et le protocole de réseau p2p, qui sont réunis dans la pile Tendermint Core, sont connectés au SDK Cosmos par l'intermédiaire d'un autre élément distinct de l'écosystème appelé Application Blockchain Interface (ABCI).
Cosmos SDK est l'implémentation de base d'ABCI et représente la partie modulaire de l'écosystème ; il s'agit d'une couche d'application dépouillée que les développeurs peuvent prendre et enrichir de fonctionnalités personnalisées. Cela permet aux blockchains existantes de créer des applications basées sur Tendermint qui peuvent se connecter à l'écosystème et échanger des messages et de la valeur entre elles.
C'est pourquoi Tendermint et Cosmos utilisent l'appellation "Internet des blockchains" ; l'ensemble du système souhaite devenir une plaque tournante qui permettrait l'interopérabilité entre les différentes blockchains.
Une société californienne à but lucratif à l'origine du projet (également appelée Tendermint) a séparé les trois éléments principaux mentionnés ci-dessus et a ensuite connecté la couche réseau/consensus sous la pile Tendermint.
Cela permet de faciliter l'utilisation et la correction des composants de la technologie, sans avoir à développer pour l'ensemble de l'écosystème lorsque l'on souhaite modifier quelque chose. Les principaux développeurs, Jae Kwon et Ethan Buchman, voulaient créer quelque chose de facile à comprendre, à mettre en œuvre et à développer, et Tendermint est le résultat final de leurs efforts.
⚡️ Avant Tendermint, la construction d'une blockchain nécessitait la mise en place des trois couches (réseau, consensus, application) à partir de la base. Ethereum a simplifié cela en fournissant une blockchain de machine virtuelle sur laquelle tout le monde peut déployer une logique personnalisée sous la forme de contrats intelligents. Un problème subsistait : le développement de la blockchain elle-même. Tendermint simplifie considérablement le processus, car les développeurs n'ont à se préoccuper que de la couche applicative.
Les couches de mise en réseau et de consensus sont déjà fournies par le moteur Tendermint Core ; tout ce qu'il vous reste à faire est d'adapter l'ABCI au moyen du langage de programmation de votre choix, de développer votre application unique et de commencer à utiliser les fonctionnalités de Tendermint.
L'équipe de Tendermint a fait quelque chose comme cela en prenant la base de code d'Ethereum, en enlevant le PoW et en ajoutant le résultat final à leur Tendermint Core. C'est ainsi qu'est né l'Ethermint, un protocole similaire à Ethereum, doté de capacités de preuve d'enjeu. Tous les outils Ethereum existants (Truffle, Metamask, ...) sont compatibles avec Ethermint, et vous pouvez y porter vos smart contracts sans travail supplémentaire.
Un élément important de l'équation globale que nous n'avons pas encore mentionné mais qui est très important pour l'interopérabilité des blockchains est le protocole de communication inter-blockchain (IBC). L'IBC permet à des chaînes hétérogènes de transférer de la valeur et des données entre elles, ce qui débloque l'interopérabilité entre des blockchains qui ont des applications et des validateurs différents.
Pour éviter les problèmes d'évolutivité qui peuvent survenir avec des centaines ou des milliers de futures blockchains, Cosmos propose une architecture modulaire avec deux classes de blockchains : les Hubs et les Zones.
Les zones sont des blockchains hétérogènes régulières et les hubs sont des blockchains spécialement conçues pour relier les zones entre elles. Lorsqu'une zone crée une connexion IBC avec un hub, elle peut automatiquement accéder (c'est-à-dire envoyer et recevoir de) toutes les autres zones qui lui sont connectées. Par conséquent, chaque zone n'a besoin d'établir qu'un nombre limité de connexions avec un ensemble restreint de concentrateurs.
Les plaques tournantes permettent également d'éviter les doubles dépenses entre les zones. Cela signifie que lorsqu'une zone reçoit un jeton d'un concentrateur, elle ne doit faire confiance qu'à la zone d'origine de ce jeton et au concentrateur. Le premier hub (Cosmos Hub) a déjà été lancé il y a quelques jours. Certaines chaînes ne seront pas totalement compatibles avec Tendermint ; les développeurs ont envisagé des zones dites "peg" pour résoudre ce problème.
La cryptographie de Tendermint n'est pas très avancée, les signatures ECDSA étant la technologie la plus "exotique" de l'écosystème. L'agrégation de signatures BLS, les preuves à connaissance nulle et les comptes Ristretto ont été mentionnés lors du récent livestream post-lancement, mais rien de tout cela ne semble se profiler à l'horizon pour l'instant.
La technologie peut être utilisée pour créer des chaînes publiques et privées, les premières fonctionnant par l'intermédiaire de PoS et les secondes par l'intermédiaire de nœuds autorisés ; les deux systèmes seront BFT. Les blocs sur le Tendermint Core peuvent avoir un temps de blocage d'une seconde et sont considérés comme instantanément définitifs ; sinon, on pourrait supposer que le réseau subit une attaque de 33 % (plus d'un tiers des validateurs sont malveillants).
Une blockchain doit être tolérante aux fautes byzantines, c'est-à-dire capable de tolérer des nœuds potentiellement malveillants qui communiquent de faux états et de faux messages au réseau et mettent en péril le consensus. Les systèmes byzantins tolérants aux fautes ont été peu étudiés, car ce sujet n'était pas très populaire dans les universités.
Le peu de recherches effectuées portait sur des réseaux de petite taille (jusqu'à 7 nœuds) ; les développeurs de Tendermint voulaient quelque chose qui puisse s'adapter à un niveau plus élevé. Même lorsque Bitcoin a introduit un système capable de prendre en charge des milliers de nœuds indépendants, le système avait (et a toujours) un seul domaine administratif, ce qui limite considérablement son évolutivité.
M. Kwon et ses partenaires ont imaginé un protocole BFT capable de s'adapter à des centaines de nœuds dans un environnement sans permission, avec une preuve d'acquisition (PoS) comme mécanisme de sécurité sous-jacent. Ils ont mis au point un système basé sur le BFT, qui comporte deux éléments clés que nous avons déjà nommés : Tendermint Core, qui est utilisé pour la recherche de consensus et le "gossiping", et Cosmos SDK, qui sert de couche applicative.
Leur algorithme BFT Proof-of-Stake surmonte le problème des généraux byzantins en utilisant un modèle de réseau partiellement synchrone, ce qui signifie que les validateurs votant sur un bloc n'ont pas besoin d'agir en même temps. Dans ce système, les blocs ne sont pas votés selon un calendrier et n'ont pas de taille déterminée.
⚡️ Dans Bitcoin, qui est considéré comme "entièrement synchrone", les nœuds disposent d'un délai de 10 minutes pour rechercher, collecter, valider et ajouter des transactions à un bloc. Avec Ethereum, ce délai n'est que de 15 secondes. Tout va bien jusqu'à ce que la synchronisation soit rompue ; certains nœuds peuvent se déconnecter et souffrir de problèmes de latence, auquel cas la chaîne peut soit s'arrêter, soit faire l'objet d'un bifurcation.
Tendermint vise à mettre en œuvre un modèle plus centralisé, qui refuse ces limitations temporelles au motif que ses nœuds fonctionnent de manière asynchrone.
Le protocole est plus asynchrone : au lieu que chaque tour prenne un temps prédéterminé, chaque étape d'un tour progresse après que plus de 2/3 des nœuds sont parvenus à un consensus. Ce manque de synchronisation est partiel et le projet le qualifie de "faiblement asynchrone". Les validateurs sont bien connus et peuvent communiquer entre eux pour coordonner leurs efforts et garantir que le consensus du réseau est toujours atteint. Tout cela implique que leur réseau ne bifurquera jamais.
Tendermint réattribue régulièrement aux validateurs le droit de proposer un bloc afin d'atténuer légèrement les problèmes potentiels liés à la centralisation de ce processus. Une fois les blocs proposés, les validateurs votent dans le cadre d'un processus déterministe à plusieurs tours.
Pour aller plus loin, il faut savoir que dans le monde des protocoles, il y a des protocoles non déterministes et des protocoles déterministes. Les protocoles non déterministes sont ceux que l'on rencontre dans les systèmes complètement asynchrones. Le consensus d'un cas purement asynchrone peut dépendre d'oracles aléatoires et entraîne généralement un surcoût important en termes de complexité des messages, car il dépend d'une diffusion fiable pour toutes les communications.
Tendermint évite ces frais généraux élevés en optant pour la voie déterministe ; rien n'est en fait aléatoire, mais plutôt réalisé par le biais d'une fonction mathématique définie qui nous permet de prédire que le protocole est assuré de prendre des décisions.
Avec Tendermint, les validateurs sont remplacés à l'aide d'un format déterministe pondéré de type round-robin. Plus la participation d'un validateur est importante, plus il est possible de l'élire comme chef de file. Actuellement, le protocole est limité à cent validateurs, mais l'équipe envisagera éventuellement d'en ajouter d'autres si nécessaire. Cela garantit que le système est sûr dans les environnements asynchrones et vivant dans les environnements faiblement synchrones. Dans l'ensemble, le mécanisme de consensus sacrifie un certain degré de rapidité à la sécurité du consensus et à la finalité instantanée.
La menthe verte est un concept intéressant qui peut sembler plus compliqué sur le papier qu'il ne l'est en réalité. Il s'agit en fait de l'EOS de l'interopérabilité et présente de nombreuses similitudes avec Ethereum et toute une série de projets clones. L'objectif principal de Tendermint est de s'attaquer au problème de l'interopérabilité de la blockchain, et il se heurte à une forte opposition sur ce marché. Ark, ICON, Polkadot, AION et d'autres projets similaires poursuivent tous le même objectif.
Clause de non-responsabilité:
Cet article est repris de captainaltcoin]. Tous les droits d'auteur appartiennent à l'auteur original [Dobrica Blagojevic]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.