Évolutivité de la blockchain: quand, où, comment?

L’évolutivité de la blockchain, un problème très réel!

(si vous souhaitez aider à résoudre le problème, consultez nos cours sur la blockchain et commencez à expérimenter)

Les crypto-monnaies sont de plus en plus courantes. En fait, voyons à quel point Bitcoin et Ethereum sont devenus populaires au fil du temps. Voici un graphique du nombre de transactions Bitcoin quotidiennes suivies au fil des ans:

Évolutivité de la blockchain: quand, où, comment?

Courtoisie d’image: Wikipedia

Et ici, nous avons le nombre de transactions Ethereum par mois au fil des ans:

Évolutivité de la blockchain: quand, où, comment?

Courtoisie d’image: Etherscan

Maintenant, cela peut sembler très impressionnant, mais voici le problème, la conception initiale des crypto-monnaies n’était pas destinée à une utilisation et une adaptation généralisées. Bien que cela soit gérable lorsque le nombre de transactions était moindre, car elles sont devenues plus populaires, une multitude de problèmes sont survenus.

Former pour devenir un développeur Blockchain

Commencez votre essai gratuit aujourd’hui!

Le problème de l’évolutivité des crypto-monnaies

Pour que Bitcoin et Ethereum puissent rivaliser avec des systèmes plus courants comme les visas et paypal, ils doivent sérieusement intensifier leur jeu en ce qui concerne les délais de transaction. Alors que paypal gère 193 transactions par seconde et que visa gère 1667 transactions par seconde, Ethereum ne fait que 20 transactions par seconde tandis que Bitcoin gère 7 transactions par seconde! La seule façon d’améliorer ces chiffres est de travailler sur leur évolutivité.

Si nous devions catégoriser les principaux problèmes d’évolutivité dans les crypto-monnaies, ils seraient:

  • Le temps est nécessaire pour mettre une transaction dans le bloc.
  • Il faut du temps pour parvenir à un consensus.

Le temps nécessaire pour mettre une transaction dans le bloc

Dans Bitcoin et Ethereum, une transaction se déroule lorsqu’un mineur place les données de transaction dans les blocs qu’il a extraits. Supposons donc qu’Alice veuille envoyer 4 BTC à Bob, elle enverra ces données de transaction aux mineurs, le mineur les mettra ensuite dans leur bloc et la transaction sera considérée comme terminée.

Cependant, à mesure que le bitcoin devient de plus en plus populaire, cela prend de plus en plus de temps. De plus, il y a aussi la petite question des frais de transaction. Vous voyez, lorsque les mineurs minent un bloc, ils deviennent des dictateurs temporaires de ce bloc. Si vous souhaitez que vos transactions se déroulent, vous devrez payer un péage au mineur en charge. Ce «péage» est appelé frais de transaction.

Plus les frais de transaction sont élevés, plus les mineurs les mettront rapidement dans leur bloc. Bien que cela convienne aux personnes qui ont un énorme référentiel de bitcoins, ce n’est peut-être pas l’option la plus viable financièrement. En fait, voici une étude intéressante pour vous. Il s’agit du temps que les gens ont dû attendre s’ils ont payé les frais de transaction les plus bas possibles:

Évolutivité de la blockchain: quand, où, comment?

Si vous payez les frais de transaction les plus bas possibles, vous devrez attendre un temps médian de 13 minutes pour que votre transaction soit effectuée..

Le plus souvent, les transactions devaient attendre qu’un nouveau bloc soit extrait (ce qui représente 10 minutes en bitcoin), car les blocs plus anciens se remplissaient de transactions. Bitcoin a une taille limite de 1 Mo (cela sera étendu plus tard), ce qui limite considérablement sa capacité de transport de transactions.

Ok, alors qu’en est-il d’Ethereum?

Théoriquement parlant, Ethereum est censé traiter 1000 transactions par seconde. Cependant, en pratique, l’éthereum est limité par 6,7 millions de gaz limite sur chaque bloc.

Évolutivité de la blockchain: quand, où, comment?

Pour comprendre ce que signifie «gaz», pensez à cette situation. Alice a émis un contrat intelligent pour Bob. Bob voit que les éléments du contrat coûteront X quantité de gaz. Le gaz signifie la quantité d’effort de calcul de la part de Bob. En conséquence, il facturera à Alice la quantité de gaz qu’il a utilisée.

Voici à quoi ressemble le graphique des prix du gaz:

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: Etherscan.

Qu’est-ce que cela signifie pour l’évolutivité de la blockchain?

Étant donné que chaque bloc a une limite de gaz, les mineurs ne peuvent ajouter que des transactions dont les besoins en gaz totalisent quelque chose qui est égal ou inférieur à la limite de gaz du bloc..

