ViaBTC : pourquoi augmenter la taille des blocs et choisir Bitcoin Unlimited

BitcoinCours.com, le 12 Octobre 2016

Le pool minier ViaBTC a publié aujourd'hui, dans un long billet sur Medium, les raisons qui l'ont amené à miner les blocs avec le client Bitcoin Unlimited au lieu de
Bitcoin Core.

Voici la traduction en français:
Article source https://medium.com/@ViaBTC/why-we-must-increase-the-block-size-and-why-i-support-bitcoin-unlimited-90b114b3ef4a#.w2pcp56cl

"Pourquoi nous devons augmenter la taille de bloc et pourquoi je soutiens Bitcoin Unlimited"

Cet article a été initialement publié en chinois sur mon blog personnel.

Le 10 Octobre 2016, juste après la conclusion de Scaling Bitcoin Milan (la troisième d'une série de conférences sur le thème de la mise à l'échelle du réseau Bitcoin), je pris la décision de changer le logiciel client que ViaBTC utilise, de Bitcoin Core vers Bitcoin Unlimited. Cette décision n'a pas été prise à la légère; Je ne crois pas avoir le droit d'imposer mes vues personnelles sur les utilisateurs de mon pool. Mais, après consultation avec tous les plus grands utilisateurs sur mon pool, je suis en mesure de prendre cette décision avec leur écrasant soutien.
La décision de savoir si il faut ou non augmenter la taille des blocs au-delà de 1MB est finalement faite par les mineurs, mais dans le cas précis de cette question, ce sont en fait les propriétaires de pool, pas les opérateurs de hardware, qui ont l'expérience nécessaire pour prendre une telle décision. Comme nous le voyons maintenant, et nous l'avons vu dans le passé, il se trouve que les mineurs (ceux qui possèdent le matériel) ne se soucient pas assez, d'une façon ou d'une autre, de voter au sujet des changements du protocole Bitcoin. Je crois que la décision du logiciel à exécuter est de la responsabilité des pools d'exploitation minière et que l'attente que les mineurs ou les développeurs de Bitcoin décident du plan d'action pour le réseau est inappropriée.

Actuellement, ViaBTC signale un vote pour les blocs 2MB dans la coinbase des blocs que nous minons, bien que nous allons continuer à produire des blocs avec une taille maximale de 1MB de manière à suivre ce qui est actuellement accepté par le consensus Nakamoto - les règles du réseau bitcoin. Basé sur les tests que nous avons exécuté, nous savons que le réseau est entièrement capable de gérer des blocs de 2MB, sans diminution notable des performances, ce qui veut dire que les craintes au sujet d'une augmentation de blocs 2MB peuvent être écartées. Le changement initial pour supporter de plus grands blocs nécessitera un hard fork. Cependant, le passage à Bitcoin Unlimited est bon pour la santé à long terme du réseau, car il apporte une finalité et élimine tout besoin futur d'utiliser des forks soit soft soit hard pour modifier la taille de bloc.

J'ai aussi intentionnellement désactivé la signalisation par défaut du BIP109 de Bitcoin Unlimited, parce que nous ne pensons pas que BIP109 soit la bonne solution pour changer la taille de bloc. Je souhaite que les développeurs de Bitcoin Unlimited puissent supprimer BIP109 comme paramètre par défaut de leur logiciel client et éviter ainsi les futurs malentendus.

A partir du moment où ViaBTC a miné le premier bloc Unlimited Bitcoin, il y a eu une réaction extrêmement importante au sein de la communauté Bitcoin: la plupart ont été favorables; mais il y a également eu une controverse et beaucoup de conjectures. Donc, je pense qu'il est nécessaire pour moi d'écrire au sujet de ma décision afin d'éclaircir certaines des nombreuses idées fausses que je vois, ainsi que pour expliquer davantage mon point de vue.

Pourquoi bitcoin a besoin de plus grands blocs

De manière très simple: si la taille des blocs n'est pas augmentée alors la croissance de bitcoin aura stoppé au niveau de l'adoption telle qu'elle est aujourd'hui et Bitcoin pourrait être considéré comme une expérience ratée. Cela ne veut pas dire que les crypto-monnaies en soit soient une expérience ratée. Il y aura certainement d'autres cryptos capables de capitaliser sur la demande croissante des utilisateurs que Bitcoin est actuellement incapable de délivrer. Bitcoin en est encore à ses premiers stades de développement. Bien que nous avons assisté à une croissance et une adoption incroyables au cours des huit années précédentes, il y a encore un long chemin à parcourir. 
Cependant, Bitcoin a actuellement frappé un mur en ce qui concerne sa croissance et l'acquisition d'utilisateurs. Cette barrière est explicitement imposée par la contrainte de taille artificielle de blocs à 1MB. A mes yeux, ce refus d'évoluer n'est pas différent d'un suicide réseau.

