Minisketch Bitcoin

L’exécution de clients Bitcoin complets est un élément vital de la décentralisation durable du réseau et une représentation utile de l’adoption saine du réseau. Cependant, l’exploitation de nœuds complets n’est pas un processus pratique pour les utilisateurs grand public pour accéder à Bitcoin.

Les nœuds complets doivent se synchroniser avec l’ensemble de la blockchain Bitcoin (~ 200 Go) et connectez-vous à plusieurs pairs pour relayer les transactions diffusées sur le réseau. Les nœuds complets standard se connectent à 8 pairs et les relais de transaction représentent une grande partie de la bande passante requise pour gérer un nœud complet.

Minisketch Bitcoin

Gregory Maxwell, un développeur de premier plan Bitcoin et co-fondateur de Blockstream, estime que les relais de transaction représentent environ 87 pour cent des besoins en bande passante complète du nœud.

De plus, la synchronisation complète des nœuds peut prendre plusieurs jours et impliquer des connaissances techniques de base sur Bitcoin. Le processus souvent fastidieux d’exécution d’un nœud complet est un obstacle important à l’adoption qui empêche largement de nombreux utilisateurs grand public de lancer un client complet.

Plusieurs développements ont amélioré le processus de lancement et d’exploitation d’un client complet, tel que Nœud matériel de Casa et de Pierre Rochard lanceur de nœuds – qui inclut la compatibilité LN avec Zap et Joule. Cependant, réduire le fardeau des opérateurs de nœuds complets est une entreprise prudente à long terme et fait l’objet de plusieurs améliorations de Bitcoin, notamment MiniSketch..

MiniSketch est une méthode proposée pour la «réconciliation des ensembles» des ensembles mempool entre les nœuds du réseau, dirigé par Peter Wuille, Gregory Maxwell et Gleb Naumenko.

Synchronisation entre les nœuds

Avant de plonger dans MiniSketch, il est pertinent d’aborder le processus de synchronisation entre les nœuds et l’arrière-plan de la réconciliation d’ensemble.

La réconciliation d’ensemble est un processus en informatique où des ensembles de données règlent (c’est-à-dire réconcilient) les différences entre leurs ensembles de données pour converger vers des copies précises. Maxwell a décrit le processus dans un pièce par Bitcoin Magazine comme la synchronisation des listes de contacts téléphoniques entre deux personnes partageant plusieurs des mêmes contacts.

«Vous pouvez leur envoyer toute votre liste, mais cela ne rentrera pas sur une carte postale et ce serait un gaspillage de toute façon, car ils connaissent déjà la plupart des contacts… Il est possible, en fait, de communiquer l’ensemble de vos contacts à les en envoyant uniquement autant d’informations que la taille de la différence entre vos listes, même sans aucune idée à l’avance des différences réelles. “

La réconciliation des différences entre les ensembles de données d’ordinateurs différents nécessite de la bande passante pour croiser les écarts spécifiques entre les deux ensembles et converger vers la copie identique. Les algorithmes pour améliorer la réconciliation des ensembles fournissent des chemins plus efficaces pour réconcilier les différences entre les ensembles de données, ce qui réduit les besoins en bande passante.

MiniSketch in Bitcoin est une implémentation du PinSketch Algorithme d’esquisse sécurisé basé sur BCH. BCH signifie «Bose-Chaudhuri-Hocquenghem»Et sont des codes utilisés pour la correction d’erreurs cycliques dans la programmation informatique et déployés dans des applications telles que les communications par satellite.

Dans Bitcoin, MiniSketch implémente PinSketch pour optimiser la distribution des transactions sur le réseau, permettant aux clients complets de se connecter à plus de pairs avec des besoins de bande passante réduits.

Les ensembles de données réconciliés dans Bitcoin sont les transactions reçues et relayées par les nœuds pairs. La plupart des nœuds contiennent beaucoup des mêmes transactions, mais l’ordre dans lequel ils sont reçus entraîne parfois des écarts, ce qui retarde la synchronisation des données entre leurs mempools et augmente l’utilisation de la bande passante..

Les nœuds du réseau Bitcoin diffusent des transactions via le protocole de potins du réseau, appelé diffusion. L’objectif est de relayer très rapidement les transactions à travers le réseau vers une majorité de nœuds. Cela conduit à des incohérences dans l’ordre des transactions dans mempools par rapport aux blocs récemment synchronisés.

