Quarkcoin: intentions nobles, mauvaise approche

Star Trek New Voyages, 4x03, World Enough and Time, Subtitles (Septembre 2018).

Anonim

Une des cryptocurrences alternatives les plus intéressantes à sortir du donjon qu'est le forum de Bitcointalk altcoin s'appelle "Quark" (ou parfois "QuarkCoin") - une crypto-monnaie qui vise à être "super sécurisée" en employant plusieurs hash avancés algorithmes à la place de SHA256 plaine de Bitcoin. La monnaie a suscité un vif intérêt au cours des dernières semaines, surtout parce qu'elle a été reprise non seulement dans la communauté Bitcoin, mais aussi parmi deux personnalités: Bill Still, un journaliste américain, producteur de films et auteur responsable des films The Money Masters et The Secret of Oz , et Max Keizer, animateur d'une émission avec des millions de téléspectateurs sur le réseau de télévision Russia Today. Alors, quelle est cette nouvelle pièce qui semble être sortie si soudainement de nulle part, et pourquoi a-t-elle réussi à obtenir autant d'attention là où même Peercoin et Primecoin ont échoué?

Quark diffère de Bitcoin de trois façons: son algorithme de preuve de travail, son intervalle de blocs et son modèle de distribution. L'algorithme de preuve de travail dans n'importe quelle crypto-monnaie (de type Bitcoin) est la fonction que les mineurs doivent calculer pour créer des blocs valides; dans Bitcoin, par exemple, un bloc valide doit avoir un hachage SHA256 commençant par 0000000000000000 (c'est-à-dire quinze zéros hexadécimaux). Parce que SHA256 est essentiellement une fonction pseudo-aléatoire, la seule façon de créer un tel bloc est de continuer à essayer, en essayant en moyenne 2 60 tentatives, avant de créer un bloc valide. Artificiellement, la création de blocs est une mesure de sécurité. il garantit que les attaquants ne pourront pas inonder le réseau de blocs illégitimes, et donc d'un historique de transaction frauduleux, sans avoir plus de puissance de calcul que l'ensemble du réseau légitime combiné.

L'algorithme de preuve de travail dans Quark est plus compliqué que Bitcoin, mais pas excessivement; Au lieu d'utiliser une seule fonction de hachage comme le fait Bitcoin, Quark en utilise six: BLAKE, Blue Midnight Wish, Groestl, JH, Skein et Keccak. Les six algorithmes sont implémentés en série, avec neuf étapes; trois des étapes appliquent aléatoirement l'une des deux parmi ces six fonctions en fonction de la valeur d'un bit. Le point de ceci est double. Tout d'abord, il est destiné à rendre Quark plus résistant au risque de "cygne noir" qu'une seule fonction de hachage se fissure. Deuxièmement, il est destiné à sécuriser la devise contre du matériel spécialisé ou même des GPU; «Étant donné que l'on ne fait que extraire du CPU», lit-on dans l'introduction, «cette pièce offre à l'individu moyen les avantages de l'exploitation minière. "

L'intervalle de blocage dans Bitcoin est de 10 minutes, ce qui signifie que la" difficulté "(c'est-à-dire le nombre de zéros dont une table de travail valide doit commencer avec le hachage SHA256) s'ajuste automatiquement. dix minutes.Dans Quark, l'intervalle est un ambitieux de 30 secondes. Le modèle de distribution en Bitcoin est un modèle de désintégration exponentielle: pour les 210000 premiers blocs (~ 4 ans), 50 BTC est libéré par 10 minutes, pour les 210000 prochains blocs 25 par 10 minutes, puis 12,5 par 10 minutes, et ainsi sur dans une décroissance exponentielle jusqu'à ce que finalement l'émission s'arrêtera entièrement en 2140. Le modèle d'émission de Quark est une décroissance exponentielle similaire, mais beaucoup plus rapide; il commence à 2048 QRK par bloc pendant trois semaines, puis 1024 pendant trois semaines, et ainsi de suite jusqu'à ce qu'il atteigne 1 QRK par bloc après environ sept mois. Contrairement à Bitcoin, Quark reste à 1 QRK par bloc pour toujours - un modèle d '«inflation linéaire permanente» dont le taux d'inflation commencera à 0,5%.

