Augmentation de la capacité Feuille de route pour le système Bitcoin


La feuille de route suivante a été initialement publiée sur la liste de diffusion bitcoin-dev, par Gregory Maxwell le 2015-12-07.

L’atelier Scaling Bitcoin à Hong Kong vient de se terminer. De nombreuses propositions fascinantes ont été présentées. Je pense que ce serait le bon moment pour partager ma vision de l’arc à court terme pour les augmentations de capacité dans le système Bitcoin.

Je pense qu’il est important d’abord d’exprimer clairement certains des principes pertinents qui, selon moi, devraient guider le développement continu du système Bitcoin.

Augmentation de la capacité Feuille de route pour le système Bitcoin

Bitcoin est une monnaie électronique P2P qui est précieuse par rapport aux systèmes hérités en raison de l’autonomie monétaire qu’elle apporte à ses utilisateurs grâce à la décentralisation. Bitcoin cherche à résoudre le problème fondamental de la monnaie conventionnelle  : toute la confiance nécessaire pour que cela fonctionne –

– Non pas que la confiance justifiée soit une mauvaise chose, mais la confiance rend les systèmes fragiles, opaques et coûteux à exploiter. Les échecs de confiance entraînent des effondrements systémiques, la conservation de la confiance crée des inégalités et un verrouillage du monopole, et les points d’étranglement de la confiance qui apparaissent naturellement peuvent être abusés pour refuser l’accès à une procédure régulière. Grâce à l’utilisation de preuves cryptographiques et de réseaux décentralisés, Bitcoin minimise et remplace ces coûts de confiance.

Avec la technologie disponible, il existe des compromis fondamentaux entre l’échelle et la décentralisation. Si le système est trop coûteux, les gens seront obligés de faire confiance à des tiers plutôt que d’appliquer les règles du système de manière indépendante. par rapport à la technologie disponible, est trop importante, Bitcoin perd ses avantages concurrentiels par rapport aux systèmes hérités car la validation sera trop coûteuse (tarifant de nombreux utilisateurs), forçant la confiance dans le système. Si la capacité est trop faible et nos méthodes de transaction trop inefficaces, l’accès à la chaîne de résolution des litiges sera trop coûteux, ce qui réintroduira la confiance dans le système.

Étant donné que Bitcoin est une monnaie électronique, ce n’est pas une base de données générique ; la demande de stockage perpétuel hautement répliqué bon marché est illimitée, et Bitcoin ne peut pas et ne satisfera pas cette demande d’utilisation non monétaire (non-Bitcoin), et il n’y a pas de honte à cela. Heureusement, Bitcoin peut interagir avec d’autres systèmes qui traitent d’autres applications et, avec de la chance et un travail acharné, le système Bitcoin peut satisfaire et satisfera la demande mondiale d’argent électronique.

Heureusement, de nombreuses technologies de pointe sont en cours d’élaboration pour faciliter la navigation dans les compromis.

Première étape  : après plusieurs années de développement, Bitcoin Core a récemment fusionné libsecp256k1, ce qui se traduit par une augmentation considérable des performances de validation des signatures. Combiné avec d’autres travaux récents.12 que dans les versions précédentes. Cela a mis longtemps à venir, et sans son anticipation et ses travaux antérieurs tels que les en-têtes d’abord, j’aurais probablement plaidé pour une diminution de la taille des blocs l’année dernière. Cette amélioration de l’état de l’art pour les logiciels de production Bitcoin largement disponibles ouvre la voie à certaines augmentations de capacité tout en rattrapant notre déficit de décentralisation. Cela déplace les goulots d’étranglement hors du processeur et plus fortement sur la latence de propagation et la bande passante.

Versionbits (BIP9) approche de la maturité et permettra au réseau Bitcoin d’avoir plusieurs soft-forks en vol. Jusqu’à présent. Tout cela est résolu dans BIP9. Il semble que versionbits sera prêt à être utilisé dans le prochain soft-fork effectué sur le réseau.

La prochaine chose est que, lors de Scaling Bitcoin Hong Kong, Pieter Wuille a présenté l’apport de Segregated Witness à Bitcoin. Ce qui est proposé est un soft-fork qui augmente l’évolutivité et la capacité de Bitcoin en réorganisant les données en blocs pour gérer les signatures séparément, et ce faisant, les sort du cadre de la limite actuelle de taille de bloc.

La proposition particulière équivaut à une augmentation de la taille de bloc de 4 Mo au pire. La séparation permet de nouveaux modèles de sécurité, tels que le fait d’ignorer le téléchargement de données que vous n’allez pas vérifier et l’amélioration des performances pour les clients légers (en particulier ceux avec une confidentialité élevée). La proposition comprend également des preuves de fraude qui rendent les violations du système Bitcoin prouvables avec une preuve compacte. Cela complète la vision des « alertes » décrite dans la section « Vérification simplifiée des paiements » du livre blanc Bitcoin, et permettrait aux clients légers d’appliquer toutes les règles du système (sous une nouvelle hypothèse forte qu’elles ne sont pas partitionnées de quelqu’un qui générerait les preuves). La conception comporte de nombreuses autres fonctionnalités, telles que la sécurisation des améliorations supplémentaires et l’élimination des problèmes de malléabilité de la signature. Si elle est largement utilisée, cette proposition donne une augmentation de capacité de 2x (plus si multisig est largement utilisé), mais surtout, elle rend cette capacité supplémentaire – et la capacité future au-delà – plus sûre en augmentant l’efficacité et en permettant plus de compromis (en particulier, vous pouvez utiliser beaucoup moins de bande passante en échange d’une forte hypothèse de non-partitionnement).

///sipa/bitcoin/commits/segwit.

(Le discours de Pieter est à  : transcription, diapositives, vidéo).

