Décomposer le Scandale AsicBoost de Bitcoin: Les Solutions

Regardez le procédé pour vendre de la viande périmée ... (Mai 2019).

Anonim

Comme premier révélé par Bitcoin Core développeur et Blockstream Co-fondateur et CTO Gregory Maxwell, puis confirmé par Bitmain à travers un communiqué de presse, le principal fabricant de matériel minier chinois a inclus la technologie AsicBoost dans ses puces ASIC spécialisées.

Ceci est controversé, en grande partie parce que AsicBoost est breveté et donc potentiellement biaiser l'écosystème minier de Bitcoin par la réglementation gouvernementale. En outre, l'utilisation secrète d'AsicBoost, comme il s'avère, est en grande partie incompatible avec une fourchette souple Témoin séparé (SegWit), la mise à niveau de protocole proposée par l'équipe de développement de Bitcoin Core.

Bien qu'il ne soit pas clair que Bitmain ait effectivement utilisé AsicBoost, et que l'entreprise nie que c'est la raison pour laquelle elle bloque SegWit, beaucoup pensent qu'une réponse est nécessaire.

Après avoir dénoncé le "scandale AsicBoost" dans un article précédent, voici quelques options pour aller de l'avant.

AsicBoost

Tout d'abord, un récapitulatif rapide sur l'exploration de Bitcoin et AsicBoost. (Ignorer si vous connaissez déjà les détails.)

Les mineurs Bitcoin construisent des blocs de données. Ces blocs incluent des transactions, des données aléatoires (un "nonce") et plus encore. Une fois construit, un mineur hache son bloc, qui est une astuce mathématique qui brouille et compresse toutes les données en une chaîne de nombres courts et aléatoires: un hachage. Si ce hash commence à contenir suffisamment de zéros, le bloc est valide et peut être soumis au réseau. Si ce n'est pas valide, le mineur devra réessayer, par exemple en changeant le nonce.

Pour construire et hacher un bloc, les mineurs doivent investir un tout petit peu de puissance de calcul, donc d'énergie. En effet, cela signifie qu'à chaque fois qu'un mineur trouve un bloc valide, il doit avoir statistiquement investi beaucoup plus d'énergie pour tous les blocs invalides qu'il a également construits.

Un hachage valide est donc littéralement la preuve qu'un mineur a fait un travail spécifique, ce qui explique pourquoi ce processus est appelé «preuve de travail». "Cette preuve de travail est ce qui rend Bitcoin relativement immuable. Le seul moyen pour un pirate de réécrire l'histoire est d'avoir accès à du matériel spécialisé et d'investir de l'énergie pour refaire tout le travail.

AsicBoost permet aux mineurs de prendre un "raccourci". "Au lieu de hacher à l'aveuglette autant de variations d'un bloc que possible, AsicBoost permet aux mineurs de réutiliser un certain calcul dans le processus de hachage sur plusieurs essais. Cela économise 15 à 30% d'énergie.

AsicBoost peut être utilisé de deux façons: ouvertement et secrètement. L'utilisation excessive serait évidente pour n'importe qui; il est facilement détecté en regardant les blocs qu'un mineur produit. L'utilisation secrète, cependant, est beaucoup plus difficile, voire impossible, à détecter. Seule l'utilisation secrète est largement incompatible avec SegWit.

Les puces de Bitmain permettent une utilisation aussi bien cachée que dissimulée, mais la société n'a certainement pas utilisé AsicBoost ouvertement. Il y a plusieurs indications que Bitmain a utilisé secrètement AsicBoost, mais l'entreprise nie le contraire, et cela n'a pas encore été prouvé.

Option 1: Ne rien faire

La première option à la lumière des révélations d'AsicBoost est, bien sûr, de ne rien faire du tout.

En supposant que Bitmain utilise AsicBoost, ou l'utilisera à l'avenir, les mineurs (ou, plus précisément, les fabricants de matériel minier) devront alors avoir accès au brevet, ou être en concurrence pour d'autres raisons. En fonction du bénéfice ajouté par AsicBoost (ceci est quelque peu contesté), cela pourrait être viable au moins à court terme. Cependant, que ce soit viable à long terme, c'est beaucoup moins sûr.

Autrement, le brevet pourrait être rendu public.

L'un des détenteurs de brevets, Sergio Demian Lerner, a suggéré cela comme une option, bien qu'il ne semble pas très désireux de le faire sans aucune récompense.

Dans son communiqué de presse, Bitmain a fait allusion à la libération du brevet en écrivant:

"Si tout le matériel minier pouvait utiliser AsicBoost, le coût en J / GH diminuerait et le taux de hachage du réseau augmenterait, rendant le Bitcoin réseau encore plus fort. Ainsi, la méthode AsicBoost n'est pas une 'attaque secrète' sur la fonction Bitcoin PoW. C'est une optimisation d'ingénierie. "

Et:

" Nous suggérons de travailler avec les titulaires de brevets afin que le brevet puisse être utilisé par le public. "

Bien que cela puisse être une bonne option, il convient de noter que (contrairement au communiqué de Bitmain) la libération du brevet n'augmenterait pas vraiment la sécurité de Bitcoin d'une manière significative.

C'est parce que dans un paysage minier concurrentiel, toute énergie économisée par les mineurs devrait vraiment être réinvestie pour augmenter le taux de hachage. Mais le but de la preuve de travail n'est pas, en soi, de trouver des hachages valables. Les hachages sont juste des nombres aléatoires et ne fournissent pas la sécurité en eux-mêmes.

Le but de la preuve de travail est plutôt … de prouver le travail.

