Nothing At Stake: compromis avec la conscience

Très brièvement sur vous-même.


Il était une fois à Habré, ils ont écrit sur moi dans cet article, cependant, une partie de l'audience intéressée par les technologies de la blockchain connaît presque certainement mon travail à travers le projet Monero, dans lequel la base de code originale (CryptoNote) a été développée principalement par mes efforts (cela est confirmé notamment mon nom dans la source). Les 7 dernières années ont été pour moi exclusivement associées au développement dans ce domaine, et il y a des réflexions que je voudrais partager.

Vous voulez savoir pourquoi les projets PoW disparaîtront?


Il y aura probablement un soupir sceptique maintenant, et quelqu'un roulera des yeux. Il n'y a rien à faire, partout où ils écrivent que la rubrique «avec un défi» vous fera lire au moins le début de l'article (intéressant, ça a marché?).

Dans une récente conversation avec l'éditeur d'un grand crypto-média russe, j'ai découvert que la critique de PoW déjà au niveau subconscient est perçue par beaucoup comme une hérésie. Et en ce qui concerne les difficultés pratiques, par exemple, pour un petit projet de blockchain débutant avec du PoW pur, les chances de résister à une attaque de 51% sont plutôt faibles, j'ai entendu dire que le PoW n'est (attention) que pour les grands projets!
Des discussions sans fin (et, comme vous le savez, Internet est un lieu de commentaires rationnels et réfléchis) sur le thème «PoW vs PoS» conduisent au fait que la polarisation de la communauté des crypto-monnaies est de nature presque religieuse.
Dans cet article, j'expliquerai pourquoi Nothing at Stake est considéré comme le talon d'Achille du PoS, puis je montrerai pourquoi ce n'est pas le cas.

L'avènement du PoS


L'histoire du PoS remonte à 2011, lorsque des idées consensuelles basées sur le vote des «détenteurs» (et non des mineurs) ont commencé à être exprimées sur le bon vieux bitcointalk, et ont alimenté leur intérêt à cette époque, la combustion inutile d'électricité lors de l'exploitation de PoW.
La première implémentation était PeerCoin [9], qui, comme il s'est avéré plus tard, présentait également un certain nombre d'inconvénients typiques pour PoS. Mais le rubicon a été adopté et une compréhension progressive du nouveau paradigme a commencé.
Aujourd'hui, il existe un grand nombre de projets qui, d'une manière ou d'une autre, utilisent l'une des variétés de modèles PoS (DPoS, LPOS, POI, PoA, etc.). Malgré le fait que tous ces algorithmes ont leurs propres noms, du point de vue de l'auteur, ce sont principalement des variations sur le sujet du PoS. À la fin de l'article, nous examinerons très brièvement quelques exemples intéressants précisément dans le contexte du problème soulevé.

Aucun enjeu dans les systèmes PoS


Presque tous les modèles PoS sont critiqués pour leur vulnérabilité au problème dit de «rien en jeu». L'idée de cette attaque est liée au phénomène connu sous le nom de «tragédie des communs» [1]. D'une manière générale, les «tragédies des ressources partagées» sont décrites comme une série de phénomènes dans lesquels les intérêts des individus peuvent contredire le bien commun, et comme l'exemple le plus simple est donné par un pâturage commun, dont l'usage irrationnel conduit majoritairement à l'épuisement de cette ressource dans son ensemble. De la même manière, un projet de chaîne de blocs arbitraire peut être envisagé dans lequel la possibilité d'exploiter et de recevoir des récompenses est impliquée comme un avantage pour le grand public.
Contrairement au PoW, où l'extraction est un processus coûteux en termes de calcul et peut être effectué simultanément par rapport à n'importe quelle chaîne, dans l'extraction du PoS aucun effort / coût supplémentaire n'est fait (significatif) pour voter dans une chaîne alternative, en d'autres termes, le mien est également la deuxième chaîne , Le mineur PoS ne perd rien (aucun enjeu). De toute évidence, le logiciel du projet par défaut ne facilitera pas une attaque à 51% en minant les chaînes disponibles, mais la théorie du jeu (et ce n'est pas à propos de Dota, mais à propos de ce que John Nash a écrit) suggère que si les intérêts individuels dictera une stratégie différente, le mineur PoS théorique modifie le code en conséquence, en suivant cette stratégie.
Par exemple, considérons un projet de blockchain conditionnelle avec POS et avec déjà 18 millions de pièces émises, où toutes les pièces sont réparties entre 1800000 détenteurs à parts égales (10 pièces pour chaque détenteur). Certains des détenteurs (peut-être tous) participent à l'exploitation minière PoS, donc chaque fois qu'un bloc est créé, l'un des 1800 000 propriétaires le fait.
Supposons que quelqu'un décide de lancer une attaque à 51% et décide de soudoyer des mineurs pour qu'ils participent à l'exploitation d'une chaîne malveillante (par exemple, une chaîne qui effectue des dépenses doubles dans l'intérêt de l'attaquant), en les motivant à recevoir celui qui trouve le bloc augmentation de la rémunération (pot-de-vin).
Clarification *: Il est important de souligner ici que pour un attaquant, la stratégie de corruption la plus avantageuse sur le plan économique sera un pot-de-vin sous la forme d'attribution d'une récompense de bloc supplémentaire dans sa chaîne alt, il n'a donc pas besoin de soudoyer chaque mineur individuellement, et le coût de l'attaque est réduit au montant des récompenses de bloc en ses chaînes alt (6 blocs par exemple).
On pense que l'attaque réussira si le mineur réussit à motiver 51% des mineurs PoS à participer à l'attaque, et comme les mineurs n'exploitent pas de manière numérique un certain nombre de chaînes, il est considéré qu'elles sont faciles (bon marché) à motiver pour participer à l'attaque.

