Les systèmes comme Ethereum (et Bitcoin, et NXT, et Bitshares, etc.) forment une classe fondamentalement nouvelle d'organismes crypto-économiques : des entités décentralisées sans juridiction qui existent entièrement dans le cyberespace, maintenus par une combinaison de cryptographie, d'économie et de consensus social. Ils ressemblent à BitTorrent mais en diffèrent car ce dernier n'a pas de concept d'état, distinction qui s'avère cruciale. On les décrit parfois comme des corporations autonomes décentralisées, mais elles en diffèrent également : on ne peut pas forker Microsoft. Ils ressemblent à des projets de logiciels open source, mais ne le sont pas exactement non plus : on peut forker une blockchain mais pas aussi facilement qu'OpenOffice.
Ces réseaux crypto-économiques existent sous de nombreuses formes : PoW (preuve de travail) sur ASIC et PoW sur GPU, PoS (preuve d'enjeu) naïve, PoS déléguée et, bientôt espérons-le, PoS Casper, chacune de ces formes étant associée à une philosophie qui lui est propre. Un exemple bien connu est la vision maximaliste de la preuve de travail où « la » blockchain correcte, au singulier, est définie comme la chaine pour la création de laquelle les mineurs ont brûlé le montant le plus élevé de capital économique. À l'origine simple règle de choix de la branche intégrée au protocole, ce mécanisme a été élevé au rang de dogme sacro-saint en de nombreux cas ; cette discussion sur Twitter entre Chris DeRose et moi-même montre quelqu'un qui essaie de défendre sérieusement cette idée sous sa forme la plus pure, même dans le cas de hard forks changeant l'algorithme du protocole. La preuve d'enjeu déléguée de Bitshares présente une autre philosophie cohérente, où tout découle de nouveau d'un principe simple qui peut être décrit encore plus simplement : les participants votent.
Chacune de ces philosophies, qu'il s'agisse du consensus de Nakamoto, de consensus social ou de vote de participants, mène à son propre ensemble de conclusions et à un système de valeurs qui prend tout son sens quand on les considère selon leurs propres termes - bien qu'il soient certainement sujet à critique quand on les compare les uns aux autres. Le consensus de Casper est également étayé par une philosophie, bien qu'elle n'ait pas été articulée de manière aussi concise jusqu'à présent.
Qu'il s'agisse de moi-même, de Vlad, de Dominic, de Jae et d'autres, nous avons tous nos propres vues sur l'existence des protocoles de preuve d'enjeu et sur la façon de les concevoir, mais j'entends ici expliquer mon parcours personnel.
Je vais inventorier mes observations puis passer directement aux conclusions.
-
La cryptographie est quelque chose de très spécial au XXIe siècle car la cryptographie est l'un des seuls domaines où les affrontements conflictuels continuent de fortement favoriser les défenseurs. Les châteaux sont bien plus facilement détruits que construits, on peut défendre une île mais elle peut toujours être attaquée. En revanche, les clefs ECC du quidam moyen sont assez sûres pour résister même aux acteurs étatiques. La philosophie cypherpunk consiste fondamentalement à tirer parti de cette précieuse asymétrie pour créer un monde qui préserve au mieux l'autonomie de l'individu, et la crypto-économie en est en quelque sorte une extension qui protège cette fois la sécurité et la viabilité de systèmes complexes de coordination et de collaboration, au lieu de l'intégrité et de la confidentialité de messages privés. Les systèmes se considérant comme des héritiers idéologiques de l'esprit cypherpunk doivent maintenir cette propriété fondamentale et doivent être beaucoup plus difficiles à détruire ou à perturber qu'ils ne le sont à utiliser et à maintenir.
-
L'esprit cypherpunk n'est pas une question d'idéalisme ; l'élaboration de systèmes plus faciles à défendre qu'à attaquer découle aussi d'une ingénierie rationnelle.
-
Sur le moyen et le long terme, les humains sont assez doués pour le consensus. Même si un adversaire avait accès à une puissance de calcul illimitée et en venait à une attaque des 51% sur une blockchain majeure, annulant même le dernier mois de l'historique, il serait beaucoup plus difficile de convaincre la communauté que cette chaîne est légitime que de se contenter de dépasser la puissance de calcul de la chaîne principale. Il faudrait subvertir les explorateurs de blocs, chaque membre de confiance de la communauté, le New York Times, archive.org et bien d'autres sources sur l'internet ; l'un dans l'autre, convaincre le monde entier que la nouvelle chaîne de l'attaque est celle qui est venue en premier dans un XXIe siècle aussi dense en technologies de l'information est aussi difficile que de convaincre le monde que les alunissages américains ne se sont jamais produits. Ces considérations sociales représentent une protection ultime de toute blockchain sur le long terme, que la communauté de la blockchain l'admette ou non (notons que Bitcoin Core admet cette primauté de la couche sociale).
-
Cependant, une blockchain protégée par le seul consensus social serait beaucoup trop inefficace et trop lente, et les désaccords pourraient trop facilement se poursuivre sans fin (bien que malgré toutes ces difficultés, ce soit déjà arrivé) ; c'est pourquoi le consensus économique joue un rôle très important pour protéger les propriétés de viabilité et de sécurité sur le court terme.
-
Puisque la sécurité de la preuve de travail ne peut provenir que des récompenses de blocs (comme le dit Dominic Williams, il lui manque deux des trois E), et que les incitations aux mineurs ne peuvent que provenir du risque d'une perte de leurs futures récompenses de blocs, la preuve de travail opère nécessairement selon une logique de puissance massive dont l'existence est motivée par des récompenses massives. Il est très difficile de récupérer d'une attaque sur du PoW : la première fois que cela se produit, on peut opérer un hard fork pour changer l'algorithme et rendre ainsi les ASIC de l'attaquant inutiles mais, la deuxième fois, cette option disparaît et l'attaquant peut continuer ad libitum. La taille du réseau de minage doit donc être tellement énorme que les attaques doivent devenir inconcevables. Les attaquants d'une taille inférieure à X sont dissuadés par le réseau qui dépense constamment X chaque jour. Je rejette cette logique car (i) elle abat des arbres et (ii) elle ne respecte pas l'esprit cypherpunk - le coût de l'attaque et le coût de la défense sont dans un rapport 1:1 et le défenseur n'a pas d'avantage.
-
La preuve d'enjeu brise cette symétrie en se fondant non sur les récompenses pour la sécurité mais sur les pénalités. Les validateurs mettent de l'argent (des « dépôts ») en jeu, sont un peu rétribués pour compenser le blocage de leur capital, la maintenance des nœuds et les précautions prises pour assurer la sécurité de leurs clefs privées, mais l'essentiel du coût d'annulation provient de pénalités qui sont des centaines ou des milliers de fois plus grandes que les récompenses obtenues pendant ce temps. La « philosophie en une phrase » de la preuve d'enjeu n'est donc pas « la sécurité provient de la consommation d'énergie » mais plutôt « la sécurité provient de la présence de valeur à risque ». Un bloc ou un état donné a une sécurité de X$ si l'on peut prouver qu'arriver à un niveau égal de finalisation pour tout bloc ou tout état en conflit ne peut être possible sans que des nœuds maveillants qui se coalisent pour tenter de renverser la situation ne payent X$ en pénalités protocolaires.
-
En théorie, une collusion majoritaire de validateurs peut prendre le contrôle d'une chaîne en preuve d'enjeu et entreprendre ses agissements malveillants. Cependant, (i) de par la conception ingénieuse du protocole, leur capacité à engranger des profits supplémentaires par cette manipulation peut être limitée autant que possible et, ce qui est encore plus important, (ii) s'ils essayent d'empêcher de nouveaux validateurs de rejoindre le réseau ou d'exécuter des attaques à 51%, la communauté peut tout simplement coordonner un hard fork et supprimer les dépôts des validateurs malveillants. Une attaque réussie peut coûter 50 millions de dollars mais le processus de nettoyage des conséquences ne sera pas beaucoup plus onéreux que l'échec de consensus geth/parity du 2016.11.25. Deux jours plus tard, la blockchain et la communauté sont de nouveau sur les rails, les attaquants sont plus pauvres de 50 millions de dollars et le reste de la communauté est probablement plus riche puisque l'attaque aura provoqué la montée de la valeur du token en raison du resserrement de l'offre. Ça, c'est de l'asymétrie attaque/défense.
-
Ce qui précède ne doit pas être pris comme indication que des hard forks imprévus deviendront un cas fréquent ; si on le désire, le coût d'une seule attaque à 51% en preuve d'enjeu peut très bien atteindre celui d'une attaque permanente en preuve de travail, et le coût total et l'inefficacité d'une attaque doit garantir qu'elle ne se produira jamais en pratique.
-
L'économie n'est pas suffisante. Chaque acteur peut être incité par des motivations extra-protocolaires, il peut se faire hacker, il peut se faire kidnapper, ou tout simplement se saouler un soir et décider d'attaquer la blockchain et tant pis pour le coût. En revanche, les incertitudes morales des individus et les problèmes de communication augmenteront souvent le coût des attaques à des niveaux bien plus hauts que la valeur à risque définie par le protocole. C'est un avantage sur lequel nous ne pouvons pas compter, mais nous ne pouvons pas non plus l'ignorer.
-
Donc les meilleurs protocoles sont ceux qui fonctionnent bien avec plusieurs modèles et suppositions - rationalité économique avec un choix coordonné, rationalité économique avec un choix individuel, simple tolérance aux défaillances, tolérance aux défaillances byzantines (idéalement dans ses variantes d'adversaire adaptatif et non adaptatif), modèles économiques comportementaux inspirés d'Ariely/Kahneman (« nous ne trichons tous qu'un petit peu ») et idéalement tout autre modèle réaliste et pratique sur lequel on puisse raisonner. Il est important de disposer des deux couches de défense : incitations économiques pour décourager les activités anti-sociales des cartels centralisés, et incitations anti-centralisatrices pour décourager la formation des cartels dès le départ.
-
Les protocoles de consensus qui fonctionnent aussi vite que possible comportent des risques et ne doivent être approchés qu'avec une prudence maximale, si tant est qu'il le faille, car si la possibilité de cette rapidité est liée à des incitations en rapport, cette combinaison récompensera des niveaux extrêmement importants de centralisation sur le réseau induisant des risques systémiques (p. ex. tous les validateurs tournant depuis le même fournisseur d'hébergement). Les protocoles de consensus qui ne se préoccupent pas trop de la vitesse à laquelle un validateur envoie un message, tant qu'ils le font dans un intervalle de temps d'une longueur acceptable (p. ex. 4-8 secondes, puisque nous savons empiriquement que la latence en Ethereum est généralement de 500ms-1s) ne sont pas concernés. Un moyen terme possible consiste à créer des protocoles qui peuvent fonctionner très vite mais où des mécanismes similaires à celui des oncles d'Ethereum garantit que la récompense marginale pour un nœud augmentant son degré de connectivité au-delà d'un point facilement accessible est assez basse.
À partir de là, il reste évidemment bien des détails et des possibilités de différer sur ces détails, mais ce qui précède fonde les principes essentiels sur lesquels est conçue au moins ma version de Casper. Nous pouvons certainement débattre des compromis à trouver entre des valeurs différentes. Donnons-nous à ETH un taux d'émission de 1% avec un coût de 50 millions de dollars pour un hard fork réparateur, ou respectivement un taux de 0% et un coût de 5 millions ? Quand l'augmentation de la sécurité d'un protocole dans un modèle économique engendre-t-elle la diminution de la sécurité dans un modèle de tolérance aux défaillances ? Un niveau de sécurité prévisible est-il plus important qu'un niveau d'émission prévisible ? Toutes ces questions feront l'objet d'une prochaine publication et les diverses manières d'implémenter les différents compromis entre ces valeurs sont des questions pour d'autres publications. Nous y viendrons. :-)
Document d'origine : Vitalik Buterin, Medium, 30/12/2016
Traduction : Jean Zundel - Une philosophie de conception de la preuve d'enjeu