Ethereum, une révolution compliquée : Plasma, une solution aux embouteillages sur l’autoroute de la valeur ?

La nécessité est mère d’innovations – Depuis le début de l’année 2020, l’écosystème d’Ethereum n’a cessé de grandir et de proposer toujours plus d’innovations. Cependant, cette évolution est entachée par un réseau de plus en plus congestionné et des frais de transactions qui explosent. Heureusement, des solutions comme Plasma peuvent permettre de résoudre les problèmes de scalabilité rencontrés par le réseau.

Congestion, frais, toujours la même rengaine

Vous le voyez venir – et pourtant nous n’allons pas y couper –, nous allons parler d’un sujet qui va en frustrer plus d’un : les frais de transactions sur Ethereum.

Certes, depuis le début de l’année 2020, l’écosystème d’Ethereum n’a cessé de s’étoffer en proposant des applications décentralisées plus innovantes les unes que les autres.

Alors oui, nous sommes nombreux à être tombés amoureux de la DeFi et sa multitude de protocoles aux usages variés. Cependant, cela fait maintenant plusieurs mois qu’il est devenu quasi impossible d’interagir sereinement avec ces applications.

En effet, l’arrivée massive d’utilisateurs sur Ethereum avide de tester ce nouvel écosystème, a entrainé une vague de congestion sans précedent. Ainsi, l’utilisation du réseau Ethereum n’est plus descendue en dessous de 90% depuis mai 2020, et plafonne actuellement à 97,5%.

En conséquence, les frais de transactions ont explosé, si bien qu’un simple swap sur Uniswap peut engendrer plusieurs centaines de dollars de frais.

Il ne faut pas être ingénieur en systèmes distribués pour se rendre compte que cette situation est difficilement tenable, si l’objectif est bien l’adoption de masse du protocole.

Heureusement, des solutions existent. Nous avons récemment exploré ce qu’ont à offrir les solutions de seconde couche Loopring et OMG Network. Aujourd’hui, nous allons approfondir un sujet brièvement abordé dans le cadre d’OMG Network, à savoir la solution Plasma.

Qu’est-ce que Plasma ?

Plasma est une solution théorisée en août 2017 par Vitalik Buterin, co-fondateur d’Ethereum, et Joseph Poon, connu pour ses travaux sur le Lighning Network de Bitcoin.

Avant tout chose, rappelons que Plasma fait partie de la famille des solutions dites de seconde couche. En pratique, cela veut dire que cette solution évolue au-dessus de la chaine principale d’Ethereum – couche 1 – de manière comparable au Lightning Network et Bitcoin.

Exemple généraliste du fonctionnement d’une sidechain, ici avec Bitcoin comme chaîne principale (Source : Bitconseil).

Pour faire simple, Plasma se base sur le concept de sidechains en proposant des chaines annexes à Ethereum, appelée Plasma chain, destinées à déporter la charge hors de la blockchain principale.

Évidemment, dans le cas qui nous intéresse, c’est bien la blockchain principale d’Ethereum qui doit intervenir pour garantir la sécurité des fonds.

Point important : Plasma ne se réfère pas à un seul projet, mais à une solution de seconde couche en général. De ce fait, cette solution est utilisée par de nombreux projets différents, ayant chacun des implémentations propres.

Comment Plasma fonctionne ?

Bien que son fonctionnement soit proche de celui des sidechains, une Plasma chain n’en est pas exactement une. En effet, là où une sidechain sera une copie conforme de la chaîne principale, les Plasma chains quant à elles perdent certaines propriétés de la chaîne principale.

En pratique, Plasma est une solution qui repose sur des smart contracts, ainsi que des arbres de Merkle. Ainsi, Plasma permet de créer des chaînes enfants qui sont des copies allégées de la blockchain Ethereum.

Chacune de ces chaînes peut être ensuite dérivée pour créer une autre chaîne enfant. De ce fait, l’ensemble des chaînes forme une structure en arbre.