Si tous les mineurs utilisaient AsicBoost, le taux de hachage augmenterait, mais les mineurs n'investiraient pas plus d'énergie. En d'autres termes, si tous les mineurs prennent le même "raccourci", ce raccourci devient simplement "l'itinéraire principal". "

En tant que tel, l'annulation d'une transaction ne serait pas plus difficile. Un attaquant aurait toujours besoin d'accéder à du matériel spécialisé et devrait investir la même quantité d'énergie.

Ce n'est pas un problème - mais cela ne profite à personne non plus.

Option 2: Bloquer Covert AsicBoost

Bien sûr, la principale raison pour laquelle Maxwell a révélé que Bitmain implémente AsicBoost dans ses puces n'était pas tant à cause d'AsicBoost lui-même; plutôt, c'était à cause du témoin séparé. Plus spécifiquement, étant donné que l'utilisation secrète d'AsicBoost est largement incompatible avec SegWit, cela peut empêcher Bitmain d'activer la fourche souple SegWit proposée.

Dans son projet de Bitcoin Improvement Proposal (BIP) envoyé à la liste de diffusion de développement Bitcoin, Maxwell propose donc de ne bloquer que la version secrète d'AsicBoost (ou, en réalité, de la rendre beaucoup plus chère à utiliser). Si l'utilisation secrète d'AsicBoost est bloquée, cela supprimera au moins cette raison pour bloquer SegWit.

Les utilisateurs Bitcoin peuvent bloquer l'utilisation secrète d'AsicBoost avec une fourchette souple activée par l'utilisateur (UASF), ce qui oblige les mineurs à choisir l'une des deux options suivantes: les mineurs doivent soit activer le témoin séparé, soit inclure leurs blocs qui ne font réellement rien - sauf bloquer AsicBoost.

Cela laisserait aux mineurs le choix d'activer ou non le témoin séparé. Et ils pourraient encore utiliser la version ouverte d'AsicBoost.

En tant que tel (et contrairement à ce que Bitmain a suggéré dans son communiqué de presse), le BIP n'entraînera pas de perte pour les titulaires de brevets. Si quoi que ce soit, cela aiderait les titulaires de brevets: cela garantirait que personne ne contrevienne secrètement au brevet. En effet, Lerner soutient le blocage de l'utilisation secrète d'AsicBoost, et il a même soumis à nouveau la proposition BIP de Maxwell en utilisant une terminologie différente.

Bitmain, cependant, n'a pas encore commenté le BIP, et il n'est toujours pas clair si la compagnie le soutiendra. (Bien sûr, si la société n'utilise pas AsicBoost en secret, elle aurait peu de raisons de s'opposer à la proposition.)

AsicBoost peut aussi être bloqué en adoptant la dernière version de Extension Blocks, une solution alternative d'évolutivité proposée par le Bcoin équipe de développement.

Comme autre option, le développeur de Bitcoin, Jimmy Song, a suggéré qu'au lieu de rendre l'utilisation secrète d'AsicBoost impossible, l'utilisation peut être incitée. Cette incitation supplémentaire pourrait être combinée avec Témoin séparé, ce qui pourrait donner aux mineurs une raison de plus d'activer la fourche douce.

Troisième option: bloquer tout AsicBoost

Pour certains, bloquer la version secrète d'AsicBoost n'est pas suffisant.

Comme AsicBoost est breveté et que les brevets sont appliqués par l'État, on craint que cela ne mène à une situation où l'exploitation minière devient semi-autorisée: l'exploitation minière nécessiterait effectivement la permission des détenteurs de brevets et des États qui appliquent les brevets. Cela pourrait à son tour conduire à un écosystème minier plus centralisé et peut-être même réglementé.

Les développeurs de Bitcoin Core Peter Todd et Matt Corallo, par exemple, ont suggéré que le protocole Bitcoin devrait être modifié pour rendre AsicBoost complètement hors de propos.

Cela peut bien sûr être fait avec une fourchette dure; l'idée initiale était de l'associer à une fourchette stricte faisant partie du consensus sur la table ronde Bitcoin (mieux connu sous le nom d '«accord de Hong Kong»). Mais puisque les premières propositions de fourchettes résultant de cet accord n'ont pas réussi à obtenir un consensus jusqu'ici, cette option semble hors de propos pour le moment. Alternativement, AsicBoost peut être doux fourchu hors du protocole actuel.

Mais peut-être sans surprise, les détenteurs de brevets n'aiment pas ces options, tandis que d'autres craignent que la modification du protocole en réponse à ce qu'ils considèrent comme une optimisation ne décourage la future innovation. Bloquer tout AsicBoost, par conséquent, semble toujours comme un coup de feu pour le moment.

Option 4: Preuve de changement de travail

Enfin, il y a «l'option nucléaire». "

Dans un écosystème où un groupe relativement restreint parvient à contrôler une part relativement importante de la puissance de hachage sur le réseau Bitcoin, et où des motifs liés à AsicBoost ou des motifs" politiques "semblent avoir joué un rôle dans En bloquant le Témoin Séparé, certains - comme le pseudonyme «Praxeology Guy» - proposent que la meilleure façon d'avancer est de changer complètement l'algorithme de preuve de travail.Cela rendrait tout le matériel minier existant inutilisable et «réinitialiserait» le paysage d'exploration de données à un endroit où plus d'utilisateurs réguliers pourraient participer, tout en désactivant AsicBoost en même temps.

Changer l'algorithme de preuve de travail de Bitcoin est très controversé, en grande partie parce qu'il punit tous les mineurs actuels. Et comme pour toute fourchette dure, il faudrait que tout le monde passe à un nouveau protocole. Ce n'est pas une tâche facile - surtout compte tenu de sa nature controversée.

Cet article a été mis à jour pour plus d'exactitude.