Vitalik Buterin présente un mécanisme de consensus tolérant 99% d’acteurs corrompus
L’attaque des 51% est une des plus grandes menaces qui pèsent sur les cryptomonnaies : cette prise de contrôle d’une blockchain par un seul groupe de mineurs mal intentionnés peut corrompre les blocs et provoquer des doubles dépenses. Et malheureusement, depuis début 2018, les victimes se sont enchaînées : d’abord Verge (XVG) (qui a depuis été ré-attaquée une 2ème fois), puis Bitcoin Gold (BTG) et ensuite ZenCash (ZEN).
Un algorithme de consensus ayant une tolérance à la corruption de 99% des nœuds
Vitalik Buterin, le célèbre co-fondateur du réseau Ethereum (ETH), a publié sur son site une explication du « 99% Fault Tolerant Consensus » (conçu à l’origine par Leslie Lamport en 1982) qui, appliqué aux blockchains, devrait en théorie devrait rendre impossible les attaques des 51%.
I did NOT invent 99% fault tolerant consensus; Leslie Lamport did. I just wrote an explainer and adapted it to a blockchain context. Please fix, Trustnodes.https://t.co/Bk2Y5GbK2h
— vitalik.eth (@VitalikButerin) August 10, 2018
Comme Vitalik l’expose dans sa publication :
« (…) saviez-vous que si vous ajoutez encore plus d’affectations – en particulier, vous aurez besoin d’observateurs, c’est-à-dire d’utilisateurs qui ne participent pas activement au consensus, mais (…) surveillent activement le consensus (…) – vous pouvez augmenter la tolérance aux erreurs à 99% ? ».
Dans cet algorithme de consensus complexe, il suffirait que 1% des nœuds soient « honnêtes » pour que la blockchain ne soit pas corruptible (au lieu des 51 % pour les les blockchains en preuve de travail actuelles).
Les attaquants devraient donc contrôler plus de 99 % des nœuds de ce type de blockchain pour mener une action malveillante.
Comme Blockmanity le souligne, ce consensus nécessite un nouveau type de nœud de validation, des « nœuds observateurs indépendants » (« independent observer nodes »). Ils permettraient de repérer les transactions de double dépense, car elles seraient anormalement plus rapides (ou lentes) que les transactions normales.
Application du « 99% Fault Tolerant Consensus » au réseau Ethereum ?
Après avoir exposé le fonctionnement de ce mécanisme de consensus, Vitalik Buterin explique que :
« Il pourrait également être modifié pour être utilisé comme sur les blockchains en preuve de travail (PoW), en permettant aux nœuds participants au consensus de se « déclarer eux-mêmes » en temps réel, en publiant une solution de preuve de travail sur leur clé publique, tout en signant un message avec elle. »
Comme le résume Conrad Barski, développeur Ethereum, cité par Blockmanity :
« Vitalik propose que si un observateur indépendant du trafic réseau (c.-à-d. seulement le client blockchain qu’un utilisateur exécute, et non pas un mineur/validateur) surveille ce qui se passe en temps réel et prête attention quand des messages apparaissent, il peut détecter la « tricherie » des mineurs (malveillants) effectuant une attaque des 51%, et cela peut fournir des garanties de sécurité supplémentaires pouvant prévenir une telle attaque ».
Évidemment, ce mécanisme de consensus n’en est ici qu’à l’exposition théorique, mais avec le développement des cryptomonnaies et les sommes en jeu toujours croissantes, tout processus permettant d’amener plus de sécurisation à une blockchain est bon à prendre. Car comme Vitalik l’explique, même en limitant ce consensus à 95% de tolérance aux erreurs : « si 5% des validateurs sont honnêtes, il y a seulement 1 chance sur 1 billion (mille milliard) qu’aucun des 512 nœuds sélectionnés au hasard ne soit honnête » (dans l’exemple d’une blockchain avec 512 nœuds validateurs).
[es_tradingview symbol= »ethusd » interval= »D » height= »350″ colors= »Light »]
Sources : Vitalik.ca ; BlockManity ; Twitter || Image from Shutterstock