Alors, quels sont les défauts?

Malheureusement, bien que Quarkcoin tente de faire un certain nombre d'améliorations audacieuses et audacieuses sur les paramètres Bitcoin, il échoue sans doute dans ses objectifs sur presque tous les plans. Nous pouvons passer en revue les divers changements apportés par Quarkcoin et constater que presque chacun d'entre eux fait un travail médiocre en faisant ce qu'il a l'intention de faire ou même en introduisant des problèmes qui lui sont propres.

D'abord, les algorithmes de hachage. Comme décrit ci-dessus, l'intention d'avoir six algorithmes de hachage est (1) de se protéger contre les attaques de "cygne noir" sur les algorithmes de hachage, et (2) de rendre la pièce inamicale à un matériel spécialisé. Le premier but semble raisonnable à première vue; Si l'une des six fonctions de hachage se fissure, ce bloc particulier sera toujours trouvé instantanément, et les cinq autres fonctions de hachage resteront debout. Cependant, la façon dont cela a été fait est à la fois superflue et inadéquate.

Une chose à comprendre sur les fonctions de hachage est que, contrairement à la plupart des algorithmes à clé publique, les fonctions de hachage sont souvent très opaques dans leurs implémentations, reposant sur des permutations compliquées et des substitutions arbitraires et des transformations plutôt qu'élégantes. points de courbe. La conception des fonctions de hachage tente de maximiser les propriétés connues comme la diffusion, la confusion et la non-linéarité - essentiellement, les cryptographes professionnels se rencontrent littéralement et essaient de comprendre comment rendre une fonction aussi opaque et brouillée que possible, y compris les cryptographes eux-mêmes. , peut comprendre ce qui se passe à l'intérieur.

En conséquence, les fonctions de hachage ont naturellement beaucoup de redondances intégrées, et cela se voit. Lorsque la fonction de hachage MD5 a été fissurée, elle a baissé lentement. En 1993, les chercheurs ont d'abord trouvé une «pseudo-collision» - deux changements à un paramètre interne appelé un vecteur d'initialisation qui conduit à la même sortie. En 1996, les chercheurs ont découvert une «collision» - deux entrées qui produisent la même sortie - à une composante interne spécifique de MD5, la fonction de compression. Ce n'est qu'en 2004 que ces idées ont été converties en une attaque de collision complète sur MD5 lui-même. Même aujourd'hui, MD5 n'est pas complètement cassé; Althoush collisions, trouver X et Y tel que MD5 (x) = MD5 (y) , peut être fait en seulement un million d'étapes de calcul, pré-images , ou trouver X tel que MD5 (x) = Y pour un Y prédéfini, toujours prendre plus de 2 100 étapes (bien que non plus tout à fait les initiales 2 128 .Par conséquent, les fonctions de hachage comme SHA256 sont déjà très redondantes et à l'épreuve du cygne noir. En fait, si un événement de cygne noir critique se produit, il s'agira probablement de quelque chose comme P = NP ou l'informatique quantique qui affecte toutes les fonctions de hachage à la fois.

De plus, il existe un endroit où l'algorithme n'utilise pas de fonctions de hachage redondantes: l'arbre de Merkle. L'arbre Merkle de Quark utilise toujours le bon vieux SHA256. De plus, une attaque sur l'arbre de Merkle de Bitcoin n'a même pas besoin de l'attaque de pré-image plus dure - une simple attaque de collision, quoique hautement spécialisée, suffira pour faire un double dépenser et même bifurquer tout le réseau. Le processus est simple: faire deux transactions, T1: A -> B et T2: A -> A , tel que hash (T1) = hash (T2) . Publiez T1 . Ensuite, publiez T2 plus tard et répartissez autour des blocs contenant T2 à la place de T1 . Maintenant, supposons que B essaie de dépenser les bitcoins qu'il a reçus dans une transaction T3 . Certains nœuds, qui ont T1 , verront que T3 passe les bitcoins de T1 et reconnaissent donc T3 comme légitime, et finalement un mineur fera un bloc, B1, contenant T3 . D'autres mineurs, qui ont T2 , verront cependant T3 invalide parce qu'ils dépensent des bitcoins qui ont été envoyés à A, et rejettent donc B1 . Ils finiront par créer un nouveau bloc B2 sans T3 . A partir de là, la blockchain se divisera en deux, avec quelques blocs suivant B1 et d'autres suivant B2 . Tout cela ne nécessite qu'une attaque de collision relativement simple contre SHA256, et Quark ne fait rien contre cela.