Étude de cas


Il est impossible de considérer la théorie des jeux comme aucun enjeu, sans considérer que le mineur PoS est un détenteur et, du point de vue des intérêts personnels, est également intéressé à maintenir / augmenter le prix d'une pièce. Le coût d'une pièce se compose d'un grand nombre de facteurs, mais la condition directe de l'existence de la liquidité est la capacité réelle du réseau à remplir sa fonction directe - effectuer des paiements en toute sécurité (nous parlons ici de projets de blockchain réels, pas de jetons), et si le réseau est compromis par une double dépense par une attaque 51 %, les conséquences peuvent être les plus fatales - à commencer par de graves effondrements du taux de change et se terminant par la radiation des bourses, qui souffrent principalement de ces attaques.
Ainsi, dans le cas où le réseau passe à une chaîne malveillante, le mineur PoS soudoyé ne risque que la valeur équivalente de ses pièces. Semblable à la «tragédie des ressources partagées», le mineur PoS moyen est davantage motivé par le gain personnel que par le souci de la sécurité du réseau. Si son propre profit (dans le cas où il gagne un bloc dans une chaîne alternative malveillante) est supérieur à sa perte potentielle (c'est-à-dire plus de 10 pièces), alors le mineur aura toujours la motivation pour rejoindre l'attaque.

Examinons maintenant les circonstances pratiques et, surtout, comparons-les avec les systèmes PoW classiques. Permettez-moi de vous rappeler que l'exemple ci-dessus décrit une monnaie irréaliste avec une distribution complètement uniforme, qui ne se trouve pas dans la vraie vie.
Plusieurs fois, j'ai entendu une opinion intéressante selon laquelle toute crypto-monnaie, étant un système financier typique, a le même modèle que la distribution mondiale de la richesse [2] (Fig. Ci-dessous), et le comportement supposé des marchés des crypto-devises le confirme.

image


Afin d'évaluer approximativement la nature de la distribution des pièces, par exemple, prenons le plus grand projet avec l'écosystème le plus développé et le plus grand nombre de détenteurs - Bitcoin. Heureusement, le modèle de confidentialité vous permet de le faire sans trop de difficulté. Le tableau ci-dessous est extrait de [3] et reflète la répartition actuelle des pièces aux adresses présentes dans la blockchain.

image


*: Bitcoin , Bitcoin , - [4], , . , , , , « ».
**: , , PoS, , , .

Afin de maintenir l'impartialité, nous n'opérerons pas avec le mot Bitcoin dans l'analyse des attaques à 51%, qui ira plus loin. Ce serait faux pour un certain nombre de raisons objectives: Bitcoin est un projet unique, et il existe dans une réalité technologique légèrement différente (il est presque impossible de trouver un hashrate supplémentaire pour un acteur aussi important, il est difficile de soudoyer des mineurs ASIC en raison de la spécificité de leur équipement, etc.). Nous analyserons plus avant l'aspect technologique impersonnel.
Maintenant, revenons au tableau 1, nous supposerons que nous avons deux projets distincts mais identiques avec exactement la même large distribution de pièces - le projet PoS et le projet PoW, que nous allons essayer d'attaquer.

PoS


Comme nous l'avons découvert ci-dessus, afin de motiver les mineurs PoS avec un pot-de-vin, il doit être au moins équivalent à la valeur des pièces que possède le mineur. Si nous fixons la taille du pot-de-vin, par exemple, à 0,01 pièce, nous ne couvrons que les propriétaires de portefeuilles pour la première et la deuxième ligne (0,15% de toutes les pièces), pour le reste, la motivation sera insuffisante. Si vous augmentez à 1 pièce, alors nous couvrons déjà 4 lignes, et c'est 4,57% - c'est toujours désespérément petit. Pour obtenir 51%, nous devons atteindre la ligne avec des soldes de 100 à 1000 pièces. Un pot-de-vin de 100 pièces ne couvrira que 38,44% des pièces, et de 1000 pièces couvrira jusqu'à 58,29%, donc nous croyons à l'œil nu - un pot-de-vin de 750 pièces peut convaincre 51% des mineurs de participer à l'attaque.

PoW


Disons que la récompense pour le bloc en ce moment est de 12,5 pièces, et, grosso modo, l'extraction de 6 blocs (le nombre de confirmations par défaut) ne devrait pas coûter plus de 75 pièces (la valeur équivalente de ces pièces, en termes de valeur du hashrate). C'est très important - en fait, le coût d'une attaque de 51% est de 75 pièces (76 si important pour quelqu'un). Ce n'était pas un problème auparavant, à l'époque où les mineurs eux-mêmes installaient leurs plates-formes pour exploiter un projet spécifique, parce qu'ils l'ont aimé ou parce que leur équipement fonctionnait le plus efficacement avec ce hachage. Il n'y avait nulle part où prendre des capacités libres capables de dépasser la chaîne principale. Et maintenant, l'équipement est disponible gratuitement à la location sur des espaces ouverts (services comme www.nicehash.com, quelque chose comme uber dans le monde minier), ce qui rend une attaque de 51% sur un projet PoW au moins 10, 10 fois moins cher qu'une attaque sur un projet similaire avec PoS. Tu peux devenir fou!

