Gouvernance, le talon d’Achille de la blockchain
Le sujet de la Blockchain est hype. Pas un jour où l’on n’entende parler de la Blockchain comme la nouvelle révolution numérique, l’avenir du Web ou l’Uberisation d’Uber. Derrière le buzz se cache l’idéal d’une société à la gouvernance complètement distribuée. En se basant massivement sur la technologie, la Blockchain donnerait le pouvoir et le contrôle au peuple au lieu de le concentrer dans les mains des grands acteurs, états ou multinationales. Mais une gouvernance distribuée est-elle vraiment souhaitable ? Et d’ailleurs, fonctionnerait-elle vraiment ? La dernière crise du Bitcoin semble montrer l’inverse.
En 2008, la crise des subprimes met à mal tout le secteur financier et met en évidence des comportements déviants des acteurs bancaires. La sanction est immédiate, les particuliers ne font plus confiance à leur banque. C’est dans ce climat que Satoshi Nakamoko écrit le papier fondateur de Bitcoin (dont la traduction française est disponible sur ce blog). L'objectif fondamental du Bitcoin est de se passer des institutions dans les échanges monétaires, soit en quelque sorte de faire de la banque sans les banques. Pour y parvenir, il fallait trouver des mécanismes de décentralisation de la confiance, et c'est sur ce principe qu'a émergé le concept de Blockchain. On ne fait plus confiance à une autorité centrale pour garder la trace des transactions et des soldes de tous les utilisateurs, mais on fait confiance à la Blockchain, sorte de livre de compte partagé entre tous où chacun peut écrire une transaction et vérifier la conformité de la totalité des transactions.
Cependant la Blockchain ne se limite pas à des transactions monétaires sous forme de Bitcoin. D’autres plateformes, comme Ethereum, ont repris la philosophie globale de la Blockchain et l’ont enrichie en ajoutant par exemple la possibilité de stocker du code dans une Blockchain, de le faire exécuter et d’apporter la preuve de son exécution. Cela ouvre des potentiels infinis puisqu’il est alors possible d’y faire peu près tout ce qu’il est possible de faire sur un ordinateur de manière certifiée et distribuée.
Les programmes stockés dans la Blockchain deviennent autonomes, une personne voulant l’utiliser n’ayant qu’à l’invoquer en y injectant quelques fractions de crypto-monnaie (Ether dans le cas d’Ethereum). Et pour aller jusqu’au bout, certains programmes peuvent définir leur propres règles de gouvernance, ils deviennent en quelque sorte une organisation à part entière, entièrement contrôlés par les programmes dans la Blockchain, on parle alors de Decentralised Autonomous Organisation (DAO).
L’autorité centrale, bonne ou mauvaise ?
L’absence d’autorité centrale est très louable quand on parle de déjouer la censure, de permettre la liberté d’opinion ou de laisser les lanceurs d’alertes alerter. Mais cette absence peut se révéler dérangeante dans bien des cas. Prenons le cas “Namecoin”, instanciation de la Blockchain permettant de se passer des serveurs DNS centraux. Ces serveurs sont des points de centralisation du Web et peuvent permettre à un gouvernement de contrôler une partie du Web ou à un acteur malveillant de corrompre le système. L’idée de Namecoin est donc que chacun puisse enregistrer son nom de domaine dans une Blockchain. Ainsi, si l'on souhaitait accéder à un site Web, notre navigateur n’interrogerait plus une autorité centrale, mais cette même Blockchain dont l’avantage est d’être distribuée et infalsifiable. L’idée, louable, semble même être une amélioration du système actuel de DNS. Namecoin est déjà opérationnel et vous pouvez accéder aux adresses .bit en installant une extension dans votre navigateur. Le problème ? Le Cybersquattage, tous les noms de domaines connus sont déjà réservés et leurs propriétaires attendent que quelqu’un vienne leur racheter à prix d’or. En France ou aux US, des lois vous permettent de vous défendre. Sur la Blockchain, rien ne vous permet de vous prémunir contre cette pratique, même si vous vous appelez Nike, Apple ou Barack Obama et avez une armée d’avocats.
Autrement dit, sur la Blockchain personne ne peut vous empêcher de faire une bonne action, mais lorsque quelqu’un vous nuit, personne ne peut venir vous aider non plus.
Ce problème d’autorité centrale est aussi bien connu de la communauté Bitcoin. En effet, lorsque vous perdez votre clé privée Bitcoin, il vous est impossible d’aller vous plaindre à une autorité centrale pour réclamer votre argent, et certains l’ont appris à leurs dépens en perdant des fortunes (http://www.bbc.com/news/uk-wales-south-east-wales-25134289). Certaines sociétés proposent de pallier ce manque de sécurité en se positionnant comme tiers de confiance. Par exemple, elles gardent vos clés privées en lieu sûr, vous évitant de les perdre. Autre exemple : les sociétés utilisant Namecoin mais qui enregistrent pour vous vos noms de domaines. On pourrait même imaginer une autorité pouvant réguler Namecoin afin de résoudre le problème de squattage. Sauf qu’ainsi, on recentralise et on perd l’idée initiale de la distribution. La débâcle de Mt.Gox en est un parfait exemple : des utilisateurs ont fait confiance en une autorité centrale et celle-ci leur fait finalement défaut.
Gouverner le décentralisé
Autre problème de taille de Bitcoin : comment faire évoluer la plateforme ?
Bitcoin est open-source, comme Linux. Si vous n’êtes pas content avec le code Linux, vous pouvez le copier, le modifier et l’utiliser. C’est aussi simple que ça. C’est plus compliqué dans le cas de Bitcoin. En effet, la force de Bitcoin vient de son réseau. Pour faire partie de ce réseau, il faut utiliser une version compatible du logiciel. Par ailleurs, sans mineur, pas de réseau. Donc, pour apporter une évolution au protocole Bitcoin il faut avoir une majorité de mineurs qui installe la nouvelle version.
Pour illustrer la difficulté que cela représente : Bitcoin comporte un bug dans l’implémentation initiale de l’opération “CHECKMULTISIG”. Sa résolution implique une problématique de compatibilité avec l’existant. L’effort de coordination et de gouvernance est tellement important que ce bug est aujourd’hui considéré comme une fonctionnalité.
Toutefois, Bitcoin n’est pas totalement figé. La fonctionnalité “pay-to-script-hash” à été ajoutée en 2012 et est une évolution majeure du protocole.
La communauté Bitcoin vient de prendre une non-décision sur l’augmentation de la taille du bloc. Le nombre de transactions Bitcoin augmentant, le réseau arrive à saturation, ce qui pose un certain nombre de problèmes. Plusieurs propositions ont été faites, dont une particulièrement importante qui porte le nom de BIP101 (BIP pour Bitcoin Improvement Proposal). Cette proposition est importante car elle a été poussée par des acteurs influents, tels que Coinbase ou Coinify ainsi que deux des principaux développeurs de Bitcoin Mike Hearn et Gavin Andresen (qui fut le principal mainteneur de Bitcoin de 2010 à 2014). Ces deux derniers ont d’ailleurs mis en téléchargement une version alternative du logiciel Bitcoin Core (utilisé par la majorité du réseau Bitcoin) nommée BitcoinXT. Or, BitcoinXT n’a pas réussi à s’imposer et cet échec pousse Mike Hearn à se retirer de la communauté Bitcoin, avec une lettre retentissante où il détaille sa décision.
Quand on pense à une organisation décentralisée, on imagine un monde où les parties prenantes sont bienveillantes, respectent les opinions des autres et utilisent un processus défini, souvent démocratique, pour arbitrer les divergences. Or, comme le rappelle Mike Hearn, c'est loin d'être le cas ici. On assiste à la censure de tout ce qui parle de BitcoinXT (le topic "r/bitcoinxt” à été ouvert en réaction à la censure du topic "r/bitcoin”) jusqu’à des attaques DDoS sur tous les utilisateurs de la version XT.
On voit bien ici les problèmes soulevés par la gouvernance de Bitcoin : qui décide ? Est-ce la fondation ? Les développeurs ? Les mineurs ? Les utilisateurs ?
Comment se fait la décision ? Par vote ? Par adoption ?
La décision de décembre est une non-décision : “on fait comme avant”. Pour comprendre pourquoi on en arrive là, lisez le post de Mike Hearn. Et c’est bien la question que vont devoir affronter toutes les solutions autour de la Blockchain (crypto-monnaies ou DAOs) : comment continuer à évoluer et ne pas se laisser enfermer dans des impasses ?
On parle de la Blockchain comme une technologie permettant le “consensus as a service”, mais le consensus sur l’évolution de la technologie elle-même est loin d’être acquis.
Est-ce la mort de Bitcoin ?
La mort de Bitcoin a été annoncée une centaine de fois (https://99bitcoins.com/obituary-stats). La crise actuelle n’est pas insoluble, et Mike Hearn, dans son article, pointe aussi les possibilités de sorties.
Ce n’est donc pas la mort de Bitcoin et encore moins celle de la Blockchain. Il est fort probable que la communauté finisse par s’entendre sur une évolution du protocole et une augmentation de la taille du bloc. Et lorsque la communauté sortira de cette crise, la réflexion autour de la gouvernance aura avancé. La communauté Bitcoin aura appris de cette épreuve et les autres initiatives Blockchain pourront profiter de cette expérience.
La gouvernance sera une des clés de la réussite des initiatives Blockchain. A noter qu’Ethereum, qui promeut les organisations décentralisées et dont le code est open-source, est développé en grande partie par l’entreprise Ethdev, elle-même payée par la fondation Ethereum Foundation, donc plutôt centralisé. R3, consortium de 42 acteurs bancaires, vise à simplifier l’infrastructure bancaire à l’aide de la Blockchain. Certains y voient un hold-up. Mais ce genre d’initiative, en résolvant plus rapidement la question de la gouvernance que la communauté open-source, peut permettre aux acteurs établis de se renforcer grâce à une technologie censée les affaiblir.