L'augmentation graduelle des frais de transaction nécessaires pour envoyer des Bitcoins est inacceptable et conduira les utilisateurs vers d'autres crypto-monnaies qui leur permettront d'effectuer des transactions à moindre coût. Cette fuite des utilisateurs de l'écosystème de Bitcoin est un coup fatal à notre développement en tant que communauté. Ce ne sont pas des conjectures - c'est l'état actuel de Bitcoin. Un autre aspect toujours négligé par ceux qui s'opposent à une augmentation de la taille du bloc est que, sans capacité croissante pour les transactions onchain, le business modèle des mineurs qui sécurisent le réseau Bitcoin contre les attaques sera détruit. Si l'exploitation minière cesse d'être une entreprise rentable, et elle le sera si nous n'autorisons pas les conditions qui permettent à plus de transactions sur la chaîne de se produire, le réseau va perdre l'énorme quantité de puissance de calcul nécessaire à le sécuriser des attaques. C'est alors la garantie de l'échec de Bitcoin en tant que protocole et en temps que monnaie.

Pourquoi Segregated Witness est une mauvaise idée

Un discours souvent répété est que l'introduction de Segregated Witness offrira une plus grande sécurité et une augmentation efficace de la taille du bloc à 1.7MB, et doit donc être encouragée. C'est en fait l'arbre qui cache la forêt. Une «augmentation effective» à 1.7MB ne fait que retarder la mort du Bitcoin, passe complètement à côté du sujet de mise à l'échelle, et au final ne parvient pas à résoudre le problème fondamental. L'activation de SegWit sur le réseau ne signifie pas que tous les utilisateurs de bitcoin seront immédiatement en mesure de tirer parti de ses avantages car il faudra au moins un an pour que la "taille de bloc efficace" augmente jusqu' à 1.7MB. Cela fait peu pour soulager la congestion actuelle sur la blockchain. En outre, l'introduction de Segregated Witness apporte avec elle une énorme quantité de dette technique qui nécessiterait fondamentalement de modifier la structure des transactions Bitcoin et exigerait que tous les nœuds, les pools d'exploitation minière, les explorateurs de blocs, les portefeuilles, les distributeurs automatiques de bitcoin, les échanges et autres applications, fassent un refactoring (changement) complet de leur logiciel. Les coûts massifs externalisés de mise en œuvre de Segregated Witness dépassent de loin le coût de la réalisation d'un hard fork - et tout cela pour une simple augmentation 0.7MB "effective" de la taille de bloc. Il ne faut pas oublier que l'insistance de Bitcoin Core sur SegWit a été conçue comme une mesure d'évitement du hard fork pour augmenter la capacité  de transaction du réseau Bitcoin. L'activation de SegWit permettra à Bitcoin Core de maintenir le refus d'une augmentation de la taille de bloc réelle, et la marche mortelle de Bitcoin se poursuivra.

Pourquoi le Lighning Network n'est pas une solution de scalabilité suffisante

Tout d'abord, les cas d'utilisation réelle pour Lightning Network sont assez limités. Demandez-vous pourquoi les gens utilisent Bitcoin: est-ce parce qu'ils veulent des temps de confirmation rapide; ou est-ce parce qu'ils veulent utiliser de l'argent décentralisé qui ne soit contrôlé par aucune organisation? Bitcoin troque rapidité et efficacité des ressources contre résilience et sécurité, et les temps de confirmation "lents" de Bitcoin ne sont en aucun cas problématiques. En second lieu, caractériser les transactions sur le Lightning Network de "transactions Bitcoin" est faux: Ce ne sont des transactions Bitcoin que dans le sens où un échange modifiant les soldes dans sa base de données interne, réalise des transactions bitcoin. Déployer le Lightning Network, en fait, rend l'usage grand public du bitcoin encore plus compliqué. Le déploiement du Lightning Network va conduire à la création de hubs (pôles) centralisés, où les utilisateurs seront tenus d'enfermer (verrouiller) leurs bitcoins au sein de ces centres afin de les rendre disponibles pour les transactions. Cela ne diffère que légèrement du système bancaire actuel, dont Bitcoin était censé être une échappatoire. Enfin, l'idée que Bitcoin devrait être un "settlement layer"(couche de règlements) est ridicule. Bitcoin est d'abord et avant tout une monnaie numérique; ses capacités de règlement sont secondaires à ses propriétés monétaires. Lorsque bitcoin perd ses attributs monétaires, il perd ainsi toute utilité en tant que réseau de règlement. Pour être clair, le Lightning Network est une bonne innovation mais de dire qu'il va devenir la principale méthode de transactions de petites quantités de Bitcoin est manifestement absurde.

Pourquoi je soutiens Bitcoin Unlimited