limite de gaz éthéré

Encore une fois, le nombre de transactions en cours est limité.

Le temps nécessaire pour parvenir à un consensus

Actuellement, toutes les devises basées sur la blockchain sont structurées comme un réseau peer-to-peer. Les participants, alias les nœuds, ne bénéficient d’aucun privilège spécial supplémentaire. L’idée est de créer un réseau égalitaire. Il n’y a pas d’autorité centrale et il n’y a pas non plus de hiérarchie. C’est une topologie plate.

Toutes les crypto-monnaies décentralisées sont structurées de cette manière pour une raison simple, pour rester fidèle à leur philosophie. L’idée est d’avoir un système monétaire, où tout le monde est traité sur un pied d’égalité et il n’y a pas d’organe directeur, qui puisse déterminer la valeur de la monnaie sur la base d’un caprice. Cela est vrai à la fois pour Bitcoin et Ethereum.

Maintenant, s’il n’y a pas d’entité centrale, comment tout le monde dans le système pourrait-il savoir qu’une certaine transaction a eu lieu? Le réseau suit le protocole des potins. Pensez à la propagation des potins. Supposons qu’Alice envoie 3 ETH à Bob. Les nœuds les plus proches d’elle le sauront, puis ils le diront aux nœuds les plus proches d’eux, puis ils le diront à leurs voisins, et cela continuera à s’étendre jusqu’à ce que tout le monde le sache. Les nœuds sont essentiellement vos parents curieux et ennuyeux.

N’oubliez pas que les nœuds suivent un système sans confiance. Ce que cela signifie, c’est que le simple fait que le nœud A déclare qu’une transaction est valide ne signifie pas que le nœud B le croira. Le nœud B effectuera son propre ensemble de calculs pour voir si la transaction est réellement valide ou non. Cela signifie que chaque nœud doit avoir sa propre copie de la blockchain pour les aider à le faire. Comme vous pouvez l’imaginer, cela rend l’ensemble du processus très lent.

Le problème est que, contrairement à d’autres technologies, plus le nombre de nœuds augmente dans un réseau de crypto-monnaie, plus le processus est lent. Le consensus se produit de manière linéaire, ce qui signifie qu’il y a 3 nœuds A, B et C.

Pour qu’un consensus se produise, A ferait d’abord les calculs et vérifierait, puis B ferait de même et ensuite C.

Cependant, s’il y a un nouveau nœud dans le système appelé «D», cela ajouterait un autre nœud au système de consensus, ce qui augmentera la durée globale. À mesure que les crypto-monnaies sont devenues plus populaires, les temps de transaction sont devenus plus lents.

C’est particulièrement un problème avec ethereum, car il a le plus grand nombre de nœuds parmi toutes les crypto-monnaies. Grâce à l’engouement pour les ICO, tout le monde veut avoir un morceau d’éthereum, ce qui a considérablement augmenté le nombre de nœuds dans son réseau. En fait, en mai 2017, Ethereum comptait 25 000 nœuds contre 7 000 pour Bitcoin !! C’est plus de 3 fois. En fait, le nombre de nœuds d’avril à mai a augmenté de 81% … soit presque le double!

Évolutivité de la blockchain: quand, où, comment?

Courtoisie d’image: Trust Nodes.

Alors, quelles sont les solutions aux problèmes d’évolutivité de la Blockchain?

Ethereum et Bitcoins ont mis au point une multitude de solutions qui ont déjà été ou vont être mises en œuvre. Passons en revue quelques-uns des principaux.

Ceux que nous couvrirons sont:

  • Segwit.
  • Augmentation de la taille du bloc.
  • Sharding.
  • Preuve d’enjeu.
  • Canaux d’état hors chaîne.
  • Plasma

Segwit (exclusif au bitcoin)

Le Dr Peter Wiulle de Blockstream a envisagé Segwit comme l’une des fonctionnalités de la sidechain qui fonctionnera parallèlement à la principale blockchain Bitcoin.

diagramme de sidechain

Activer Segwit alias Segregated Witness signifierait que toutes les données de signature de chaque transaction passeront de la chaîne principale à la chaîne latérale. Qu’entend-on par données de signature? Examinons les données des coulisses d’une transaction:

Le code des détails de la transaction

Voici à quoi ressemble la transaction sous forme de code. Supposons qu’Alice veuille envoyer 0,0015 BTC à Bob et que pour ce faire, elle envoie des entrées qui valent 0,0015770 BTC. Voici à quoi ressemble le détail de la transaction:

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: chaîne YouTube DJP3.

La première chose que vous voyez:

Évolutivité de la blockchain: quand, où, comment?