Ethereum Plasma Tree
Schéma d’un arbre de Plasma chain – Source : whitepaper.

Chaque Plasma Chain de niveau 1 dispose d’un smart contract sur la blockchain Ethereum qui servira d’interface pour faire transiter les fonds entre la couche mère et la chaîne de seconde couche.

Ainsi, Plasma permet de réduire la charge sur Ethereum en déportant la majorité des transactions sur une Plasma chain. Par la suite, cette Plasma chain publiera de manière périodique ses changements d’états sur la blockchain Ethereum. C’est notamment là qu’interviennent les arbres de Merkle, qui permettent de stocker une infime partie des informations sur la blockchain principale tout en laissant la possibilité de recalculer l’ensemble de l’état.

Comment assurer la sécurité des Plasma chains ?

Nous avons vu plus tôt que les Plasma chains reposent sur Ethereum pour assurer leur sécurité.

En pratique, Plasma utilise un système de vérification appelé Fraud Proof. Cette vérification permet d’assurer qu’en cas d’activité malintentionnée, les utilisateurs ont la possibilité de dénoncer les nœuds malveillants pour protéger leurs fonds.

Ainsi, pour retirer des fonds, un utilisateur doit soumettre une preuve qu’il détient les fonds. Une fois cette preuve testée et confirmée par le réseau, l’utilisateur peut retirer ses fonds. À l’inverse, si la preuve se révèle être erronée, elle est considérée comme frauduleuse et sera annulée.

Avantages et inconvénients

Comme toute solution, la solution Plasma n’est pas parfaite. De ce fait, celle-ci présente aussi bien des avantages que des inconvénients, qui devront être pris en compte pour déterminer si cette solution est adaptée à un problème donné.

Ainsi, les avantages de Plasma résident notamment dans sa sécurité. En effet, comme celle-ci est assurée par Ethereum, il est courant de dire que les Plasma chains sont aussi sécurisés que l’est Ethereum. Évidemment, du fait de sa nature de solution de seconde couche, Plasma offre de bien meilleurs performances en termes de transactions par seconde et des frais inférieurs à ceux pratiqué sur le réseau Ethereum. Précisons pour autant que les solutions de seconde couche sont en réalité « seulement » aussi sécurisées que leur implémentation, et non pas de facto que leur blockchain-mère : on a en effet déjà vu des failles éparses concernant la mise sous séquestre de cryptomonnaies sur leurs solutions de seconde couche.

Profitons de cet éclaircissement pour une transition : dans plusieurs cas, la solution Plasma peut être mise à mal. Ainsi, en cas de Mass Exit, c’est-à-dire lorsque pour une raison quelconque les utilisateurs retirent massivement leur fonds, la blockchain mère (à savoir Ethereum) pourrait être congestionnée. Dans ce cas, le délais de retrait dépasserait la challenge period, période pendant laquelle les fonds sont bloqués pour assurer la validité de la transaction.

Également, cette solution nécessite des acteurs actifs sur le réseau pour vérifier que chacune des transactions sortante est valide, et assurer le bon fonctionnement du Proof of Fraud. Qui dit acteur fournissant un service dit récompenses, et celles-ci doivent être correctement proportionnées à la mission.

Enfin, les Plasma chains ne permettent pas – et ne permettront sans doute jamaisd’exécuter de smart contracts hors-chaîne. Ainsi, ces chaînes ne peuvent être utilisées que pour transférer des fonds.

Malgré cela, Plasma sera sans doute l’une des solutions qui permettra à Ethereum de retrouver ses lettres de noblesses. Cette solution est notamment utilisée par les projets OMG Network et Loom Network.

Renaud H.

Ingénieur en software et en systèmes distribués de formation, passionné de cryptos depuis 2013. Touche à tout, entre mining et développement, je cherche toujours à en apprendre plus sur l’univers des cryptomonnaies et à partager le fruit de mes recherches à travers mes articles.