Minisketch

MiniSketch est conçu pour améliorer le processus de réconciliation des ensembles en présentant un mécanisme plus efficace pour que les nœuds mempools se synchronisent et ne transmettent que les données nécessaires entre eux plutôt que l’ensemble des ensembles de données.

Les nœuds gaspillent une bande passante substantielle en discernant quels nœuds doivent recevoir quelles données de transaction pour que le réseau soit synchronisé lorsque les transactions sont récupérées par les mineurs du mempool. MiniSketch permet aux nœuds de croiser les données via un algorithme basé sur seul les données qui se produisent dans un ensemble mais pas dans l’autre.

En règle générale, l’échange de données entre les nœuds se concentre sur le référencement de l’ensemble des ensembles de données mempool. MiniSketch permet une synchronisation (réconciliation) beaucoup plus compacte des ensembles de mempool de transaction en esquissant les différences entre les ensembles de données via des «sommes de contrôle d’ensemble».

Les sommes de contrôle d’ensemble ont une capacité prédéterminée et peuvent être utilisées pour esquisser la différence symétrique entre deux ensembles de données. Par exemple, si Alice et Bob souhaitent réconcilier leurs ensembles de transactions de nœuds, ils peuvent utiliser MiniSketch pour calculer une esquisse des éléments dans leurs ensembles de données..

L’une des parties, disons Bob, mesure la différence symétrique entre les deux ensembles de données, ce qui revient à trouver un nombre précis de différences entre différents types de sommes de données. Cependant, Bob ne cherche qu’à récupérer les différentes données du croquis d’Alice à partir de son croquis. Il envoie ensuite les différences à Alice, et ils peuvent tous les deux réconcilier leurs ensembles de transactions beaucoup plus efficacement.

Selon le MiniSketch Github Fichier Lisez-moi:

«Cela réussira toujours lorsque la taille de la différence (éléments qu’Alice possède mais pas Bob plus éléments que Bob possède mais pas Alice) ne dépasse pas la capacité du croquis qu’Alice a envoyé. La partie intéressante est que cela fonctionne quelles que soient les tailles réelles des ensembles – seule la différence compte. »

Selon Maxwell dans l’article du magazine Bitcoin, MiniSketch pourrait permettre une réduction potentielle de la surcharge du relais de transaction de nœud de 40X, ce que leurs simulations ont indiqué..

Les deux principaux avantages de MiniSketch sont:

  1. Réduction de la bande passante des nœuds.
  2. La capacité des nœuds à se connecter à plus de pairs.

La réduction de la bande passante à l’aide de MiniSketch est évidente et peut être utilisée pour une propagation de bloc plus efficace dans liaisons satellites à faible bande passante.

La diminution de la charge de bande passante par nœud permettrait également aux nœuds de se connecter avec plus de pairs que d’habitude – comme 16 au lieu de 8. D’autres avantages et applications de MiniSketch, tels que cités dans le dépôt Github, sont sa combinaison potentielle avec dc-nets pour la «communication anonyme cryptographique multipartite» et pour aider à extraire une clé cryptographique à partir de données biométriques «floues».

Notamment, MiniSketch est également facultatif pour les opérateurs de nœuds car il ne fait pas partie du consensus de Bitcoin exigeant que les nœuds soient mis à niveau vers la dernière spécification de base. Au lieu de cela, les opérateurs pourraient choisir d’exécuter le protocole avec d’autres pour augmenter l’efficacité de leur bande passante.

Un BIP formel pour MiniSketch n’est pas encore disponible, et une future proposition pourrait être intégrée à un autre protocole appelé «Tables de consultation de floraison inversible’Pour améliorer la propagation des blocs. L’existence facultative de MiniSketch le rend également moins enclin à être en retard avec d’autres propositions de changement consensuelles formelles de la crypto-monnaie héritée..

Les avantages globaux de MiniSketch sont convaincants pour les opérateurs de nœuds car il abaisse la barrière à l’exploitation d’un nœud complet et le rend plus efficace. Des clients Bitcoin plus complets signifient une décentralisation plus robuste et un réseau plus sain.