La deuxième application du mécanisme de multi-hachage de Quark est sa résistance à l'extraction ultra-efficace grâce à un matériel spécialisé. Cependant, la fonction de hachage combinée créée en composant BLAKE, groestl et les autres fonctions n'a pas de propriétés particulières; c'est simplement une fonction de hachage qui occupe neuf fois plus de lignes de code. Produire des dispositifs matériels spécialisés (c.-à-d. ASIC) pour l'exploitation minière, il faudra certainement neuf fois plus de travail, mais une fois qu'ils existent, ils seront tout aussi efficaces que les ASIC Bitcoin. Ils n'existent pas maintenant parce qu'il n'y a pas assez d'intérêt pour Quark. Une meilleure façon de fabriquer une pièce résistante aux ASIC est d'utiliser des "fonctions de hachage mémoire-dur" - des fonctions qui nécessitent une grande quantité de mémoire, ainsi que du temps, pour calculer, de sorte que les périphériques qui essayent de faire des calculs millions de temps en parallèle devront avoir des pétaoctets de mémoire en main; Litecoin le fait, tout comme Primecoin avec son algorithme de chaîne de nombres premiers basé sur les tamis, bien que ce soit involontairement.

Ensuite, nous arrivons au 30ème block block de Quark. L'idée de faire des blockchains avec des confirmations plus rapides est séduisante; Litecoin a commencé la tendance avec ses 2 blocs de 5 minutes, Primecoin a des blocs de 1 minute, et maintenant des pièces de monnaie encore plus rapides comme Krugercoin existent avec des blocs de 15 secondes. Bien que l'acceptation des paiements avec l'une de ces devises soit quasi instantanée, les confirmations n'étant pas vraiment nécessaires pour la sécurité dans la plupart des applications, ces devises présentent des avantages certains dans les applications de haute sécurité telles que les sites de jeux et les dépôts.Cependant, en dessous d'environ une minute de telles devises se heurtent à deux problèmes. D'abord, il y a la question des blocs «périmés» - lorsqu'un mineur trouve un bloc valide, il faut environ douze secondes pour que ce bloc se propage à travers le réseau, et si d'autres mineurs trouvent un bloc valable dans ces douze secondes, leur travail est Essentiellement gaspillé. Avec un temps de blocage de 10 minutes, cela ne représente qu'une réduction de deux pour cent de la sécurité réseau de facto. Avec un temps de blocage de 2, 5 minutes, il devient huit pour cent et avec un temps de blocage de 1 minute, il devient environ 17% - significatif, mais loin d'être fatal. Au-dessous d'une minute, cependant, ces histoires commencent à menacer sérieusement la sécurité du réseau.

Le deuxième problème est celui de la centralisation. Supposons que les mineurs sont maintenant organisés en bassins miniers, où un bassin minier a nécessairement plus de parts de marché que les autres. Supposons que cette part du marché de l'exploitation minière soit supérieure de 25% et que son prochain concurrent soit de 15% et que le taux de référence de base soit de 33%. Les mineurs en solo ont 67% d'efficacité en raison du taux de renoncement. Cependant, le pool de minage à 15% mine lui-même le bloc 15% du temps et commence immédiatement à travailler sur le bloc suivant sans délai. Par conséquent, le taux d'obsolescence de 15% n'est que de 33% * 0. 85, soit 28% - ou 72% d'efficacité. La piscine de 25% bénéficie d'une efficacité de 75%. Ainsi, les nouveaux mineurs ont intérêt à rejoindre le plus grand bassin, le rendant encore plus puissant. Cet effet conduit inévitablement à de grands bassins miniers centralisés qui, combinés avec la réduction de la sécurité du réseau, signifient qu'un bassin minier aura presque certainement un contrôle de fait sur l'ensemble du réseau. Avec Bitcoin et son taux d'obsolescence de 2%, ce n'est pas un problème important. Avec Primecoin à 17%, c'est une préoccupation modérée. Avec Quark, c'est sans doute un défaut fondamental.