Mais nous n'avons pas encore fini, il y a encore quelques points:
1. Dans les projets PoS réels, en règle générale, seule une partie des pièces émises est impliquée dans l'exploitation minière, et il est caractéristique que pour les détenteurs de minorités, l'exploitation minière PoS ne soit pas rentable en raison de la faible probabilité de trouver un bloc contre les coûts d'électricité, donc en réalité, la plupart de l'énergie PoS est créée supports moyens et relativement grands, ce qui rend l'attaque encore plus difficile, comme décrit ci-dessus. De plus, nous avons pris la distribution de pièces pour le projet le plus grand et le plus massif, et pour un projet typique dans la première centaine de parts de marché, la distribution compliquera encore l'attaque de corruption, sans parler du démarrage de la blockchain de démarrage, que vous envisagez peut-être de faire ce week-end.
2. ASIC. Les avis divergent au camp PoW: la plupart le considèrent comme mauvais et inventent des hachages qui devraient fonctionner plus efficacement sur les équipements de masse (ProgPoW, RandomX). Leurs adversaires ne filtrent pas et utilisent des hachages rapides crypto-résistants (sha256, sha3, blake), affirmant que l'ASIC est, bien que centralisé, mais en fait - une protection contre 51%. Et dans le contexte des considérations ci-dessus, ces dernières semblent encore plus viables, mais seulement jusqu'au moment où les dispositifs ASIC acquièrent soudainement la capacité d'exploiter non pas un, mais plusieurs hachages associés. Mais attendez, ils ont déjà acquis cette capacité (par exemple, Giant + A2000). Et une nuance plus importante doit être prise en compte - à partir du moment où le projet est lancé jusqu'à ce que le premier ASIC apparaisse sur le marché à vendre, cela peut prendre beaucoup de temps, et pendant tout ce temps, le projet sera très vulnérable.
3. Une attaque Nothing At Stake est une attaque purement théorique avec de nombreuses hypothèses. Par exemple, une condition préalable est l'hypothèse que l'attaquant dispose d'un canal de communication direct avec tous les détenteurs qu'il a l'intention de corrompre afin d'organiser cette attaque. C'est un peu réaliste, tout d'abord. Deuxièmement, il peut difficilement être tenu secret des échanges eux-mêmes, qui pourront prendre des mesures pour s'en protéger (par exemple, suspendre temporairement les dépôts ou augmenter le nombre de confirmations à un montant insuffisant). Lorsque nous parlons d'une attaque de 51% contre PoW, il s'agit d'un scénario pratique très linéaire, qui, incidemment, a été fait plus d'une fois, récemment ici, par exemple, sur Ethereum Classic [11] [12].

