Topics BlockchainCurrent Page

Performances et évolutivité de la blockchain Ethereum

Intermediate
Blockchain
Apr 13, 2021
lecture de 14 minutes

Résumé IA

Afficher plus

Survole le contenu de l’article et évalue le sentiment du marché en 30 secondes chrono !

Résumé détaillé



Comme pour Bitcoin, la principale raison du problème de scalabilité d'Ethereum réside dans le protocole réseau que chaque nœud du réseau doit utiliser pour traiter chaque transaction. Ethereum 1.x implémente une version légèrement modifiée du mécanisme de consensus de preuve de travail (PoW). SurEthereum, les mineurs doivent se dépêcher de trouver le nonce pour atteindre la difficulté cible. Chaque nœud doit vérifier la validité du travail des mineurs et conserver une copie précise de l'état actuel du réseau. Cela limite considérablement la capacité de traitement des transactions et le débit du réseau blockchain Ethereum. Actuellement, il ne peut traiter que 12 à 15transactions par seconde.

Le trilemme de la scalabilité de la blockchain

Utilisé pour la première fois par Vitalik Buterin, le trilemme de la scalabilité est un concept de la blockchain concernant sa capacité à répondre aux exigences de scalabilité, de décentralisation et de sécurité, sans compromettre aucun d'entre eux. Le trilemme affirme qu'il est presque impossible de réunir simultanément les trois propriétés dans un système blockchain :

Décentralisation: Il s'agit d'un principe fondamental sur lequel Bitcoin et la blockchain ont été créés. La décentralisation permet de résister à la censure et autorise chacun à participer à un écosystème décentralisé sans autorité centrale ni intermédiaire.

Sécurité: Cela fait référence à l'intégrité et à l'immuabilité du registre public, ainsi qu'à sa capacité à résisterà une attaque à 51 %. ou des attaques réseau de type DDoS.

Évolutivité: Cela concerne la capacité à gérer un volume croissant de transactions sur le réseau blockchain. Pour que la blockchain Ethereum devienne l'ordinateur mondial tel que son inventeur l'avait imaginé, elle doit égaler le débit de transactions de nombreux systèmes centralisés, comme Amazon, Visa ou Mastercard.

Le diagramme suivant illustre le trilemme de la scalabilité dans la blockchain :

Le principal défi de la mise à l'échelle consiste à trouver un moyen de réaliser ces trois objectifs au niveau de la couche de base. Les choix de conception de Bitcoin et d'Ethereum privilégient la décentralisation et la sécurité, au détriment de la scalabilité.

Solutions de mise à l'échelle Ethereum

La solution de scalabilité d'Ethereum est l'un des sujets les plus actifs au sein de la communauté Ethereum. Voici quelques-uns des sujets de préoccupation que la communauté tente de résoudre pour l'avenir d'Ethereum :

Temps de traitement des transactions et de création des blocs avec PoW — à quelle vitesse les mineurs peuvent-ils traiter toutes les transactions et créer un nouveau bloc par le biais du minage ?

Caractère définitif des transactions – dans combien de temps le réseau décentralisé peut-il parvenir à un consensus sur le fait qu'une transaction a eu lieu et qu'elle ne peut pas être annulée ? Actuellement, il faut environ six blocs avec Bitcoin et 3 à 4 minutes avec Ethereum pour que le réseau considère qu'un bloc est finalisé dans la chaîne principale. Les lecteurs intéressés pourront consulter le bloc de Vitalik concernant le règlement des transactions et la probabilité de finalité des blocs.

Les solutions mises en œuvre ou proposées se répartissent en trois catégories : les solutions sur la chaîne, les solutions hors chaîne et les protocoles de mécanismes de consensus. Il existe des solutions évidentes ou théoriques, comme l'augmentation de la taille des blocs ou le découpage d'une blockchain en plusieurs chaînes d'altcoins indépendantes. Compte tenu de la nature du peer-to-peer, une approche de mise à l'échelle horizontale traditionnelle peut ne pas fonctionner. Concernant spécifiquement le réseau Ethereum, une attention particulière a également été portée aux contrats intelligents avec ou sans état qui contribuent aux problèmes de scalabilité. Nous passerons en revue les concepts généraux de toutes ces solutions, puis nous approfondirons certaines des plus prometteuses.

