Primecoin: la cryptocurrency dont l'exploitation est réellement utile

HACKLOG 1x25 - Guida alle Cryptovalute e al Bitcoin (Mining, Acquistare, in Dark Net) (Juillet 2019).

Anonim

Lisez l'interview exclusive du créateur de Primecoin, Sunny King, dans le numéro 13 de Bitcoin Magazine.

L'un des désavantages de Bitcoin que ses partisans ignorent souvent est le fait que son algorithme d'extraction a peu de valeur dans le monde réel. Le problème sous-jacent est le suivant: pour ajouter un nouveau bloc à la blockchain Bitcoin, un mineur Bitcoin doit inclure une "preuve de travail", un nombre qui a une propriété difficile à trouver, mais qui est efficace pour vérifier . Essentiellement, une preuve de travail est une façon de prouver au monde que le mineur a dépensé un certain effort de calcul pour générer le bloc, et est en fait une composante essentielle de la sécurité de Bitcoin - sans preuve de travail, un attaquant pourrait facilement prétendre être un million de nœuds Bitcoin en même temps, et ainsi compromettre sérieusement les mécanismes de commande de transaction de Bitcoin. L'attaque canonique, la fraude dite «double dépense», consiste à envoyer un paiement à un marchand, à renvoyer les mêmes pièces à vous-même et à créer un faux consensus selon lequel la seconde transaction a eu lieu, privant ainsi le commerçant de son argent . Preuve de travail résout le problème en faisant "prétendre être un million de nœuds Bitcoin" prohibitif. Cependant, ce qui rend les gens mal à l'aise, c'est que dans le cas de Bitcoin, le travail (calculs SHA256) n'a pas de valeur sous-jacente; Au contraire, la preuve de travail de Bitcoin n'est littéralement rien de plus que de brûler de l'électricité pour elle-même.

On a toujours pensé que nous pouvions faire mieux. Beaucoup de débutants à Bitcoin suggèrent immédiatement que l'algorithme de minage aurait dû impliquer SETI @ home ou folding @ home, de sorte que les calculs aideraient aussi l'humanité à se rapprocher de la guérison des maladies de repliement des protéines ou de trouver des extraterrestres. Le problème est, cependant, que l'extraction de Bitcoin requiert une propriété clé que SHA256 possède mais que SETI @ home et folding @ home ne possèdent pas: elle est efficacement vérifiable. À l'heure actuelle, tous les participants au SETI et les réseaux pliants sont des bénévoles, ce qui signifie qu'ils n'ont (probablement) aucune autre intention que le désir d'aider réellement l'objectif sous-jacent du projet. Cependant, si ces réseaux sont liés à l'extraction Bitcoin, les participants seront motivés par le profit, ce qui incitera fortement les mineurs à ne pas se préoccuper des calculs et à fournir des données fausses qui n'ont aucune valeur pour les objectifs sous-jacents des réseaux. est indiscernable d'une véritable sortie de calcul.

Primecoin est la première crypto-monnaie basée sur la preuve de travail qui a trouvé une solution réalisable. La prémisse centrale de Primecoin est que, au lieu de hachages SHA256 inutiles, le protocole de preuve de travail obligerait les mineurs à trouver de longues chaînes de nombres premiers. Il existe trois types spécifiques de chaînes qui présentent un intérêt: les chaînes de Cunningham du premier type, les chaînes de Cunningham du deuxième type et les chaînes «bi-jumelles».La règle derrière une chaîne de Cunningham du premier type est que chaque premier dans la chaîne doit être un moins de deux fois le précédent. La première chaîne de Cunningham de longueur 5, par exemple, comprend les six nombres premiers suivants:

1531, 3061, 6121, 12241, 24481

Dans les chaînes de Cunningham du second type, chaque premier doit être un plus de deux fois précédent. Ici, la première chaîne de longueur 5 apparaît beaucoup plus tôt:

2, 5, 11, 23, 47

Enfin, les chaînes bi-jumelles sont des chaînes de paires de nombres premiers jumeaux, ou nombres premiers de 2 unités autre, avec la moyenne de chaque paire étant deux fois la moyenne de la paire précédente. Chaque chaîne bi-jumelle doit évidemment avoir une longueur égale; la première chaîne de six nombres premiers est:

211049, 211051, 422099, 422101, 844199, 844201

Notez qu'une chaîne bi-jumelle est essentiellement une chaîne de Cunningham du premier type et une chaîne de Cunningham du deuxième type roulée en un; les premiers nombres de chaque paire suivent la récurrence que chacun est un plus de deux fois le précédent (211049 * 2 + 1 = 422099, etc.), et les deuxièmes nombres de chaque paire sont pareillement un moins de deux fois le précédent.

