Demain les entreprises autonomes (1/2) : au coeur de bitcoin

Encensé par les uns qui y voient la prochaine grande révolution économique, rejeté par les autres qui le qualifient de “système de Ponzi” et dénoncent son usage dans des activités illégales comme le trafic de drogue, Bitcoin n’a pas fini de faire parler de lui. Récemment, le New Scientist a fait le point sur cette “cryptomonnaie”. Et ce dossier de la revue américaine pointe vers un développement intéressant : à partir des technologies développées pour Bitcoin, on peut créer tout autre chose, par exemple des entreprises hautement robotisées, les DACs (pour Distributed Autonomous Corporation c’est-à-dire Entreprises autonomes distribuées). Pour comprendre ce que sont les DACs, il nous faut revenir sur le fonctionnement de Bitcoin.

Bitcoin : les mécanismes d’une monnaie décentralisée

Vous savez sans doute déjà qu’il existe deux manières d’acquérir des bitcoins : vous pouvez en gagner suite à une transaction, ou en créer de nouveaux à partir de rien, à l’aide d’un logiciel spécifique : c’est ce qu’on appelle “miner” du bitcoin. On se concentrera ici sur les mineurs. Mais ce qu’il faut avant tout avoir en tête, c’est que ces derniers ne se contentent pas de créer de la masse monétaire, celle-ci n’est qu’une récompense de leur travail réel : valider l’authenticité des transactions. En effet, ces mineurs sont les nœuds de base du réseau peer to peer qui est le fondement de Bitcoin, une monnaie totalement décentralisée : il n’existe pas de banque centrale susceptible de déterminer la valeur de cette monnaie. Tout est distribué à partir d’algorithmes open source.

Cela pose une multitude de problèmes. Qu’est ce qui m’empêche de dépenser des bitcoins que je n’ai pas ? Ou de les dépenser deux fois ? Ou d’utiliser ceux d’un autre ? Qui valide l’authenticité des transactions ?

bitcoin

La réponse à ces questions se trouve dans la “chaîne de blocs”. Cet algorithme, la clé du système, a été mis au point par l’inventeur de Bitcoin, le mystérieux Satoshi Nakamoto (il s’agit d’un pseudo et l’on ignore qui se cache derrière). Grosso modo, la “chaîne de blocs” est l’historique des transactions menées avec chaque bitcoin. C’est une espèce de gigantesque livre de comptes qui retrace l’ensemble des transactions Bitcoin depuis ses débuts en 2009.

Chaque “bloc” est un ensemble de transactions dont le code est bâti sur le bloc qui le précède. On ne peut donc modifier un bloc sans avoir à changer tout l’historique, ce qui est quasi impossible.

Le rôle des “nœuds”, c’est-à-dire des “mineurs”, est de valider de nouveaux blocs et de les intégrer à la chaîne de blocs. Lorsqu’un mineur valide un bloc, il touche une certaine somme en bitcoins, actuellement 25 euros. Lorsque quelqu’un effectue une transaction avec ses bitcoins, celle-ci est envoyée aux différents “nœuds” du réseau, qui l’intègrent à un “bloc”. Reste ensuite à valider celui-ci par l’exécution d’une “preuve de travail”. Il s’agit d’un problème cryptographique dont la résolution par l’ordinateur valide l’origine et l’authenticité d’une transaction. Chaque mineur travaille à valider son bloc dans son coin. Il ne s’agit pas de partager sa capacité de calcul (sauf dans le cas d’un pool, comme on le verra plus bas). Les mineurs sont en concurrence les uns avec les autres. Lorsqu’un bloc est validé par un mineur, l’ensemble des mineurs connectés en peer to peer, le comparent avec leur propre version du “livre de comptabilité” et si la majorité reconnaît la valeur de ce bloc il se retrouve inclus dans l’historique… et le mineur “gagnant” reçoit ses 25 bitcoins.