Est le nom de la transaction aka le hachage de la valeur d’entrée et de sortie.

  • Vin_sz est le nombre de données d’entrée, puisqu’Alice envoie les données en utilisant une seule de ses transactions précédentes, il vaut 1.
  • Vout_sz vaut 2 car les seules sorties sont Bob et le changement.

Voici les données d’entrée:

Évolutivité de la blockchain: quand, où, comment?

Voir les données d’entrée? Alice n’utilise qu’une seule transaction d’entrée car vin_sz vaut 1. Les données d’entrée sont de 0,0015770 BTC.

Sous les données d’entrée se trouvent ses données de signature (rappelez-vous ceci pour la section suivante)

Sous tout cela se trouvent les données de sortie:

  • La première partie des données signifie que Bob obtient 0,0015 BTC.
  • La deuxième partie signifie que 0.00005120 BTC est ce qu’Alice récupère en tant que changement.
  • Maintenant, rappelez-vous que nos données d’entrée étaient de 0,0015770 BTC? Ceci est supérieur à (0,0015 + 0,00005120). Le déficit de ces deux valeurs correspond aux frais de transaction que les mineurs perçoivent.

C’est l’anatomie d’une simple transaction.

Alors que se passera-t-il lors de l’activation de Segwit?

Le problème avec ces données de signature est qu’elles sont très volumineuses. En fait, 65% des données reprises par la transaction sont dues à la signature. Et ces données ne sont utiles que pour le processus de vérification initiale, elles ne sont pas du tout nécessaires plus tard.

Alors que se passera-t-il lors de l’activation de Segwit?

Les données de signature passeront de la chaîne principale au bloc étendu de la chaîne parallèle:

Cela permettra de libérer beaucoup d’espace dans le bloc lui-même pour plus de transactions.

Il a été envisagé que les données de signature seraient disposées sous la forme d’un arbre Merkle dans la chaîne latérale. La racine Merkle des transactions a été placée dans le bloc avec la transaction coinbase (la première transaction de chaque bloc qui signifie essentiellement la récompense de bloc). Cependant, en faisant cela, les développeurs sont tombés sur quelque chose d’inattendu. Ils ont découvert qu’en plaçant la racine merkle à cet endroit particulier, ils ont en quelque sorte augmenté la limite de taille globale des blocs SANS augmenter la limite de taille de bloc!

Depuis le 24 août 2017, segwit a été activé sur Bitcoin. Voyons ce que Segwit avait à dire à ce sujet:

Qu'est-ce que Segwit? Un cours intensif pour débutants!

Image courtoisie: segwit.co

Avantages et inconvénients de Segwit

Avantages de segwit:

  • Augmente le nombre de transactions qu’un bloc peut prendre.
  • Diminue les frais de transaction.
  • Réduit la taille de chaque transaction individuelle.
  • Les transactions peuvent désormais être confirmées plus rapidement car le temps d’attente va diminuer.
  • Aide à l’évolutivité du bitcoin.
  • Étant donné que le nombre de transactions dans chaque bloc augmentera, cela peut augmenter le total des frais globaux qu’un mineur peut percevoir..
  • Supprime la malléabilité des transactions et facilite l’activation du protocole Lightning (plus d’informations à ce sujet plus tard)
  • Supprime le problème de hachage quadratique: le hachage quadratique est un problème qui accompagne l’augmentation de la taille des blocs. Le problème est que dans certaines transactions, le hachage de la signature évolue de manière quadratique

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: Bitcoincore.org

Fondamentalement, doubler le montant des transactions dans un bloc doublera le nombre de transactions et doublera à son tour la quantité de données de signature qui seront à l’intérieur de chacune de ces transactions. Cela rendrait les transactions encore plus volumineuses et augmenterait considérablement le temps de transaction. Cela ouvre les portes aux parties malveillantes qui pourraient vouloir spammer la blockchain.

Segwit résout ce problème en modifiant le calcul du hachage de signature et en rendant l’ensemble du processus plus efficace.

Inconvénients de segwit:

  • Les mineurs bénéficieront désormais de frais de transaction moins élevés pour chaque transaction individuelle.
  • La mise en œuvre est complexe et tous les portefeuilles devront implémenter segwit eux-mêmes. Il y a de grandes chances qu’ils ne réussissent pas du premier coup.
  • Cela augmentera considérablement l’utilisation des ressources puisque la capacité, les transactions, la bande passante tout augmenteront.
  • Comme le montre la création de Bitcoin Cash, elle a finalement divisé la communauté Bitcoin Core.
  • Un autre problème avec Segwit est la maintenance. La sidechain contenant les données de signature devra également être maintenue par les mineurs. Cependant, contrairement à la blockchain principale, les mineurs n’ont aucun avantage financier à le faire, cela devra être fait pro-bono ou un système de récompense doit être pensé pour inciter les mineurs..