Quelle est l'utilité pratique de trouver des nombres premiers? Eh bien, si l'effort que nous mettons dans le sujet aujourd'hui pour son propre bien est une indication, il y a certainement au moins quelque chose à y faire. L'Electronic Frontier Foundation offre 550 000 $ de prix aux premiers groupes pour découvrir un nombre premier de plus de 1 million, 10 millions, 100 millions et 1 milliard de chiffres. Les deux premiers prix ont déjà été revendiqués. Le grand Internet Mersenne Prime Recherche a été à la recherche de grands nombres premiers depuis 1996, et les mathématiciens dans les universités du monde entier sont impliqués. L'Université du Tennessee à Martin fournit une liste de raisons pour lesquelles la recherche de primes est utile; à part "pour la gloire! ", La recherche de nombres premiers conduit à des sous-produits utiles dans d'autres domaines de la théorie des nombres, fournit une incitation pour le développement de matériel informatique et conduit à des idées sur le fonctionnement sous-jacent des nombres premiers eux-mêmes; le théorème des nombres premiers, par exemple, un théorème indiquant avec une grande précision combien de fois les nombres premiers sont susceptibles de se produire à une taille donnée, a été conjecturé en regardant la distribution des nombres premiers réels. Ici, l'espoir est que si Primecoin prend son envol, les gens vont commencer à chercher des moyens beaucoup plus efficaces de trouver des chaînes Cunningham et bi-jumeaux, conduisant potentiellement à des percées mathématiques dans le fonctionnement de ces chaînes.

Autres raffinements

Pour être une crypto-monnaie viable, Primecoin a besoin d'un moyen d'affiner la difficulté de la preuve de travail; autrement, de nouveaux développements dans la technologie ou une popularité accrue peuvent conduire à la création trop rapide de nouveaux blocs pour que la chaîne de blocs soit stable ou si lentement que les transactions prennent des heures à confirmer. À eux seuls, les chaînes principales ne fournissent pas suffisamment de granularité; une chaîne de huit nombres premiers peut être cent fois plus difficile à trouver qu'une chaîne de sept nombres premiers. Une option consiste à récompenser la longueur, mais cela rendrait la vérification plus difficile.La solution choisie par Primecoin est basée sur le test de Fermat. Le test de Fermat est un moyen rapide de dire si un nombre est (très probablement) un nombre premier: augmenter n'importe quel nombre (typiquement 2) à la puissance d'un premier, soustraire le nombre autant que possible et voir si vous obtenez l'original numéro de retour. Par exemple:

2 17 - 17 * 7710 = 2

2 23 - 23 * 364722 = 2

Mais:

2 21 - 21 * 99864 = 8

Une formulation alternative, et légèrement meilleure, consiste à élever le nombre à la puissance du premier moins un et voir si vous en obtenez un; ceci étant vrai implique clairement le nombre passant l'autre test, et l'autre direction est la plupart du temps (une exception est que 3 560 = 375 mais 3 561 = 3 (561 est pas premier), mais ceux-ci deviennent extrêmement rares à mesure que les nombres premiers grossissent). Primecoin utilise le test p-1 en combinaison avec le test d'Euler-Lagrange-Lifchitz, qui utilise des principes similaires, pour établir la primalité. Donc, la question est, comment peut-on utiliser ce test pour créer de la granularité? Autrement dit, comment peut-on distinguer entre une chaîne 7. 2 nombres premiers longs et une chaîne 7. 5 nombres premiers longs? La réponse est simple: regardez la valeur résultante du test de Fermat de la première valeur de la chaîne pour ne pas être un nombre premier; plus il est bas, plus la "longueur fractionnaire" est grande. Par exemple, notre chaîne de 2, 5, 11, 23, 47 a la valeur suivante 95, 2 94 modulo 95 (modulo étant le terme mathématique pour le processus de soustraction répétée utilisé ci-dessus) est 54, donc la chaîne aurait une longueur de 5 + (95-54) / 95 ~ = 5. 43. Cependant, la chaîne 1531 … 24481 a la valeur suivante 48961 avec un reste de Fermat relativement faible de 1024, donc la longueur serait de 5 + (48961 - 1024) / 48961 ~ = 5. 97. Pour qu'une chaîne principale soit considérée comme une preuve valide de travail, elle doit avoir une longueur fractionnelle au moins égale à la difficulté; Au moment où nous écrivons, ce paramètre est flottant autour de 7. 1.

Puisque nous ne voulons pas que les preuves de travail soient réutilisables, Primecoin ajoute également une autre restriction. Aux fins de Primecoin, l'origine d'une chaîne bi-jumelle est définie comme la moyenne de la première paire, et pour les chaînes Cunningham simples, l'origine correspond à la moyenne de la première paire si le jumeau de la chaîne Cunningham existait aussi ; par exemple, les origines des deux chaînes simples de Cunningham indiquées ci-dessus sont respectivement 1530 et 3. La restriction est que l'origine d'une chaîne primaire doit être divisible par le hash du bloc pour lequel la preuve de travail est. Les fonctions de hachage ont la propriété que la seule façon de rechercher une valeur qui a un hachage particulier est la stratégie informatique infaisable d'essayer simplement de nouvelles valeurs jusqu'à ce que vous obteniez un résultat qui fonctionne; par conséquent, la seule façon de générer des preuves de travail valides est de rechercher des chaînes primaires ciblées sur un bloc dont vous connaissez déjà le hachage, et ces chaînes ne seront utiles que pour ce bloc spécifique.