Taille du bloc

Ceci est similaire à l'approche de mise à l'échelle verticale. Certaines cryptomonnaies alternatives, comme Bitcoin Cash, Ethereum Core, etc., mettent en œuvre une taille de bloc plus importante afin d'améliorer les performances globales des transactions. L'idée derrière cette approche est que, puisque le minage par preuve de travail (PoW) constitue le principal goulot d'étranglement de l'ensemble du processus, l'augmentation de la taille des blocs permet de traiter davantage de transactions par minage. La création d'ungraphe acyclique orienté(DAG) pour le minage basé sur le stash peut prendre un peu plus de temps, mais le temps moyen pour terminer le minage ne devrait pas empirer, étant donné que la plupart des clients Ethereum mettent de toute façon le DAG en cache.

Le schéma suivant illustre le fonctionnement de cette technique :

Cependant, comme la mise à l'échelle verticale en général, cette solution exige que les nœuds du réseau disposent d'une meilleure capacité de calcul afin de traiter des blocs de grande taille. Cela peut conduire à un scénario où un réseau se concentre entre les mains de quelques riches et, par conséquent, compromettre à terme la décentralisation et la sécurité, les principes fondamentaux de la blockchain.

Altcoins

Une autre solution consiste à ne pas avoir une seule blockchain gigantesque, mais plusieurs blockchains etaltcoinsplus petits. Cela pourrait bien être le cas à terme, étant donné que de nombreux secteurs verticaux créent ou prévoient de créer des chaînes de valeur spécifiques à leur secteur. Cela permettra de réduire l'activité des utilisateurs sur chaque blockchain individuelle et, par conséquent, de créer un écosystème plus évolutif.

Le schéma suivant illustre le fonctionnement de cette technique :

Cependant, cette option présente quelques problèmes. L'une d'elles concerne la sécurité. Il est communément admis que le réseau est plus sécurisé si davantage de nœuds participent au traitement des transactions dans la blockchain. Avec une distribution plus large des chaînes d'altcoins, moins de nœuds fonctionneront sur une blockchain donnée. Cela peut rendre la blockchain moins sécurisée, car un réseau d'altcoins plus petit peut être plus vulnérable aux attaques réseau. Supposons que nous ayons environ 10 000 nœuds sur le réseau plus étendu ; il faudra qu'au moins 5 001 nœuds (soit 51 %) soient compromis pour lancer une attaque sur le réseau. Si nous divisons 10 000 nœuds en 50 chaînes plus petites, chaque chaîne comprenant 200 nœuds, il suffit de 101 nœuds pour mettre hors service n'importe quelle chaîne plus petite, ce que nous appelons un problème d'attaque à 1 %. Un autre problème est l'intégration inter-chaînes. Bien qu'il existe certaines solutions pour gérer l'intégration inter-chaînes, la complexité globale de l'intégration des chaînes plus petites et des altcoins augmentera considérablement.

Solutions sur la chaîne

Les solutions on-chain, parfois appelées solutions de couche 1, visent à trouver des solutions aux problèmes d'évolutivité et de performance au niveau de la couche de base du réseau blockchain Ethereum. Le partitionnement est une de ces solutions. Le partitionnement n'est pas un concept nouveau, car les SGBDR traditionnels et les nouvelles plateformes de big data utilisent le partitionnement depuis de nombreuses années comme moyen d'améliorer l'évolutivité et les performances.

Avec le réseau Ethereum, le but du sharding est de regrouper les nœuds du réseau, la blockchain et les états globaux en différents shards, et chaque shard parviendra à un consensus sur l'état des transactions à l'échelle du shard parmi les nœuds du groupe. Sur le plan conceptuel, cela ne diffère peut-être pas beaucoup de Plasma, l'approche de chaîne latérale de couche 2, mais la difficulté technique, les implications et les efforts de réseau sont tout à fait différents.