Augmentation de la taille du bloc

Maintenant, puisque le principal problème de Bitcoin et d’Ethereum a été la taille limitée du bloc, pourquoi ne pas simplement les augmenter? Bitcoin n’était pas censé avoir une limite de 1 Mo, mais Satoshi a été obligé de le mettre parce qu’ils ne voulaient pas que Bitcoin soit enlisé par les transactions de spam.

Bien que cela puisse sembler une bonne idée dans la pratique, la mise en œuvre de cela a été tout sauf. En fait, cela a donné naissance à de nombreux débats au sein de la communauté Bitcoin, les parties se battant passionnément pour et contre l’augmentation de la taille des blocs. Vérifions certains de ces arguments:

Arguments contre l’augmentation de la taille des blocs

  • Les mineurs perdront leur motivation car les frais de transaction diminueront: puisque la taille des blocs augmentera, les transactions seront facilement insérées, ce qui réduira considérablement les frais de transaction. Il y a des craintes que cela puisse décourager les mineurs et qu’ils pourraient passer à des pâturages plus verts. Si le nombre de mineurs diminue, cela diminuera le hashrate global du bitcoin.
  • Les bitcoins ne doivent pas être utilisés à des fins quotidiennes: certains membres de la communauté ne veulent pas que le bitcoin soit utilisé pour des transactions quotidiennes régulières. Ces personnes estiment que les bitcoins ont un objectif plus élevé que d’être simplement une monnaie courante.
  • Cela divisera la communauté: une augmentation de la taille du bloc provoquera inévitablement une fourchette dans le système qui créera deux bitcoins parallèles et divisera donc la communauté dans le processus. Cela peut détruire l’harmonie dans la communauté.
  • Cela entraînera une centralisation accrue: étant donné que la taille du réseau augmentera, la quantité de puissance de traitement requise pour l’extraction augmentera également. Cela supprimera tous les petits pools miniers et donnera des pouvoirs miniers exclusivement aux grands pools. Cela augmentera à son tour la centralisation qui va à l’encontre de l’essence même des bitcoins.

Arguments pour l’augmentation de la taille du bloc

  • L’augmentation de la taille du bloc fonctionne réellement à l’avantage du mineur: l’augmentation de la taille du bloc signifiera une augmentation des transactions par bloc, ce qui augmentera à son tour le montant des frais de transaction qu’un mineur peut gagner en minant un bloc..
  • Le Bitcoin doit se développer davantage et être plus accessible pour «l’homme ordinaire». Si la taille du bloc ne change pas, il existe une possibilité très réelle que les frais de transaction augmentent de plus en plus. Lorsque cela se produit, l’homme ordinaire ne pourra jamais l’utiliser et il ne sera utilisé que par les riches et les grandes entreprises. Cela n’a jamais été le but de Bitcoin.
  • Les changements ne se produiront pas tous en même temps, ils se produiront progressivement au fil du temps. La plus grande crainte que les gens ont en ce qui concerne le changement de taille de bloc est que trop de choses vont être affectées en même temps et cela entraînera une perturbation majeure. Cependant, les personnes qui sont «pro-augmentation de la taille des blocs» pensent qu’il s’agit d’une crainte non fondée, car la plupart des changements seront traités sur une période de temps.
  • L’augmentation de la taille des blocs bénéficie déjà d’un large soutien et les personnes qui ne sont pas avec le temps risquent d’être laissées pour compte.
  • Segwit n’est pas une solution permanente.

Quoi qu’il en soit, le 21 mai 2017, l’accord de New York a eu lieu où il a été décidé que Segwit sera activé et que la taille des blocs passera à 2 mb.

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: article DCG dans Medium.

Les personnes qui n’étaient pas satisfaites de l’idée d’activer Segwit se sont éloignées de la chaîne principale et ont fabriqué du Bitcoin Cash qui a une limite de taille de bloc de 8 Mo.

Une augmentation de la taille des blocs a également été suggérée pour Ethereum, mais pour de nombreuses raisons, les gens ne sont pas vraiment enclins à le faire dans Ethereum au moment de la rédaction:

  • Tout d’abord, le principal obstacle à l’évolutivité d’Ethereum est la vitesse du consensus entre les nœuds. L’augmentation de la taille du bloc ne résoudra toujours pas ce problème. En fait, à mesure que le nombre de transactions par bloc augmente, le nombre de calculs et de vérifications par nœud augmentera également.
  • Afin d’accommoder de plus en plus de transactions, la taille des blocs doit être augmentée périodiquement. Cela centralisera davantage le système car les ordinateurs et les utilisateurs normaux ne pourront pas télécharger et conserver ces chaînes de blocs volumineuses. Cela va à l’encontre de l’esprit égalitaire d’une blockchain.
  • Enfin, l’augmentation de la taille des blocs se fera uniquement via hardfork, qui peut diviser la communauté. La dernière fois qu’une grande fourche dure s’est produite à Ethereum, toute la communauté a été divisée et deux devises distinctes sont apparues. Les gens ne veulent pas vraiment que cela se reproduise.