Primecoin ajoute également un certain nombre d'autres innovations:

  • Réglage de difficulté lisse - contrairement à Bitcoin, qui ajuste sa difficulté pour correspondre exactement au taux cible de 1 bloc par 10 minutes tous les blocs de 2016 (environ deux semaines), Primecoin ajuste sa difficulté légèrement chaque bloc, le poussant vers le taux cible dans un modèle de décroissance exponentielle.Par exemple, si la puissance de hachage du réseau (ou plutôt, la puissance de la première génération) double soudainement, le bloc suivant sera de 0. 02% plus dur que le précédent, augmentant la quantité de travail requise par bloc à 186. 5% de l'original semaine et 198. 2% après deux semaines, en supposant qu'aucune augmentation de la puissance minière n'a lieu.
  • Confirmations très rapides - contrairement au Bitcoin, où les transactions prennent en moyenne dix minutes à confirmer (huit minutes en pratique puisque la difficulté doit constamment rattraper l'augmentation de la puissance minière), les blocs Primecoin arrivent à un taux par minute. Cela permet d'effectuer des transactions sécurisées beaucoup plus rapidement; six confirmations peuvent prendre cinquante minutes à Bitcoin, mais elles ne prennent que six minutes à Primecoin. Les mathématiques sous-jacentes expliquant pourquoi six confirmations sont un seuil relativement sûr sont indépendantes du temps de confirmation du bloc, donc la transaction Primecoin à six confitmations n'est pas moins sûre (on peut soutenir que les attaquants peuvent faire des tentatives de double dépense dix fois plus jusqu'à sept ou huit confirmations plus que compense pour cela).
  • Récompense de blocage auto-ajustable - Bitcoin est connu pour son algorithme de fourniture de monnaie contrôlée, qui garantit que seulement 21 millions de bitcoins seront générés, ainsi que la spécification du taux de sortie de ces bitcoins. Primecoin suit un chemin différent. Le nombre de primecoins (XPM) libérés par bloc est toujours égal à divisé par le carré de la difficulté, une formule qui devrait converger vers un maximum si la difficulté augmente linéairement. Étant donné que la loi de Moore stipule que la puissance de calcul augmente de façon exponentielle, et que l'effort nécessaire pour trouver une chaîne primaire est exponentiel dans sa longueur, il est fort probable que cela soit vrai.

Il y a des endroits où Primecoin a raté de sérieuses opportunités d'amélioration. Tout d'abord, la récompense du bloc auto-ajusté devait être une «simulation plus naturelle de la rareté de l'or». Cependant, dans la pratique, il fait exactement le contraire. La propriété désirable de l'or est que son offre augmente au moins quelque peu avec sa valeur; Si le prix de l'or dépasse les 5 000 $, les opportunités minières deviendront rentables et ne seront pas rentables avant, ce qui augmentera le taux d'extraction de l'or neuf et finira par faire monter l'offre, neutralisant partiellement le choc des prix. Dans ce cas, si le prix augmente d'un facteur dix, la difficulté augmentera de manière significative et plus de mineurs emménageront, entraînant … une réduction du taux de production de Primecoin. Ainsi, au lieu d'ajouter le mécanisme de rétroaction négative inhérent à l'or, Primecoin crée plutôt un mécanisme de rétroaction positive qui exacerbe le problème de la volatilité. En outre, Primecoin aurait pu mettre en place son algorithme d'ajustement exponentiel pour avoir une période beaucoup plus longue - atteignant 86. Ajustement de 5% après deux mois, par exemple, au lieu d'une semaine. C'est une innovation qui stabiliserait au moins quelque peu la valeur de la monnaie en générant plus de pièces de monnaie quand les intérêts augmentent, mais malheureusement, jusqu'à présent, aucune monnaie n'a essayé cela; Primecoin, malgré toutes ses autres améliorations, a raté l'occasion d'être le premier.

Dans l'ensemble, Primecoin se présente comme une expérience extrêmement intéressante; pour la première fois, nous avons une devise dont l'algorithme d'extraction a une valeur secondaire, et en même temps Primecoin, contrairement à tant d'autres pièces avant elle, fait en réalité de sérieuses tentatives pour améliorer Bitcoin dans des aspects sans rapport. Sans tenir compte de l'avance massive de Bitcoin, Primecoin pourrait bien être la première pièce alternative à être meilleure que Bitcoin, donnant à la devise le potentiel d'un bel avenir devant elle.

Lisez l'interview exclusive du créateur de Primecoin, Sunny King, dans le numéro 13 de Bitcoin Magazine.