J’ai eu un bon succès en déployant une version antérieure (hard-fork) de segwit dans la sidechain Elements Alpha ; le segwit à fourche souple maintenant proposé est une conception de deuxième génération. Et je pense qu’il est tout à fait raisonnable de déployer cela dans un laps de temps relativement court. La conception du segwit appelle à un futur hardfork compatible bitcoinj pour augmenter encore son efficacité, mais il n’est pas nécessaire de récolter la plupart des avantages, ce qui signifie que cela peut se produire selon son propre calendrier et de manière non controversée.

Au-delà du segwit, il y a eu une activité considérable autour d’un relais de bloc plus efficace. Il existe un ensemble de propositions, certaines issues d’une de mes esquisses informelles inspirées de p2pool et d’autres inventées indépendamment, appelées « blocs faibles », « blocs minces » ou « blocs souples ». Ces propositions s’appuient sur des techniques de relais efficaces (comme le protocole de réseau de relais ou IBLT) et déplacent pratiquement tout le temps de transmission d’un bloc avant que le bloc ne soit trouvé, éliminant la taille du calcul de la race orpheline. Celles-ci n’ont pas encore été mises en œuvre, mais heureusement la voie semble dégagée. J’ai vu au moins une spécification plus ou moins complète, et je m’attends à voir des choses fonctionner en utilisant cela dans quelques mois. Cet outil éliminera la latence de propagation d’être un problème en l’absence de comportement stratégique par les mineurs. Mieux comprendre leur comportement lorsque les mineurs se comportent de manière stratégique est une question ouverte.

Parallèlement, de nombreuses activités sont en cours concernant les mécanismes de mise à l’échelle « sans bande passante ». Les mécanismes de mise à l’échelle sans bande passante sont des outils tels que les canaux de paiement direct et bidirectionnels qui augmentent la capacité et la vitesse de Bitcoin en utilisant des contrats intelligents intelligents plutôt qu’une bande passante accrue. De manière critique, ces approches frappent au cœur du compromis entre capacité et autonomie. La CLTV (BIP65), déployée depuis un mois et désormais active sur le réseau, est très utile pour ces techniques (indispensable pour faire fonctionner les remboursements hold-up) ; CSV (BIP68 / BIP112) est en cours de fusion dans le noyau et progresse bien (et sera probablement prêt avant segwit). D’autres améliorations du protocole Bitcoin pour la mise à l’échelle sans bande passante sont en cours: beaucoup de ces propositions veulent vraiment des correctifs anti-malléabilité (qui seraient fournis par segwit), et il y a des améliorations du drapeau de contrôle déjà proposées et d’autres en cours d’élaboration, ce qui serait beaucoup plus facile à déployer avec segwit. Je m’attends à ce que d’ici six mois. Même sans eux. mais il est important de leur donner les moyens pour l’avenir.

//diyhpl.us/wiki/transcripts/scalingbitcoin/hong-kong/overview-of-bips-necessary-for-lightning est une discussion pertinente sur certaines des fonctionnalités réseau recherchées pour Lightning, une proposition de canal de paiement bidirectionnel que beaucoup les partis travaillent en ce moment ; d’autres améliorations non liées à la bande passante discutées dans le passé incluent la transition de transaction, que je considère comme une lecture incontournable pour l’intuition de base sur la façon dont la capacité de transaction peut être supérieure à la capacité de la blockchain ::///index.php?topic =281848.0, bien qu’il y en ait beaucoup d’autres.)

Plus loin, il existe plusieurs propositions liées aux plafonds flexibles ou aux contrôles dynamiques de la taille des blocs alignés sur les incitations, basés sur le fait de permettre aux mineurs de produire des blocs plus grands à un certain coût. Ces propositions aident à préserver l’alignement des incitations entre les mineurs et les opérateurs de nœuds généraux, et empêchent la défection entre les mineurs de saper le comportement du marché des frais qui finira par financer la sécurité. Je pense qu’actuellement. mais elles seront d’une importance cruciale à long terme. Je prévois d’aider et de conduire vers une direction plus concrète de ces propositions dans les mois à venir.

//diyhpl.us/wiki/transcripts/scalingbitcoin/hong-kong/a-flexible-limit-trading-subsidy-for-larger-blocks/.

Enfin, à un moment donné, les augmentations de capacité par rapport à ce qui précède peuvent ne pas suffire. La livraison des améliorations de relais, des preuves de fraude segwit, des contrôles dynamiques de la taille des blocs et d’autres avancées technologiques réduira le risque et donc la controverse autour des propositions d’augmentation modérée de la taille des blocs (telles que 2/4/8 redimensionnées pour respecter l’augmentation de segwit). Bitcoin pourra aller de l’avant avec ces augmentations lorsque les améliorations et la compréhension rendront leurs risques largement acceptables par rapport aux risques de ne pas les déployer. Dans Bitcoin Core. pour éviter que l’ingénierie logicielle de base ne soit le facteur limitant.

Nos progrès récents et actuels ont bien positionné l’écosystème Bitcoin pour gérer ses besoins actuels en capacité.

TL; DR :, et les récentes accélérations et améliorations des relais entrants font de segwit un risque raisonnable. BIP9 et segwit rendront également les améliorations supplémentaires plus faciles et plus rapides à déployer. tout en créant des outils supplémentaires qui rendraient les augmentations de bande passante plus sûres à long terme. Des travaux supplémentaires prépareront Bitcoin à de nouvelles augmentations, qui deviendront possibles lorsqu’elles seront justifiées, tout en fournissant les bases pour les rendre justifiables.

Merci pour votre temps,

//lists./pipermail/bitcoin-dev/2015-December/011865.html, par Gregory Maxwell le 2015-12-07