Comment renforcer le consensus


Comme mentionné ci-dessus, le problème Rien en jeu est purement théorique et n'a pas trouvé une seule confirmation des attaques réellement menées sur la base de cette vulnérabilité, cependant, si après lecture de ce qui précède, il semble que le problème soit complètement hors de propos, alors ce n'est pas le cas. Le problème existe, bien qu'à un niveau différent en ce qui concerne le PoW, et des efforts considérables sont déployés pour le résoudre. Parmi les solutions existantes, j'ai identifié deux domaines principaux, dont je parlerai très brièvement.

Solutions byzantines de tolérance aux pannes


Les algorithmes de BFT sont étudiés depuis environ 30 ans, et il existe une bonne base scientifique qui prouve la fiabilité des algorithmes de cette famille, y compris pBFT (la fiabilité est fournie si le nombre de participants au consensus malhonnêtes dans le système ne dépasse pas un tiers). Plusieurs projets utilisent cette approche pour mettre en œuvre ou renforcer le consensus, et la plupart d'entre eux affirment qu'à cet égard, ils obtiennent une propriété appelée «finalité», qui peut être traduite par «finalité». Il est entendu comme impossibilité de reconstruire la chaîne (et donc d'annuler la transaction) après un certain nombre de confirmations. Permettez-moi de vous rappeler que dans le consensus classique de Nakamoto, le passage à une autre sous-chaîne peut se produire à n'importe quelle profondeur (mais pas plus profondément que la vérification ponctuelle n'est évidente), et doncmême après plusieurs confirmations, rien ne garantit à 100% que la transaction ne sera pas annulée.

Considérez l'essence de cette approche en utilisant l'exemple de la technologie Casper , qui est développée par l'équipe Ethereum [5].
Clarification ***: En fait, il existe deux modèles PoS dans ethereum, l'un rédigé par Vlad Zamfir «Un modèle pour des protocoles de consensus corrects par construction» et l'autre écrit par Vitalik Buterin et Virgil Griffith «Casper the Friendly Finality Gadget». Dans cet article, nous considérerons la dernière option, car il sera très probablement utilisé dans Ethereum.
Casper se positionne comme une amélioration du modèle de consensus, potentiellement applicable à tout système PoW, et est architecturalement un complément à PoW. L'idée de base est qu'une fois tous les 100 blocs, un groupe de validateurs PoS génère dynamiquement des points de contrôle. Afin de devenir un validateur, vous devez créer un dépôt spécial associé à l'adresse du validateur, et à l'avenir ce dépôt peut être utilisé pour stimuler le comportement honnête du validateur (plus de détails ci-dessous). L'algorithme est sûr tant que ⅔ des valideurs se comportent honnêtement, tandis que ⅔ est déterminé précisément par le montant d'argent en dépôt.
Afin d'encourager les validateurs à adopter un comportement honnête, un mécanisme appelé «Slasher» est utilisé - dans le cas où il a été remarqué que le validateur a voté dans une chaîne alternative (alternative par rapport à celle considérée à la même hauteur), alors celui qui l'a remarqué peut joindre des preuves d'un tel vote dans sa chaîne, puis la caution du validateur malhonnête sera détruite, la commission de motivation correspondante sera versée à ceux qui auront constaté la «violation». En outre, il est supposé que si l'utilisateur est enregistré en tant que validateur PoS en effectuant un dépôt approprié, mais ne participe pas réellement à la validation, son dépôt est progressivement réduit.
Ainsi, du point de vue du protocole Casper, après deux points de contrôle, les blocs ont la propriété de «finalité», c'est-à-dire si ⅔ validateurs ont été confirmés deux fois par des points de contrôle de la chaîne, le bloc sous les points de contrôle ne peut pas être annulé.
Du point de vue de l'auteur, la partie douteuse d'un tel modèle est que l'ensemble des validateurs PoS est limité à un nombre fini. De toute évidence, un tel nombre sera une sorte de compromis entre la taille des preuves (c'est-à-dire le nombre de signatures, numériquement plus de validateurs - la taille de la preuve totale du vote) et le degré de décentralisation - moins il y a de validateurs, plus la centralisation est grande. Tout dépend des paramètres qui seront finalement choisis dans une implémentation particulière, mais en général, le modèle peut se révéler beaucoup plus centralisé que la tendance générale discutée dans la première partie.


Il existe également un certain nombre de projets dans lesquels la durabilité du consensus est obtenue grâce à l'hybridation de PoW et PoS. Le plus souvent, le projet Decred est associé à l'hybride PoW / PoS [6]. Ils utilisent un système de billets achetés pour un certain nombre de pièces, et ces billets ont le droit de voter pour un bloc après un certain temps, puis la probabilité de confirmer un bloc pour un billet augmente avec le temps - plus l'âge est grand, plus les chances (dans un sens) c'est aussi un système de dépôt). La preuve de Jake Yocom-Piatt est donnée dans [7], qui indique que sur le réseau Decred, le coût d'attaque de 51% pour un attaquant avec une petite quantité de PoS sera 20 fois plus élevé que pour Bitcoin. Cependant, lors du calcul pour une raison quelconque, le prix d'achat de l'équipement est indiqué, malgré le faitque dans de tels modèles, il est habituel de calculer le coût de la location d'un hashrate pour la durée de l'attaque.
Un autre exemple intéressant de PoW / PoS hybride est Zano [8], un projet basé sur la technologie de la confidentialité (maintenant je dirai en secret que c'est notre projet - je sais, de manière inattendue). Tout d'abord, selon la théorie du néant, l'attaquant doit pouvoir communiquer avec les détenteurs afin de les convaincre de participer à l'attaque. Dans le cas d'un projet de confidentialité, dans la blockchain dont il n'y a aucune information sur les adresses ou les soldes de portefeuille, cela sera encore plus difficile. De plus, afin de se protéger de l'attaque à longue portée, ainsi que du problème de rien en jeu, Zano utilise une règle de choix de fourche spéciale, qui n'analyse pas la complexité totale de la chaîne entière (de la genèse), mais compare toujours seulement deux sous-chaînes par rapport au point de branchement et préfère une telle branche,qui modifie au minimum le rapport de la complexité PoW à la complexité PoS, tout en maintenant ou en augmentant la complexité cumulée. Ainsi, afin de mettre en œuvre l'attaque de 51%, même si l'attaquant a réussi à soudoyer un certain nombre de mineurs PoS, il devra également investir une somme d'argent substantielle pour fournir la partie PoW de l'attaque, qui est finalement beaucoup plus chère que l'attaque sur le PoW classique ou PoS séparément.

Sommaire



Malgré le conflit potentiel avec les idées de décentralisation, les solutions actuelles basées sur pBFT qui offrent une «finalité» semblent plus sécurisées contre un large éventail d'attaques, y compris les attaques à longue portée et rien en jeu, et offrent également la possibilité de mettre en œuvre des systèmes PoS robustes et propres dans le futur. Mais la question de savoir où se situe le bon équilibre entre centralisation et fiabilité reste ouverte, ce qui donne de bonnes chances pour les solutions hybrides.

Vous pouvez clarifier les circonstances des exemples donnés et plonger dans des subtilités comme «combien le prix baissera pendant l'attaque, combien l'intention de vendre immédiatement à un grand nombre de détenteurs conscients de l'attaque affectera-t-elle la liquidité, si tous les détenteurs auront un tel désir», etc., mais, mais Le concept de cet article est que les mineurs PoS, parce que la «ressource minière» n'est pas aliénée du réseau, le degré de fidélité naturelle au réseau est plus élevé que les mineurs PoW, et je suis profondément convaincu que cette circonstance Horizon Roedel de développement de l'industrie.
Ne pas être d'accord? Écrivez votre point de vue dans les commentaires!

Sources:
  1. en.wikipedia.org/wiki/Tragedy_of_the_commons
  2. en.wikipedia.org/wiki/Distribution_of_wealth
  3. bitinfocharts.com/top-100-richest-bitcoin-addresses.html
  4. en.bitcoin.it/wiki/Deterministic_wallet
  5. arxiv.org/pdf/1710.09437.pdf
  6. docs.decred.org
  7. medium.com/decred/decreds-hybrid-protocol-a-superior-deterrent-to-majority-attacks-9421bf486292
  8. zano.org/downloads/zano_wp.pdf
  9. www.peercoin.net
  10. medium.com/@slowmist/the-analysis-of-etc-51-attack-from-slowmist-team-728596d76ead
  11. bravenewcoin.com/insights/more-51-blockchain-attacks-expected

Source: https://habr.com/ru/post/undefined/


All Articles