Une autre solution de couche 1 ou sur la chaîne consiste à passer à un mécanisme de consensusProof of Stake (PoS), qui est l'un des domaines de recherche les plus actifs traitant des problèmes d'évolutivité et de performance d'Ethereum. Il existe de nombreux débats concernant les avantages et les inconvénients d'un mécanisme de consensus basé sur la preuve de travail. Elle est très efficace pour sécuriser la blockchain dans le réseau décentralisé, mais elle constitue également un goulot d'étranglement majeur pour les performances de la blockchain.

En termes simples, la preuve d'enjeu (Proof of Stake) est l'un des algorithmes de consensus les plus populaires sur les réseaux blockchain. Contrairement au consensus PoW, où les mineurs sont récompensés pour la résolution de problèmes cryptographiques, dans l'algorithme de consensus PoS, un groupe de validateurs sélectionnés propose à tour de rôle de nouveaux blocs. Le validateur est choisi de manière déterministe, en fonction de sa richesse, également définie comme une mise. Toute personne déposant ses cryptomonnaies en tant que mise peut devenir validateur. Leurs chances de participer peuvent être proportionnelles aux enjeux qu'ils y consacrent. Supposons qu'Alice, Bob, Catherine et David aient misé respectivement 40 Ether, 30 Ether, 20 Ether et 10 Ether pour participer ; ils auront respectivement 40 %, 30 %, 20 % et 10 % de chances d'être sélectionnés comme créateur du bloc.

Voici comment cela fonctionne dans le mécanisme de consensus PoS. Comme le montre le schéma suivant, la blockchain assure le suivi d'un ensemble de validateurs, parfois également appelés créateurs de blocs ou faussaires. À tout moment, lorsque de nouveaux blocs doivent être créés, la blockchain sélectionne un validateur de manière aléatoire. Le validateur sélectionné vérifie les transactions et propose de nouveaux blocs sur lesquels tous les validateurs doivent s'accorder. Les nouveaux blocs sont ensuite soumis au vote de tous les validateurs en cours. Le pouvoir de vote est basé sur la mise investie par le validateur. Quiconque propose des transactions invalides, bloque ou vote de manière malveillante, c'est-à-dire compromet intentionnellement l'intégrité de la chaîne, risque de perdre sa mise. Pour la création du bloc lui-même, le nœud ne reçoit pas de récompense. Une rémunération est versée pour cette transaction. Une fois les nouveaux blocs acceptés, le créateur du bloc peut percevoir les frais de transaction en guise de récompense pour son travail de création de ces nouveaux blocs. Il existe deux options de sélection de nœuds de base :

Au hasard parmi les nœuds les plus « riches » ;

Au hasard parmi les nœuds les plus anciens.

Le système PoS est considéré comme plus économe en énergie et plus respectueux de l'environnement que le système PoW. Elle est également perçue comme plus sûre. Cela réduit considérablement la menace d'une attaque à 51 %, car les validateurs malveillants devraient accumuler plus de 50 % des mises totales pour prendre le contrôle du réseau blockchain. Un tel algorithme est conçu pour dissuader les attaquants de valider de fausses transactions en raison du risque de perte d'une « garantie ».

À l'instar du PoW, une décentralisation totale n'est peut-être pas entièrement possible dans la blockchain publique basée sur le PoS. Cela s'explique par le fait que quelques nœuds riches peuvent monopoliser les enjeux du réseau.  Ceux qui investissent davantage peuvent contrôler efficacement la plupart des votes et ont plus de chances de constituer un nouveau bloc.  Ces deux algorithmes sont sujets au problème socio-économique qu'ils rendent les riches encore plus riches.

Solutions hors chaîne

À l'instar des justifications en faveur d'une solution sur la chaîne, la communauté Ethereum recherche également activement des solutions hors chaîne, parfois appelées solutions de couche 2. L'une est une solution à chaîne latérale avec Plasma. Au lieu de centraliser toutes les transactions dans la chaîne principale, Plasma permet à chacun de créer des chaînes latérales et de les intégrer à la blockchain globale. C'est similaire à la solution de réseau Lightning dans Bitcoin.