Preuve d’enjeu

Le passage de la preuve de travail à la preuve de participation

L’une des plus grandes choses qui se passe actuellement est le passage d’Ethereum de la preuve de travail à la preuve de participation.

  • Preuve de travail: C’est le protocole que la plupart des crypto-monnaies comme ethereum et Bitcoin ont suivi jusqu’à présent. Cela signifie que les mineurs «minent» les crypto-monnaies en résolvant des énigmes cryptographiques à l’aide d’un matériel dédié.
  • Preuve de participation: Ce protocole rendra tout le processus de minage virtuel. Dans ce système, nous avons des validateurs au lieu de mineurs. La façon dont cela fonctionne est qu’en tant que validateur, vous devrez d’abord verrouiller une partie de votre éther comme enjeu. Après cela, vous commencerez à valider les blocs, ce qui signifie essentiellement que si vous voyez des blocs qui, selon vous, peuvent être ajoutés à la blockchain, vous pouvez le valider en plaçant un pari dessus. Quand et si, le bloc est ajouté, vous obtiendrez une récompense proportionnelle à la mise que vous avez investie. Si, cependant, vous pariez sur le mauvais ou le blocage malveillant, la mise que vous avez investie vous sera enlevée.

Pour implémenter la «preuve d’enjeu», Ethereum va utiliser l’algorithme de consensus Casper. Au début, ce sera un système de style hybride où la majorité des transactions seront toujours effectuées avec la preuve de style de travail tandis que chaque 100e transaction sera une preuve d’enjeu. Cela permettra de fournir un test du monde réel pour la preuve de participation sur la plate-forme Ethereum. Mais qu’est-ce que cela signifie pour Ethereum et quels sont les avantages de ce protocole? Nous allons jeter un coup d’oeil.

Avantages de la preuve de participation

  • Réduit le coût énergétique et monétaire global: les mineurs de bitcoins du monde dépensent environ 50 000 dollars de l’heure en électricité. Cela représente 1,2 million de dollars par jour, 36 millions de dollars par mois et environ 450 millions de dollars par an! Pensez simplement à ces chiffres et à la quantité d’énergie gaspillée. En utilisant la «preuve d’enjeu», vous rendez l’ensemble du processus complètement virtuel et supprimez tous ces coûts.
  • Aucun avantage ASIC: comme l’ensemble du processus sera virtuel, cela ne dépendra pas de qui possède le meilleur équipement ou ASIC (circuit intégré spécifique à l’application).
  • Rend 51% l’attaque plus dure: l’attaque à 51% se produit lorsqu’un groupe de mineurs gagne plus de 50% de la puissance de hachage du monde. Utiliser la preuve d’enjeu annule cette attaque.
  • Validateurs non malveillants: tout validateur dont les fonds sont bloqués dans la blockchain s’assurera de ne pas ajouter de blocs erronés ou malveillants à la chaîne, car cela signifierait que toute leur participation leur serait retirée..
  • Création de blocs: accélère la création de blocs plus récents et de l’ensemble du processus. (Plus d’informations à ce sujet dans la section suivante).
  • Évolutivité: rend la blockchain évolutive en introduisant le concept de «partitionnement» (nous en parlerons plus tard.)

Comment cela aide-t-il l’évolutivité de la blockchain??

L’introduction de la preuve d’enjeu va rendre la blockchain beaucoup plus rapide car il est beaucoup plus simple de vérifier qui a le plus d’enjeu que de voir qui a le plus de pouvoir de hachage. Cela rend le consensus beaucoup plus simple. De plus, la mise en œuvre d’une «blockchain de preuve d’enjeu» fait partie intégrante de Serenity, la 4ème et dernière forme d’ethereum (plus d’informations à ce sujet dans un instant.)

Dans le même temps, la preuve d’enjeu facilite la mise en œuvre du sharding. Dans un système de preuve de travail, il sera plus facile pour un attaquant d’attaquer des fragments individuels qui peuvent ne pas avoir un hashrate élevé.

De plus, dans les points de vente, les mineurs ne recevront pas de frais forfaitaires et ne pourront gagner que via les frais de transaction. Cela les incite à augmenter la taille du bloc pour obtenir plus de transactions (via la gestion du gaz).

