Il y a un mois, le cofondateur d’Ethereum, Vitalik Buterin, a déclaré que la gouvernance du projet n’était « pas si mal ». Voilà qui est peu élogieux. Ethereum se retrouve maintenant dans la même position que Bitcoin il y a quelques années : ils doivent prendre une décision, mais leur projet ne comporte pas de structure de gouvernance sérieuse.
Quelle décision ?
Ethereum utilise un langage de programmation Turing-complet, ce qui donne aux utilisateurs une énorme flexibilité mais le rend beaucoup plus vulnérable aux attaques. Après la catastrophe du piratage de The DAO il y a deux ans, la communauté a décidé d’effectuer un hard fork du réseau pour « remonter le temps » jusqu’à une période antérieure au piratage. Ce faisant, le réseau a dû renoncer définitivement à ses prétentions d’immuabilité.
Quand Ethereum a annulé le piratage de The DAO, cela a créé un précédent. On pourrait dire qu’Ethereum, qui a semé le vent, récolte la tempête. L’an dernier, une attaque du portefeuille Parity, très prisé, a entraîné le gel de 162 millions de dollars en Ether, qui sont désormais impossibles à dépenser. Les fonds n’ont pas été volés, mais le pirate a réussi à les bloquer indéfiniment. D’autres attaques de moindre ampleur ont eu lieu au cours des dernières années et les victimes exigent que des mesures soient prises.
La gouvernance par l’EIP
Les développeurs principaux d’Ethereum ont mis au point un système grâce auquel la communauté peut proposer des modifications pour le logiciel. Les membres de la communauté qui sont intéressés peuvent écrire une « proposition d’amélioration d’Ethereum (EIP) » et la soumettre sur le Github du projet. Ceux qu’on appelle des éditeurs d’EIP vont passer la proposition en revue, à l’issue de quoi elle sera soit rejetée, soit approuvée et passera au stade de « proposition officielle ». Ensuite, la communauté va en discuter et atteindre un consensus. À ce moment-là, l’EIP sera intégrée dans le code (si la communauté l’a acceptée).
Ce processus se passe généralement de manière ordonnée, mais quand l’EIP 867 a été soumise, cela a provoqué le chaos. Cette proposition polémique décrivait un plan pour récupérer les fonds perdus des utilisateurs. Elle ne permettrait pas de rendre elle-même les fonds des utilisateurs perdus dans le piratage de Parity ou d’autres, mais elle créerait une structure qui permettrait aux utilisateurs de demander la récupération de ces fonds. Comment ces fonds seraient-ils récupérés ? En annulant sélectivement certaines périodes du passé d’Ethereum, comme cela avait été fait après le piratage de The DAO.
L’EIP 867 a suscité nombre de controverses et a même incité un des éditeurs d’EIP à quitter son poste, car selon lui cette proposition violait la loi japonaise. (Une loi qui interdit de modifier des registres électroniques.) Pour le moment, l’avis de la communauté est fortement partagé quant au problème de la récupération des fonds, et cette division a mis au jour les faiblesses du système de gouvernance d’Ethereum, d’où le commentaire de Vitalik Buterin « pas si mal ».
Voilà !
On dirait que les utilisateurs de Bitcoin et d’Ethereum s’attendent à ce qu’un consensus apparaisse comme par magie et à ce que la communauté entière accueille les modifications du code à bras ouverts sans le moindre désaccord. Aucune des deux communautés ne possède de mécanisme basé sur le code pour demander l’avis des utilisateurs de la monnaie et appliquer leur décision. Le problème d’extensibilité de Bitcoin a enfin été résolu (ou du moins retardé) après des années de controverse. Comment a-t-il été résolu ? Un tas de mineurs et de dirigeants de l’entreprise Bitcoin se sont réunis et se sont menti les uns aux autres, en disant qu’ils doubleraient la taille des blocs si les mineurs approuvaient d’abord le système de « Segregated Witness » (SegWit). Le doublement de la taille des blocs, appelé SegWit2x, a fini par être annulé.
Une vraie gouvernance
Les propriétaires de Dash doivent être un peu déconcertés par les péripéties des communautés Bitcoin et Ethereum. En utilisant la gouvernance décentralisée via la blockchain (“decentralized governance by Blockchain”, DGBB), ce qu’on appelle le système budgétaire, les propriétaires de masternodes peuvent être interrogés sur des questions relatives à la gouvernance. L’équipe de Dash Core peut ensuite créer la mise à jour du code résultante et la faire approuver rapidement par le réseau des masternodes. Une fois qu’un nombre suffisant de masternodes a fait la mise à jour, celle-ci entre en vigueur et tous les masternodes non mis à jour sont pour ainsi dire exclus du réseau.
Si le système de gouvernance de Dash n’est pas parfait, c’est tout de même un bon début. Au moins, notre communauté ne se tourne pas les pouces en attendant qu’une sorte de consensus sorte de nulle part, comme par magie.