Une autre solution consiste à utiliser un canal d'état avec Raiden, similaire aux canaux de paiement de Bitcoin. L'hypothèse sous-jacente à cette approche est que de nombreuses transactions entre parties n'ont besoin d'être validées que par les parties concernées, et qu'il n'est pas nécessaire que toutes les transactions soient validées par l'ensemble du réseau.

Une solution intuitive pour améliorer l'évolutivité et le débit consiste à créer de nombreuses petites chaînes. Cela peut sembler une solution plausible, car elle peut répondre aux besoins des entreprises et de la société. Prenons notre propre exemple : en tant que clients ou citoyens, nous achetons des fruits et légumes dans notre épicerie locale, qui pourrait utiliser une technologie blockchain pour garantir la traçabilité et la sécurité alimentaire tout au long de la chaîne d'approvisionnement des produits frais.

À la fin de vos achats, vous pouvez régler vos courses directement via une plateforme de paiement blockchain P2P. Lorsque vous faites une demande de prêt hypothécaire ou de prêt commercial, vous pourriez obtenir l'approbation de votre prêt grâce à la blockchain hypothécaire, et ainsi de suite. Il est plus probable que nous rencontrions toutes ces chaînes verticales ou chaînes privées avant de voir apparaître une gigantesque chaîne mondiale.

Cependant, cela crée des problèmes d'intégration inter-chaînes et d'application des règles de sécurité. C’est ce que Plasma tente de résoudre. Elle a été proposée pour la première fois en août 2017 par Joseph Poon et Vitalik Buterin. L'idée de conception est de décharger les transactions sur de nombreuses chaînes latérales plus rapides et moins encombrées, également appelées chaînes Plasma. À l'instar de l'approche par canal d'état, une chaîne Plasma validera périodiquement ses transactions auprès de la chaîne racine Ethereum.

La sécurité et l'intégrité seront assurées tout au long de la chaîne racine. En cas de suspicion de fraude dans les chaînes Plasma, les transactions seront annulées et les utilisateurs de Plasma pourront quitter la chaîne Plasma et rejoindre la chaîne racine.

Le schéma suivant illustre à quoi peut ressembler un réseau Plasma :

Chaque chaîne plasma est une blockchain à part entière. Ils sont liés à une chaîne racine Ethereum via un contrat intelligent. Le contrat intelligent relie essentiellement une chaîne enfant entière à la chaîne racine, agissant comme un pont. N'importe qui peut créer une chaîne plasma et écrire un contrat intelligent liant cette chaîne plasma à la chaîne racine.

Comme le montre le diagramme suivant, à chaque période, les en-têtes de bloc de chaque bloc des chaînes plasma sont soumis à la chaîne racine et enregistrés dans les blocs de la chaîne racine.

Les transactions au sein des chaînes plasmatiques resteront au niveau de chaque chaîne plasmatique. La preuve Merkle dans les en-têtes de blocs sera ensuite utilisée pour vérifier les données sur la chaîne enfant. Cela permet de traiter des dizaines, voire des milliers de transactions en parallèle dans de nombreuses chaînes plasma, tout en laissant un minimum d'informations d'en-tête Merkle suffisantes sur la chaîne racine pour garantir la sécurité :

La chaîne racine jouera un rôle d'arbitre, un peu comme dans le système judiciaire fédéral des États-Unis, où la chaîne racine est la Cour suprême et les chaînes plasma sont les cours de circuit ou les tribunaux de district. Dans le système judiciaire fédéral, une fois que le tribunal de district fédéral a statué sur une affaire, celle-ci peut faire l'objet d'un appel devant la cour d'appel ou la Cour suprême pour un arbitrage.

Lorsqu'une fraude se produit dans une chaîne de transfert de fonds, qu'il s'agisse d'une double dépense entre les chaînes ou d'un retrait d'argent supérieur au solde de tous les comptes, n'importe qui peut fournir une preuve de fraude pour démontrer que la transaction est invalide. Si la fraude est avérée, la transaction sera annulée.