Quel est l’avenir de la preuve d’enjeu?

À partir de maintenant, la première étape de Casper sera mise en œuvre sur la blockchain, dans laquelle chaque 100ème bloc sera vérifié via une preuve de participation. Yoichi Hirai des fondations Ethereum a exécuté des scripts casper via des détecteurs de bogues mathématiques pour s’assurer qu’il est complètement exempt de bogues.

Finalement, le plan est de déplacer la majorité de la création de blocs par le biais de la preuve d’enjeu et la façon dont ils prévoient de le faire est … en entrant dans l’ère glaciaire. «L’ère glaciaire» est une bombe à retardement qui va rendre l’exploitation minière exponentiellement plus difficile. Avoir une difficulté incroyablement élevée réduira considérablement le taux de hachage, ce qui réduira à son tour la vitesse de l’ensemble de la blockchain et du DAPPS en cours d’exécution. Cela obligera toutes les personnes impliquées dans Ethereum à passer à la preuve de participation.

Cependant, toute cette transition n’est pas sans obstacles. L’une des plus grandes craintes que les gens ont est que les mineurs puissent forcer une fourche dure dans la chaîne à un moment donné avant le début de l’ère glaciaire, puis continuer à miner dans cette chaîne. Cela pourrait être potentiellement désastreux car cela signifierait qu’il pourrait y avoir 3 chaînes différentes d’éthereum en même temps: Ethereum classique, preuve de travail ethereum et preuve d’enjeu Ethereum.

Ce n’est actuellement que spéculation. Pour l’instant, le fait est que, pour un modèle évolutif, il est essentiel qu’Ethereum utilise la preuve d’enjeu pour obtenir la vitesse et la flexibilité nécessaires..

Sharding

Le plus gros problème auquel ethereum est confronté est la vitesse de vérification des transactions. Chaque nœud complet du réseau doit télécharger et enregistrer l’intégralité de la blockchain. Ce que fait le sharding, c’est qu’il décompose une transaction en fragments et la répartit sur le réseau. Les nœuds fonctionnent sur des fragments individuels côte à côte. Cela réduit à son tour le temps global nécessaire.

Imaginez qu’Ethereum ait été divisé en milliers d’îles. Chaque île peut faire sa propre chose. Chacune des îles a ses propres caractéristiques uniques et toutes les personnes appartenant à cette île, c’est-à-dire les comptes, peuvent interagir les unes avec les autres ET elles peuvent librement se livrer à toutes ses fonctionnalités. S’ils veulent entrer en contact avec d’autres îles, ils devront utiliser une sorte de protocole.

Alors, la question est de savoir comment cela va changer la blockchain?

Évolutivité de la blockchain: quand, où, comment?

À quoi ressemble un bloc normal dans Bitcoin ou Ethereum (pré-sharding)?

Donc, il y a un en-tête de bloc et le corps qui contient toutes les transactions dans le bloc. La racine Merkle de toutes les transactions sera dans l’en-tête du bloc.

Maintenant, réfléchis à ça.

  • Bitcoin avait-il vraiment besoin de blocs?
  • Avait-il vraiment besoin d’une chaîne de blocs??
  • Satoshi aurait pu simplement effectuer une chaîne de transactions en incluant le hachage de la transaction précédente dans la nouvelle transaction, créant ainsi une «chaîne de transaction» pour ainsi dire.

La raison pour laquelle ils organisent ces transactions dans un bloc est de créer un niveau d’interaction et de rendre l’ensemble du processus plus évolutif. Ce que suggère Ethereum, c’est qu’ils changent cela en deux niveaux d’interaction.

Le premier niveau

Le premier niveau est le groupe de transactions. Chaque partition a son propre groupe de transactions.

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: Hackernoon

Le groupe de transactions est divisé en l’en-tête du groupe de transactions et le corps du groupe de transactions.

En-tête du groupe de transactions

  • L’en-tête est divisé en parties gauche et droite distinctes.

La partie gauche:

  • ID du fragment: ID du fragment auquel appartient le groupe de transactions.
  • Pre state root: Il s’agit de l’état de la racine de la partition 43 avant l’application des transactions..
  • Post state root: Il s’agit de l’état de la racine de la partition 43 après l’application des transactions.
  • Racine de réception: la racine de réception après l’application de toutes les transactions de la partition 43.

La bonne partie:

  • La partie droite est pleine de validateurs aléatoires qui doivent vérifier les transactions dans le fragment lui-même. Ils sont tous choisis au hasard.

Corps du groupe de transactions

  • Il a tous les ID de transaction dans le fragment lui-même.