En moyenne, le système valide un bloc toutes les dix minutes. Avec l’augmentation de la vitesse de calcul, les chances qu’un bloc soit validé en moins de 10 minutes augmentent. C’est ennuyeux, parce que si les blocs se succèdent trop rapidement, leur diffusion au sein du réseau n’aura pas le temps de s’effectuer correctement : il se créera plusieurs version alternatives de la chaîne de blocs, des forks : le système Bitcoin peut gérer des forks occasionnels, mais cela deviendrait plus difficile si ces embranchements se multipliaient. Du coup, l’algorithme augmente la complexité du problème tous les 2016 blocs, ce qui prend en moyenne deux semaines. De plus, tous les 210 000 blocs (environ tous les quatre ans), la récompense obtenue en minant du bitcoin se réduit de moitié. Au début elle é ! tait de 50 bitcoins, aujourd’hui de 25. Cette prime devrait donc diminuer avec le temps, jusqu’à ce que plus aucun bitcoin ne soit créé. Il y en aura alors environ 21 millions en circulation.

A noter que cette chaîne de blocs nécessite que tous les échanges soient publics et lisibles : il est possible de savoir ce que chaque “adresse bitcoin” a envoyé et reçu. Chaque utilisateur peut avoir plusieurs adresses et se cacher derrière elles, mais cela ne constitue pas de la “cryptographie” à proprement parler. Alors, pourquoi donc Bitcoin est-il considérée comme une cryptomonnaie ? En fait, le système utilise une fonctionnalité particulière de la cryptographie : la combinaison clé publique et clé privée, qui permet de de “signer” avec certitude une transaction. Ce qui fait qu’on ne peut falsifier son origine. En dehors de cela, le système Bitcoin n’est pas spécialement “cryptique”.

Décentralisé, mais jusqu’où ?

Comme on l’a vu, la technologie des “chaînes de blocs” correspond à une espèce de vote : pour qu’un bloc soit validé, il faut l’accord de la majorité des noeuds du réseau. Pour imaginer une “prise de contrôle” de Bitcoin, il faudrait que quelqu’un en vienne à disposer de 51 %, soit la majorité de la puissance informatique mise en œuvre pour générer des bitcoins, ce qui, bien sûr, est impossible.

En théorie.

Mais la réalité risque d’être assez différente. Créer de nouveaux bitcoins demande de plus en plus de ressources informatiques. Désormais, le métier de mineur n’est ouvert qu’à des machines hyperpuissantes, spécialement conçues pour traiter du bitcoin. Du coup un certain nombre de “mineurs” se sont réunis en groupes pour partager leurs capacités de calcul. L’un des ces pools, Ghash.io, a atteint 45 % de la puissance de calcul mise en oeuvre pour générer des bitcoins, soit bien près des fatidiques 51 %. Parvenu à ce stade, ce groupe pourrait contrôler la génération, mais aussi la valeur des transactions. Il pourrait par exemple bloquer ou inverser une transaction, voire dépenser un même bitcoin plusieurs fois… En revanche, et c’est heureux, il serait incapable d’initier une transaction involontaire entre deux utilisateurs de bitcoin. Les autres mineurs, impuissants, pourraient alors assister, sans rien y faire, à l’intégration de blocs frauduleux dans la chaîne, dans le “livre de comptes”…

Ghash.io, dans un courrier à la communauté Bitcoin, s’est engagé à ne pas essayer d’obtenir cette majorité de 51 % (.pdf), ce qui aurait pour effet, comme le précise le document, de détruire le système lui-même. De fait, dans les sept heures qui ont suivi cette révélation les mineurs ont commencé à quitter le pool et la part de Ghash.io s’est retrouvée réduite à 38 %. C’est la preuve, explique Richie King dans la revue Quartz, que le système est capable de s’autocorriger.

Malgré ces risques, la “chaîne de blocs” apparaît comme un développement fascinant de la technologie peer to peer. Peut-on la perfectionner pour créer sur le net, de véritables nouvelles organisations sociales complètement automatisées ? L’idée est d’utiliser les chaines de blocs pour générer des contrats intelligents, permettant d’automatiser complètement les relations entre organisations ou individus. Aujourd’hui certains s’y attaquent…

Rémi Sussan

Notre dossier « Demain, les entreprises autonomes » :

À lire aussi sur internetactu.net