Les utilisateurs de Plasma peuvent quitter la chaîne Plasma enfant et transférer des ethers vers la chaîne principale. Les propositions initiales introduisent un concept de validateur unique, en tant qu'opérateur de la blockchain plasma, pour valider et ajouter des transactions aux blocs, et gérer l'état de la blockchain enfant.

L'idée derrière cette approche est que la sécurité et l'intégrité de la blockchain au niveau global sont assurées par la chaîne racine, en utilisant soit la preuve de travail (PoW), soit, plus probablement, un protocole de consensus hybride PoW et PoS. Dans le cas où le validateur de la chaîne plasma détiendrait les fonds et commettrait des activités frauduleuses, n'importe qui peut fournir une preuve de fraude contre le validateur à la chaîne racine.

Une fois la fraude avérée par le validateur, la chaîne racine autorisera tous les comptes de la chaîne plasma concernée à migrer vers la chaîne racine. On appelle cela un scénariode sortie massive. Dans ce cas, les comptes individuels seront migrés un par un vers la chaîne racine, la transaction invalide sera annulée et le validateur de la chaîne plasma sera pénalisé du montant de sa mise dans le contrat intelligent. Selon le nombre de comptes à migrer, la migration en masse peut prendre un certain temps.

Bien que ce soit l'un des sujets les plus intéressants et les plus actifs au sein de la communauté de recherche Ethereum, il n'existe encore aucune version publique d'une implémentation Plasma. Au lieu de cela, une version réduite de la proposition originale, également appelée plasma viable minimal, ou MVP, a été proposée pour une implémentation simple, qui comprend un modèle de sécurité simplifié et des opérations de base pour les chaînes plasma sortantes.

Un aspect très intéressant du MVP est la réintroduction du modèle UTXO. Une différence majeure d'Ethereum réside dans l'abandon du modèle UTXO de Bitcoin au profit d'un modèle de compte plus défini, où le solde du compte constitue l'objet d'état maintenu au niveau de l'état global.

Le modèle de compte Ethereum simplifie la vérification des transactions et les transferts d'argent, au détriment du parallélisme. Cela ne constitue peut-être pas un inconvénient majeur, puisque toutes les transactions doivent être vérifiées par tous les nœuds. Mais avec Plasma, à mesure que la chaîne principale s'éloigne du traitement des transactions pour se concentrer sur l'application des règles de sécurité et l'arbitrage, il devient important de pouvoir vérifier en parallèle les transactions invalides.

La structure arborescente des chaînes de blocs, et donc l'arbre des UTXO de toutes les chaînes enfants, facilite l'application d'algorithmes parallèles distribués pour vérifier les preuves de fraude et renforcer la sécurité sur l'ensemble des chaînes plasma.

Le diagramme suivant illustre le potentiel de Plasma pour le réseau blockchain Ethereum lorsqu'un arbre de chaînes enfants Plasma Ethereum est lié à la chaîne Plasma parente, et est finalement connecté et sécurisé par l'intermédiaire de la chaîne racine Ethereum :

Une évolutivité massive sera obtenue en déchargeant les calculs coûteux sur les chaînes enfants et en permettant à la chaîne racine de fournir les services de sécurité partagée et d'arbitrage à la blockchain à l'échelle mondiale. Il existe quelques solutions d'interopérabilité inter-chaînes similaires, comme le réseau Cosmos. Se présentant comme l'internet des blockchains, le réseau Cosmos propose une architecture d'intégration en étoile. Les blockchains indépendantes, appelées zones ou rayons, sont rattachées à la blockchain principale qui sert de hub. Son objectif est de faciliter l'intégration de la blockchain via le protocole IBC (communications inter-chaînes).



Recevez votre dose quotidienne d'informations sur les crypto et le trading.

Pas de spams. Seulement du contenu agréable et des mises à jour de l'industrie dans l'espace crypto.

    roadmap