Une solution possible au premier problème vient d'un article récent de Yonatan Sompolinsky et Aviv Zohar qui suggère un moyen d'inclure des blocs périmés dans la blockchain; Si une nouvelle devise l'intègre, elle peut potentiellement réduire la perte de sécurité à un niveau inférieur à 10 secondes. Cependant, la solution ne répond pas entièrement à la deuxième préoccupation; Si ces blocs périmés qui font partie de la chaîne reçoivent leurs récompenses minières, alors la devise devient beaucoup plus faible parce qu'il n'y a plus d'incitation à ne pas soutenir les attaques frauduleuses à double dépense, et si les blocs périmés ne reçoivent pas leurs récompenses. problème reste. Cependant, avec un certain compromis, 10 à 30 secondes peuvent être rendues viables à l'avenir.

Enfin, nous avons le modèle de distribution. 50% de toutes les unités Quark ont ​​été distribuées en trois semaines, une courbe de distribution beaucoup plus abrupte que Bitcoin ou toute autre crypto-monnaie, sauf peut-être Mastercoin et Ripple. Nombreux sont ceux qui ont appelé son modèle une prémine de facto, le terme «prémine» étant le terme technique désignant le moment où une monnaie est créée avec un certain nombre d'unités déjà entre les mains d'une partie centralisée. Les développeurs de Quark ont ​​répondu à cette question en disant que leur devise est plus équitablement répartie que tout autre altcoin, ce qui montre que le pourcentage de toutes les unités Quark détenues par les 100 premières adresses (59%) est en fait au milieu de ces d'autres cryptomonnaies majeures (cf.Namecoin à 56%, Litecoin à 48% et Peercoin à 64%).

Cependant, c'est un peu trompeur; de toutes ces autres monnaies, le pourcentage en question est le pourcentage des pièces qui sont déjà en circulation. Dans le cas de Litecoin, Peercoin et Namecoin, il reste encore des millions d'unités monétaires à distribuer - et il n'y a pas de raison particulière pour que ces nouvelles unités monétaires s'adressent aux mêmes adoptants précoces qui ont eu la chance d'obtenir des pourcentages entiers de l'argent de la monnaie plus tôt dans son cycle de vie. Avec Quark, la monnaie prendra 100 ans pour que sa masse monétaire augmente de 50%, de sorte que les 59% ne devraient pas baisser de sitôt. En fin de compte, il est très difficile de créer une monnaie avec un modèle de distribution équitable, et toute approche technique spécifique ne durera probablement que quelques mois avant que les personnes ayant de l'argent et des ressources ne le rattrapent au moins dans une certaine mesure. La seule approche stable consiste peut-être simplement à le prémunir, puis à donner 0. 001% aux 100 000 premières personnes qui se présentent avec un passeport ou au moins un numéro de téléphone cellulaire unique.

Les inquiétudes que Quark cherche à résoudre - la lenteur des blocages de Bitcoin, l'injustice de la distribution altcoin et la menace du matériel spécialisé - sont toutes des questions très valables, et le récent succès de Quark souligne l'importance de ces problèmes. Cependant, Quark dans son état actuel n'est pas la solution. Litecoin et Primecoin sont deux alternatives très valables qui visent à cibler plusieurs des mêmes objectifs, et ont fait beaucoup plus de succès. Avec un peu de chance, une crypto-monnaie encore meilleure sera développée avec toutes les propriétés souhaitées actuellement; et en fin de compte chaque tentative et même chaque erreur faite en cours de route est un tremplin pour atteindre cet objectif.