Alors que beaucoup attendent les prochaines étapes de la feuille de route des développeurs de Bitcoin Core, les débats sur la gouvernance et les solutions de « scalabilité » pour Bitcoin ne sont pas clos. Emilien Dutang, cofondateur de Labo Blockchain et de BTC Oracle, a accepté de répondre à nos questions et de nous présenter le point de vue d’un « big blockiste » pour qui l’augmentation de la taille maximale des blocs est une évidence autant qu’une nécessité.
bitcoin.fr : Une augmentation de la taille maximale des blocs ne risque-t-elle pas de conduire à une centralisation du réseau ?
Emilien : Pas nécessairement. Il est même possible qu’une augmentation de la taille des blocs réduise la centralisation ! Il y a deux types d’acteurs importants sur le réseau bitcoin : les mineurs, qui créent les blocks et les « full nodes », qui vérifient blocs et transactions. Le minage est déjà énormément centralisé, et cela ne changera pas quelle que soit la taille des blocs, à moins de modifier radicalement le protocole Bitcoin (par exemple, en passant au « proof-of-stake »). Certains avancent que le mining peut devenir encore plus centralisé avec une augmentation de la taille des blocs, mais cela est peu crédible du fait que les mineurs peuvent miner des blocs vides sans valider de transaction et le font déjà en pratique. Ils ne sont donc pas impactés par la taille des blocs. Dans tous les cas, l’implémentation du « head first mining » proposée récemment par Gavin [Andresen] permet d’assurer que la taille des blocs n’entrainera pas de centralisation plus importante du minage.
bitcoin.fr : Et qu’en est-il des « full nodes » ?
Emilien : Les full nodes, quant à eux, sont effectivement sensibles au nombre de transactions et à la taille des blocs. Le papier de référence le plus récent sur le sujet montre que si on augmente les blocs à 4MB, 10% des nœuds actuels ne pourront pas tenir le volume d’augmentation des blocs. Si on monte à 32MB, c’est seulement 50% des nœuds actuels qui seront capables de tenir le débit de la taille des blocs.
bitcoin.fr : Comment affirmer dès lors qu’une augmentation de la taille des blocs peut conduire à une plus grande décentralisation ?
Emilien : Il est important de comprendre que le nombre de nœuds du réseau est proportionnel au nombre d’utilisateurs. S’il y a 100 fois plus d’utilisateurs du réseau bitcoin, il est probable que 100 fois plus de personnes voudront faire tourner un nœud ! Si on augmente les blocs à 4MB, oui, on perdra 10% des nœuds actuels, mais en échange on pourra gérer 4 fois plus d’utilisation du réseau Bitcoin. C’est potentiellement beaucoup plus d’utilisateurs, et finalement ce 10% de perte du réseau actuel sera plus que compensé par les nouveaux entrants. Réciproquement, pendant la première année de Bitcoin, bien qu’il était extrêmement facile de faire tourner un nœud, il n’y avait presque pas d’utilisateurs du réseau Bitcoin et donc quasiment pas de nœuds.
Conclusion : Il faut garder à l’esprit que la première décentralisation vient avant tout du nombre d’utilisateurs du réseau, et que limiter artificiellement ce nombre revient à centraliser le réseau.
bitcoin.fr : Le passage de la taille des blocs à 2 Mo proposée par Bitcoin Classic, n’est-il pas qu’une solution provisoire ? En l’absence d’options plus élaborées, ne faudra-t-il pas régulièrement entreprendre des « hard forks » pour augmenter cette taille maximale ?
Emilien : Oui, c’est une solution provisoire. L’enjeu est aujourd’hui principalement politique, les partisans de Classic essayent avant tout de proposer une alternative à Bitcoin Core. Le fonctionnement de Bitcoin Core est profondément anti-démocratique, ses instigateurs considèrent qu’ils sont les experts et savent mieux que la communauté ce qu’il convient de faire, et donc souhaitent imposer leurs choix, se voyant comme des dictateurs bienveillants. Il y a également un conflit d’intérêt évident avec la société Blockstream, puisque cette dernière rémunère directement 14 des développeurs de Bitcoin Core et que son « business plan » est secret. On peut donc se poser légitimement la question si aujourd’hui Bitcoin Core souhaite le meilleur pour les utilisateurs, ou pour leurs investisseurs qui sont des grands groupes bancaires et n’ont bien évidement pas mis 75 millions de dollars juste pour aider l’humanité.
Il est important de rappeler que la philosophie d’origine était profondément démocratique : Satoshi a proposé le proof-of-work comme un mécanisme de vote. Son idéal était que chaque utilisateur du réseau ait une voix, et donc 1 CPU = 1 utilisateur semblait une approximation raisonnable. Malheureusement, comme on le sait, pour des raisons d’économie d’échelle, le minage est aujourd’hui extrêmement centralisé. Il y a eu, il y a 6 mois, une tentative de « prise de fork » avec Bitcoin XT qui proposait de passer immédiatement les blocs à 32MB. Cette tentative a échoué mais beaucoup d’observateurs s’attendaient à trouver un consensus, avec une taille des blocs par exemple autour de 3 ou 4MB.
Aujourd’hui les blocs sont pleins la majorité du temps et personne ne sait en pratique comment le réseau va fonctionner une fois que ce problème sera permanent. Memory pool full et attaques de spam deviennent extrêmement triviales, un certain nombre de problèmes qu’on ne sait pas nécessairement traiter risquent désormais de se poser. Il n’y a absolument aucun projet d’augmentation des blocs du côté de Bitcoin Core, alors qu’il y a, selon certaines personnes, urgence à « donner de l’air » au protocole. SegWit devrait aider un peu mais reste une rustine à la portée très limitée. On peut argumenter que 2MB est trop petit, mais c’est un choix qui se veut consensuel avant tout. Parmi les partisans de Classic, la plupart souhaitent des blocs bien plus gros mais le consensus reste une valeur importante de Bitcoin. Enfin, étant donnée la faible croissance du nombre de transactions ces dernières années, 2MB peut très bien suffire pour les deux, voire trois années à venir.
bitcoin.fr : Une augmentation de la taille des blocs ne risque-t-elle pas de nuire au développement de solutions du type « sidechains » ou « lightning network » qui seraient dès lors beaucoup moins urgentes ?
Emilien : Personne ne souhaite bloquer les solutions de type sidechain ou lightning. Elles sont des idées intéressantes qu’il faut absolument voir fonctionner en pratique. Cependant, de nombreux projets paraissaient parfaits quand ils étaient au stade de plan mais ont capoté une fois mis en pratique. Il faut explorer toutes les pistes pour améliorer Bitcoin, mais jouer les 6 milliards d’investissement uniquement sur un concept théorique qui est aujourd’hui au stade de whitepaper et sans implémentation prévue avant des années, cela semble un peu périlleux en termes de planning.
bitcoin.fr : N’est-il pas souhaitable qu’un marché des frais de transaction se développe afin de sortir de la blockchain les myriades de micro-transactions qui la remplissent ?
Emilien : Ce raisonnement part d’une hypothèse que je trouve fortement discutable : Les petites transactions ont une utilité marginale, et ne servent à rien. Pourtant, j’ai un ami qui fait tourner un faucet (lootool.com), et distribue des toutes petites sommes de l’ordre de quelques centaines de milliers de satoshi à des milliers de personnes tous les jours. Ces gens vivent très certainement dans des pays plus pauvres, ou sont des gens qui veulent apprendre et découvrir Bitcoin. Ils sont très contents d’avoir ces quelques poussières de bitcoin, de pouvoir les envoyer sur un exchange, à un ami, etc. Peut-être qu’ils vont aimer et devenir de véritables utilisateurs de Bitcoin comme nous le sommes déjà. Combien de personnes ont commencé comme cela avec des bitcoins offerts ?
Effectivement payer 20 centimes d’euros pour une transaction nous parait raisonnable à nous Européen, mais dans d’autres pays du monde cela peut représenter 30 minutes de travail. D’un côté on considère qu’augmenter les blocs rendrait impossible de faire tourner un full node dans un pays pauvre, et de l’autre on veut forcer le coût des fees à un niveau qui, à nous Européens, nous semblerait décent. Est-ce vraiment la vision d’une monnaie libre et mondiale ?
L’autre problème, que je trouve tout aussi insidieux, est le suivant : Imaginez un fabricant de microprocesseur qui tiendrait le raisonnement suivant : « Oui j’ai vu que Rockstar Games utilise 12% de mémoire de trop pour l’affichage des textures dans GTA, et leur algorithme de calcul de la lumière n’est pas optimal et pourrait aller deux fois plus vite. Nous n’allons donc pas sortir de nouveau processeur tant qu’ils n’auront pas optimisé ces aspects ! »
En gros, refuser le progrès pour tous sous prétexte que certains opérateurs font plus de transactions que prévu, me semble dangereux. Je ne suis pas fondamentalement contre un marché des transactions, mais cela n’est pas nécessairement en opposition avec une augmentation des blocs. Il est tout à fait possible d’augmenter les frais de transactions tout en augmentant les blocs.
bitcoin.fr : Quelle serait pour toi la meilleure solution de « scalabilité » pour Bitcoin ?
Emilien Dutang : Toutes. Il n’y aucune raison de n’en envisager qu’une seule. Encore moins une théorique. Si on augmente les blocs et que cela pose un problème, il sera très simple de faire marche arrière : baisser la taille des blocs peut être fait au niveau des mineurs et est un simple flag à changer dans leur configuration. Mais comme les derniers articles (cités par Adam Back & Blockstream) le montrent, il est possible de monter jusqu’à 32MB si on accepte l’idée qu’une partie des nodes actuels vont devoir upgrader leurs accès internet. Il parait donc un peu bizarre de s’affoler pour une proposition de fork à 2MB.
Je rappelle que Satoshi dans son whitepaper proposait un mécanisme très simple pour gérer l’augmentation de la taille de la blockchain : le pruning des transactions intermédiaires. Avec cette solution, il est possible de réduire la taille de la blockchain à quasiment rien et ce sans soucis de sécurité. Les améliorations telles que « head first mining« et « thin block » rendent la distribution des blocs absolument indolore pour les nodes.
A voir également sur bitcoin.fr :
– Entretien avec Emilien Dutang (avril 2015)
– Entretien avec Emilien Dutang (avril 2014)