En tant que communauté, nous avons perdu des années à débattre de la question technique finalement triviale de la taille de bloc. Il est temps de mettre en œuvre une solution positive, une bonne fois pour toutes, pour résoudre la question des limites de taille de bloc. Coder en dur au niveau du protocole si les blocs doivent être grandes ou petits est stérile, et va conduire à encore plus de conflits sur la route. Nous devrions laisser trancher la question de la taille de bloc au marché libre. Il va naturellement s'adapter et être dans le rythme du réseau et des contraintes technologiques en constante amélioration. La décision de Bitcoin Unlimited de donner aux mineurs la possibilité de régler eux même la limite de taille de bloc garantit que la taille du bloc suivra ce que le réseau bitcoin est capable de gérer en toute sécurité. Bitcoin Unlimited permet aux mineurs de définir à la fois la taille de bloc maximum qu'ils produiront et la taille maximale qu'ils sont prêts à accepter, avec les deux signaux inclus dans les scripts coinbase de chaque bloc. Si un nœud découvre qu'une chaîne avec de plus grands blocs est déjà quatre blocs en avance (le réglage par défaut) de la chaîne sur laquelle il est actuellement, il changera automatiquement et reconnaîtra cette chaîne plus longue comme celle valide, conformément aux règles de consensus Nakamoto. Cela rend les futurs ajustements de taille de bloc faciles et empêche cette question de devenir aussi litigieuse qu'elle l' a été au cours des deux dernières années.

Pourquoi un hard fork ne pose aucune menace

Le plus grand danger d'un hard fork, il est dit, est qu'il va produire un scénario dans lequel il y a deux blockchains et donc deux versions différentes de Bitcoin. Mais pour autant que je puisse dire, dans le débat sur la scalabilité, la grande majorité est d'accord sur le fait que la taille de bloc a besoin d'augmenter tôt ou tard, tandis que la principale différence d'opinion est sur la méthode utilisée pour atteindre cet objectif. La raison pour laquelle le récent hard fork d'Ethereum a produit deux versions différentes d'Ethereum était parce qu' une qualité fondamentale du grand livre, à savoir son immuabilité, a été modifiée de façon permanente. En outre, parce que la période d'ajustement de la difficulté de Bitcoin est de deux semaines, avec dix minutes par bloc, n'importe quelle branche de la chaîne avec la majorité de hashrate sur elle sera presque certainement assurée d'être le vainqueur décisif; les chances d'un fork produisant deux bitcoins différents sont faibles. La chaîne minoritaire aura beaucoup plus de lenteur au niveau de la production de blocs, et les mineurs rationnels passeront à la chaîne majoritaire pour éviter de miner à perte. Le seul choix rationnel pour un mineur sera de rejoindre la chaîne soutenue par la majorité économique.

Comment le hard fork doit être mis en œuvre

Comme écrit dans Bitcoin Unlimited, il n'y a pas de seuil de consigne auquel le hard fork est initié. En théorie, un hard fork peut être initié à chaque fois qu'une majorité de hashrate est d'accord. Mal exécuté, cela est dangereux et ne constitue pas un moyen valable de faire des changements de protocole. Avec Bitcoin Unlimited, la majorité des mineurs est nécessaire pour décider ensemble qu'un hard fork va se produire. Alors seulement, les mineurs viennent à un accord sur la date d'activation du hard fork.

Tout d'abord, dans quelles circonstances un hard fork doit être initié? Je recommande de suivre le seuil de 75% de Bitcoin Classic. En d'autres termes, un hardfork sera lancé dès que plus de 75% de hashrate réseau soutient Bitcoin Unlimited. Si le seuil de consensus est trop élevé, alors parvenir à un consensus sera impossible à atteindre, vu qu'un seul pool minier déterminé pourrait opposer son veto à un changement pour l'ensemble du réseau. Un seuil de 75% est tout à fait suffisant pour effectuer un hard fork en toute sécurité.

Deuxièmement, comment pouvons-nous décider du timing pour le hard fork? Ma recommandation est que le fork soit effectué au moins un mois après que le seuil d'activation de 75% soit atteint. Cela donnera à la communauté largement de temps pour mettre à jour leur logiciel de noeud en préparation. La fourche doit être programmée de manière à ce qu'elle se produise immédiatement après un ajustement de la difficulté du réseau. Cela rend économiquement impossible de rester sur la chaîne de la minorité et élimine le risque d'une situation résultant "deux bitcoins". Ceci est le consensus Nakamoto fonctionnant comme prévu.

Conclusion

Mon évaluation des différentes propositions de mise à l'échelle mises en avant par Bitcoin Core et Blockstream à Scaling Bitcoin Milan est ce que j'appelle "la politique de la terre brûlée". Pour des raisons qui demeurent obscures pour moi, ils veulent détruire les propriétés monétaires uniques de Bitcoin et détruire le business modèle des mineurs qui sécurisent le réseau Bitcoin. Les intérêts des mineurs et des utilisateurs de tous les jours du Bitcoin sont fortement alignés. En travaillant ensemble et en identifiant les intérêts communs, nous pouvons amener à une renaissance du Bitcoin et apporter un bénéfice mutuel pour toutes les parties concernées. En travaillant ensemble en tant que communauté unie de développeurs, de mineurs, d'utilisateurs et d'entreprises, nous pouvons démontrer au monde que le réseau Bitcoin peut être évolutif, anti-fragile, et résistant à la centralisation.