Propriétés du niveau un

  • Chaque transaction spécifie l’ID du fragment auquel elle appartient.
  • Une transaction appartenant à une partition particulière montre qu’elle s’est produite entre deux comptes natifs de cette partition particulière.
  • Le groupe de transactions contient des transactions qui appartiennent uniquement à cet ID de partition et qui lui sont uniques.
  • Spécifie la racine de l’état pré et post.

Voyons maintenant le niveau supérieur, c’est-à-dire le deuxième niveau.

Le deuxième niveau

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: Hackernoon.

Non, n’aie pas peur! C’est plus facile à comprendre qu’il n’y paraît.

Il y a la chaîne de blocs normale, mais elle contient maintenant deux racines primaires:

  • La racine d’état
  • La racine du groupe de transactions

La racine d’état représente l’état entier, et comme nous l’avons vu précédemment, l’état est décomposé en fragments, qui contiennent leurs propres sous-états.

La racine du groupe de transactions contient tous les groupes de transactions à l’intérieur de ce bloc particulier.

Propriétés du niveau deux

  • Le niveau deux est comme une simple blockchain, qui accepte des groupes de transactions plutôt que des transactions.
  • Le groupe de transactions n’est valide que si: a) La racine de l’état antérieur correspond à la racine de la partition dans l’état global.

    b) Les signatures dans le groupe de transactions sont toutes validées.

  • Si le groupe de transactions entre, la racine d’état global devient la racine de post-état de cet ID de partition particulier.

Alors, comment se passe la communication inter-fragments?

Maintenant, souviens-toi de notre analogie avec les îles?

Les fragments sont essentiellement des îles. Alors, comment ces îles communiquent-elles entre elles? N’oubliez pas que le but des fragments est de faire en sorte que de nombreuses transactions parallèles se produisent en même temps pour améliorer les performances. Si Ethereum permet une communication aléatoire entre les fragments, cela va à l’encontre de tout l’objectif du partage..

Alors, quel protocole doit être suivi pour la communication cross-shard?

ethereum a choisi de suivre le paradigme de réception pour les communications inter-fragments. Regarde ça:

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: hackernoon

Comme vous pouvez le voir ici, chaque reçu individuel de toute transaction est facilement accessible via plusieurs arbres Merkle à partir de la racine du groupe de transactions Merkle. Chaque transaction dans une partition fera deux choses:

  • Changer l’état du fragment auquel il appartient
  • Générer un reçu

Voici une autre information intéressante. Les reçus sont stockés dans une mémoire partagée distribuée, qui peut être vue par d’autres fragments mais non modifiée. Par conséquent, la communication entre les fragments peut se produire via les reçus comme ceci:

Évolutivité de la blockchain: quand, où, comment?

Image courtoisie: Hackernoon

Quels sont les défis de la mise en œuvre du sharding?

  • Il doit y avoir un mécanisme pour savoir quel nœud implémente quelle partition. Cela doit être fait de manière sûre et efficace pour garantir la parallélisation et la sécurité.
  • Selon Vlad Zamfir, la preuve d’enjeu doit d’abord être mise en œuvre pour faciliter le partage. Dans un système de preuve de travail, il sera plus facile d’attaquer les fragments avec moins de hashrate.
  • Les nœuds fonctionnent sur un système sans confiance, ce qui signifie que le nœud A ne fait pas confiance au nœud B et qu’ils doivent tous deux parvenir à un consensus indépendamment de cette confiance. Donc, si une transaction particulière est divisée en fragments et distribuée au nœud A et au nœud B, le nœud A devra proposer une sorte de mécanisme de preuve qu’ils ont terminé de travailler sur leur partie du fragment..

Canaux d’état hors chaîne

Qu’est-ce qu’un canal d’état?

UNE canal d’état est un canal de communication bidirectionnel entre les participants qui leur permet de mener des interactions, qui se produiraient normalement sur la blockchain, hors de la blockchain. Cela réduira le temps de transaction de manière exponentielle puisque vous n’êtes plus dépendant d’un tiers comme un mineur pour valider votre transaction.

Alors, quelles sont les exigences pour créer un canal d’état hors chaîne?

  • Un segment de l’état de la blockchain est verrouillé via la multi-signature ou une sorte de contrat intelligent, qui est convenu par un ensemble de participants.
  • Les participants interagissent les uns avec les autres en signant des transactions entre eux sans se laisser soumettre quoi que ce soit aux mineurs.
  • L’ensemble de transactions complet est ensuite ajouté à la blockchain.

Les canaux d’état peuvent être fermés à un point qui est prédéterminé par les participants selon le fondateur de Slock.it Stephan Thual. Cela pourrait être:

  • Temps écoulé, par exemple. les participants peuvent accepter d’ouvrir une chaîne d’État et de la fermer après 2 heures.
  • Il pourrait être basé sur le montant total des transactions effectuées, par exemple. fermer la chaîne après que 100 $ de transactions ont eu lieu.

canaux d'état offchain

Courtoisie d’image: article de Stephan Tual Medium

Donc, dans l’image ci-dessus. Nous avons une voiture qui interagit directement avec le chargeur et effectue un total de 39,19 $ de transactions. Enfin, après une série d’interactions, l’ensemble de la transaction est ajouté à la blockchain. Imaginez combien de temps cela aurait pris s’ils devaient exécuter chaque transaction via la blockchain!

Le canal d’état hors chaîne que Bitcoin cherche à mettre en œuvre est le réseau Lightning.

Quel est le réseau Lightning?

Le réseau éclair est un système de micropaiement hors chaîne qui est conçu pour accélérer les transactions dans la blockchain. Il a été conceptualisé par Joseph Poon et Tadge Dryja dans leur livre blanc qui visait à résoudre la limite de taille de bloc et les problèmes de délai de transaction. Il fonctionne au-dessus de Bitcoin et est souvent appelé «couche 2». Comme le note Jimmy Song dans son article médiatique:

«Le Lightning Network fonctionne en créant une transaction à double signature. Autrement dit, nous avons un nouveau chèque qui oblige les deux parties à signer pour qu’il soit valide. Le chèque spécifie la quantité envoyée d’une partie à une autre. Au fur et à mesure que de nouveaux micro-paiements sont effectués d’une partie à l’autre, le montant du chèque est modifié et les deux parties signent le résultat. »

Le réseau permettra à Alice et Bob de négocier entre eux sans être retenus captifs par un tiers aka le mineur. Pour l’activer, la transaction doit être validée par Alice et Bob avant d’être diffusée sur le réseau. Cette double signature est essentielle pour que la transaction se déroule.

Cependant, voici où nous sommes confrontés à un autre problème.

Étant donné que la double vérification dépend fortement de l’identifiant de transaction, si pour une raison quelconque l’identifiant est modifié, cela provoquera une erreur dans le système et le Lightning Network ne s’activera pas. Dans le cas où vous vous demandez quel est l’identifiant de la transaction, c’est le nom de la transaction aka le hachage des transactions d’entrée et de sortie.

Ceci est l’identifiant de la transaction.

Un bogue appelé «Transaction Malleability» peut entraîner une modification de l’identifiant de la transaction. Cependant, ce ne sera plus un problème, car l’activation de Segwit supprime ce bogue.

ethereum prévoit également d’activer quelque chose comme le réseau Lightning qui s’appelle «Raiden».

Plasma

Le plasma et le réseau Lightning / Raiden introduiront une toute nouvelle couche dans l’architecture Ethereum:

futures couches de blockchain

Image courtoisie: Medium.

Plasma est une série de contrats qui s’exécutent au sommet de la chaîne racine (la principale blockchain Ethereum). Si vous envisagez l’architecture et la structure, pensez à la blockchain principale et aux blockchains plasma comme un arbre. La blockchain principale est la racine tandis que la chaîne plasma aka les blockchains enfants sont les branches.

Évolutivité de la blockchain: quand, où, comment?

Cela réduit considérablement la charge sur la chaîne principale. Périodiquement, les succursales envoient des rapports à la chaîne principale. En fait, vous pouvez voir la chaîne racine comme la cour suprême et toutes les branches comme les tribunaux subordonnés qui tirent ses pouvoirs du tribunal principal..

Toutes les chaînes de succursales peuvent émettre leurs propres jetons uniques, ce qui peut inciter les validateurs de chaîne à prendre soin des chaînes et à s’assurer qu’elles sont sans défaut. Chaque branche a ses propres données indépendantes et lorsqu’elle doit soumettre des données à la chaîne principale, elle ne vide pas tout son contenu, elle soumet simplement le hachage de l’en-tête du blog à la chaîne principale.

Non seulement le plasma économise beaucoup d’espace dans la chaîne principale, mais il augmente également la vitesse du processus de transaction de manière exponentielle. S’il est mis en œuvre correctement, cela pourrait être l’un des changements les plus révolutionnaires jamais apportés à Ethereum et à la crypto-monnaie en général.

Regard vers l’avenir – Évolutivité de la blockchain

La crypto-monnaie, et en particulier, le bitcoin et l’ethereum sont de plus en plus courants. Afin de suivre le rythme de l’utilisation croissante, ils doivent sérieusement l’intensifier en matière d’évolutivité. Heureusement, il existe des solutions fascinantes qui pourraient leur donner des résultats très intéressants. Peuvent-ils vraiment résoudre le problème de l’évolutivité? Cela reste à voir.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me