Dans cet article, je parlerai du problĂšme de sĂ©curitĂ© de la technologie blockchain Ă la lumiĂšre de l'augmentation des performances des ordinateurs quantiques, je discuterai de certaines des mĂ©thodes de protection contre les attaques utilisant un ordinateur quantique, et d'un projet rĂ©cent: Quantum-Resistant Ledger. Selon les dĂ©veloppeurs, ce sera la premiĂšre plate-forme au monde construite sur les principes du cryptage post-quantique et conçue pour fournir une protection contre le "choc quantique" en cas de dĂ©veloppement rapide de ces technologies. Les plates-formes construites en utilisant les principes de chiffrement classiques peuvent ĂȘtre soumises Ă un tel coup. Sans changements fondamentaux, Bitcoin, Ethereum, Ardor et la plupart de ces plates-formes pourraient ĂȘtre dans un avenir proche.
Partie 1. ProblÚme de sécurité
Vulnérabilité
L'algorithme de protection de Bitcoin et des systÚmes similaires est basé sur le principe du chiffrement asymétrique avec des clés publiques et privées. Une transaction est signée avec une clé privée et sa validité est vérifiée à l'aide de la clé publique.
En utilisant des algorithmes d'attaque classiques, il est presque impossible de trouver une clé privée, connaissant la clé publique. Les systÚmes de chiffrement asymétriques, tels que RSA et similaires (DSA, DH, etc.), sont basés sur l'affirmation que la complexité de la factorisation d'un nombre croßt de façon exponentielle à partir de la taille de la clé. Cependant, en utilisant
l'algorithme Shore sur un ordinateur quantique, il devient possible en temps polynomial de décomposer le nombre en facteurs premiers et, ainsi, de trouver la clé privée, en connaissant la clé publique.
En 2001, IBM l'a
démontré en divisant le nombre 15 en deux facteurs premiers, 3 et 5. Un ordinateur quantique composé de 7 qubits a été utilisé à ces fins. Depuis lors, le développement des technologies de l'informatique quantique progresse plus rapidement.
En 2016, un groupe de chercheurs du Massachusetts Institute of Technology, conjointement avec l'Institut d'Innsbruck, effectue la mĂȘme tĂąche de dĂ©composition du nombre 15, en
utilisant seulement 5 qubits .
En juillet 2017, un
ordinateur programmable à 51 qubits a été créé par des physiciens russo-américains.
Fin octobre 2017, un groupe de recherche international des universités de Singapour et d'Australie est arrivé à la conclusion que la plupart des protocoles cryptographiques utilisés dans la blockchain sont vulnérables aux attaques d'un puissant ordinateur quantique. Le
rapport du groupe fournit 2 prĂ©visions de la croissance de la puissance de lâordinateur quantique: optimiste et moins optimiste. Selon le premier, le nombre de qubits d'un ordinateur quantique doublera tous les 10 mois. Une prĂ©vision moins optimiste indique un doublement du nombre de qubits tous les 20 mois. La figure ci-dessous montre des graphiques des deux prĂ©visions.
Le plus vulnérable aux attaques informatiques quantiques est l'algorithme de création d'une signature numérique basée sur des courbes elliptiques (
ECDSA ). Ainsi, selon
le rapport du groupe , le Bitcoin sous sa forme classique pourrait ĂȘtre piratĂ© d'ici 2027.
Peut-ĂȘtre que tout n'est pas si mauvais? La clĂ© publique n'est pas stockĂ©e en texte clair
Fin avril 2017, un
article a été publié sur bitcoin.com pour répondre à la question de savoir si les détenteurs de Bitcoin devraient se garder de le casser avec un ordinateur quantique. Il indique que malgré le fait qu'un cryptage asymétrique est utilisé dans la blockchain Bitcoin, les utilisateurs ne devraient pas se soucier de la sécurité de leurs piÚces. La clé publique n'est pas stockée en texte clair. Ainsi, les adresses de transfert de piÚces ne sont pas des clés publiques, mais uniquement le résultat de l'application de la fonction de hachage SHA-256. La fonction de hachage effectue une conversion unidirectionnelle et est donc résistante aux attaques d'un ordinateur quantique.
La clé publique devient connue lors de la transaction
L'affirmation selon laquelle la clé publique n'est pas disponible en clair n'est pas entiÚrement vraie. Sans entrer dans les petits détails, nous analyserons à l'aide de l'exemple de Bitcoin (BTC) comment la crypto-monnaie est transférée d'une personne à une autre.
Laissez Alice dans son portefeuille sur l'une des adresses Bitcoin avoir 100 mBTC (1000 mBTC = 1 BTC). Elle veut transférer Bob 1 mBTC. Pour ce faire, elle indique l'adresse Bitcoin de Bob, les frais de transfert et l'adresse Bitcoin dans son portefeuille pour recevoir la monnaie. Supposons qu'Alice ait indiqué 1 mBTC comme commission. Ainsi, sur 100 mBTC qu'Alice possÚde, 1 mBTC est envoyé à Bob, 1 mBTC part en commission sur le réseau Bitcoin et 98 mBTC est retourné au portefeuille d'Alice.
Voyons maintenant ce qui se passe au niveau du réseau Bitcoin. Alice et Bob ont des portefeuilles contenant des adresses pour stocker des piÚces. Un portefeuille peut contenir plusieurs adresses Bitcoin. Les adresses sont générées lors de la création de portefeuilles. Chaque adresse correspond à une paire de clés créée par l'algorithme ECDSA: publique et privée. Lors du transfert de piÚces, une transaction est créée dans laquelle des informations sur le nombre de piÚces transmises par Alice, l'adresse Bitcoin de Bob, une signature faite par la clé privée d'Alice,
la clé publique d'Alice et d'autres données sont transmises. Ensuite, la transaction
sous une forme ouverte (non cryptée) est envoyée au réseau . Les hÎtes, avant d'accepter une transaction pour traitement, vérifient sa signature à l'aide de la clé publique. Si la signature est valide, ils ajoutent des informations de transaction au bloc. Cette opération de commutation est appelée confirmation.
Le temps moyen de génération de blocs dans le réseau Bitcoin est de 10 minutes. Le réseau cherche à maintenir ce temps constant. Avant d'utiliser les fonds reçus,
il est recommandé d' attendre 6 confirmations. Ainsi, Bob, en respectant les rÚgles de sécurité, pourra utiliser les fonds reçus environ une heure aprÚs leur transfert.
L'une des caractĂ©ristiques du transfert de piĂšces sur le rĂ©seau Bitcoin est qu'il n'est pas possible de transfĂ©rer uniquement une partie des piĂšces Ă partir d'une seule adresse. Les piĂšces sont toujours transfĂ©rĂ©es en totalitĂ©, situĂ©es sur l'adresse Bitcoin du portefeuille, et la modification est retournĂ©e Ă l'expĂ©diteur. Il peut ĂȘtre obtenu Ă l'adresse Ă laquelle les piĂšces ont Ă©tĂ© envoyĂ©es et Ă toute autre. Par consĂ©quent, Alice doit indiquer l'adresse de livraison. Dans un certain nombre de logiciels exploitant le portefeuille, l'adresse de livraison est l'adresse d'envoi.
Des frais de transaction, à proprement parler, ne sont pas obligatoires, mais son absence peut retarder la transaction pendant longtemps. L'inverse est également vrai: vous pouvez accélérer quelque peu la transaction en augmentant le montant de la commission. Au moment d'écrire ces lignes (janvier 2018), la plupart des logiciels de portefeuille offrent des frais de 1 mBTC. Il existe un certain nombre de ressources, par exemple
celle-ci , qui vous permettent d'estimer le moment oĂč une transaction est incluse dans un bloc en fonction de la taille de la commission.
Utilisation de la clé publique 1 fois
Du point de vue de la sécurité, il est préférable de recevoir la modification d'une nouvelle adresse, dont la clé publique ne sera pas connue du réseau. Dans ce cas, la paire de clés n'est utilisée qu'une seule fois. Cependant, selon les
statistiques de décembre 2017, environ 41,34% des adresses sont réutilisées.
10 minutes pour attaquer
Cependant, tĂŽt ou tard, vous devrez utiliser les fonds Ă la nouvelle adresse. La clĂ© publique est transmise au rĂ©seau en clair. Jusqu'Ă ce que la confirmation soit arrivĂ©e, les fonds sont toujours Ă l'expĂ©diteur. Si un attaquant reçoit une clĂ© publique lors d'une transaction, il disposera d'environ 10 minutes pour obtenir la clĂ© privĂ©e Ă l'aide d'un ordinateur quantique et tenter de mener sa transaction Ă partir de la mĂȘme adresse, en fixant une commission plus Ă©levĂ©e.
Les adresses statiques sont plus vulnérables
Dans des systĂšmes tels que Ethereum, NXT, Ardor, etc., la clĂ© publique devient Ă©galement connue aprĂšs la premiĂšre transaction. La situation est aggravĂ©e par le fait que les jetons ou les contrats intelligents sont liĂ©s Ă des adresses statiques, qui peuvent ĂȘtre attaquĂ©es pendant longtemps. Si l'attaque rĂ©ussit, l'attaquant pourrait dĂ©truire tout le systĂšme Ă©conomique basĂ© sur ces adresses.
Partie 2. Solutions
Comment offrir une résistance aux attaques d'un ordinateur quantique?
Actuellement, il existe plusieurs méthodes de base qui offrent une protection contre les attaques informatiques quantiques:
- cryptographie basée sur le hachage;
- cryptographie basée sur le code;
- cryptographie matricielle;
- cryptographie basée sur des systÚmes quadratiques multidimensionnels;
- cryptographie à clé privée.
Avec des clés suffisamment longues et le respect des exigences de sécurité, ces méthodes de protection sont capables de résister à la fois aux attaques classiques et aux attaques utilisant un ordinateur quantique.
La plus étudiée est l'utilisation de signatures numériques basées sur des fonctions de hachage.
Comme mentionnĂ© prĂ©cĂ©demment, la fonction de hachage effectue une conversion de message unidirectionnelle. Le message est converti en une valeur de hachage d'une longueur fixe. L'utilisation d'une fonction de hachage d'une part devrait rendre inutile la recherche dans les messages pour obtenir une valeur de hachage similaire. En revanche, l'algorithme doit ĂȘtre rĂ©sistant aux collisions: lorsque 2 messages diffĂ©rents correspondent Ă la mĂȘme valeur de la fonction de hachage.
L'algorithme quantique de Grover peut ĂȘtre utilisĂ© pour essayer de trouver une collision ou effectuer une attaque prĂ©liminaire pour trouver le message d'origine. Cela nĂ©cessitera
O ( 2 f r a c n 2 ) opĂ©rations. Ainsi, pour maintenir une sĂ©curitĂ© de 128 bits, la longueur du hachage rĂ©sultant est d'au moins 256 bits. En tant que telle fonction, SHA-256 peut ĂȘtre sĂ©lectionnĂ©.
Signature du lampadaire
Une option pour utiliser une fonction de hachage dans une signature numĂ©rique est la signature de Lamport. Il peut ĂȘtre construit sur la base de n'importe quelle fonction de hachage unidirectionnelle. La stabilitĂ© cryptographique de l'algorithme est basĂ©e sur la stabilitĂ© cryptographique des fonctions de hachage utilisĂ©es.
Schéma de signaturePour le message
M longue
m les clés sont générées. Tout d'abord, les clés privées sont générées par paires
S k longue
n , puis, à l'aide d'une fonction de hachage, les paires de clés publiques sont formées à partir de clés privées
P k . Le nombre de paires de clés privées et publiques est égal au nombre de bits dans le message d'origine.
Lors de la signature, un message est lu bit par bit, et, selon la valeur du bit courant, une des clés privées de la paire correspondante est sélectionnée. Les clés privées sélectionnées sont combinées en une signature. Ensuite, la signature résultante et
m des paires de clés publiques sont envoyées au destinataire.

La vérification d'une signature est similaire au processus de création. La signature est divisée en fragments de longueur
n qui sont ensuite convertis en utilisant la mĂȘme fonction de hachage. Le message est lu bit par bit et la valeur du bit sĂ©lectionne la clĂ© publique, qui est comparĂ©e Ă la valeur de hachage reçue.
En rĂšgle gĂ©nĂ©rale, avant d'appliquer une signature, le message d'origine est hachĂ© pour rĂ©duire sa taille. Laissez SHA-256 ĂȘtre sĂ©lectionnĂ© comme fonction de hachage, puis
m=n=256 . Dans ce cas, la longueur totale de la clé publique (ainsi que privée)
LPK Il s'avÚre égal:
LPK=nâ2âm=256â2â256=128Ko=16Ko.
Longueur de la signature
LS c'est:
LS=nâm=64Ko=8Ko.
La signature de Lamport est unique (ne reste sĂ»re qu'une fois utilisĂ©e), car lorsqu'elle est exĂ©cutĂ©e et transmise, la moitiĂ© de la clĂ© privĂ©e devient connue. Laissez la longueur du message ĂȘtre 256 octets et la longueur du hachage 256. Avant qu'Alice ne publie la signature du message, personne ne connaĂźt 2 * 256 nombres alĂ©atoires dans une clĂ© secrĂšte. Ainsi, personne ne peut crĂ©er l'ensemble correct de 256 numĂ©ros pour la signature.
Une fois qu'Alice a publié la signature, personne ne connaßtra toujours les 256 numéros restants et ne pourra donc pas créer de signature pour les messages ayant un hachage différent.
Le fait que la signature de Lamport soit unique, combinée à une quantité totale impressionnante de signature et de clé publique (24 Ko avec une longueur de message de 256 octets et une longueur de hachage de 256 octets), rend son utilisation dans un bloc de transaction publique inappropriée.
Signature Winternitz
Il existe d'autres algorithmes de signature numĂ©rique uniques. Dans la signature de Vinternytsia, contrairement Ă la signature de Lamport, le message original est signĂ© non pas au niveau du bit, mais en bloc. La signature unique de Winternitz, comme Lamport, peut ĂȘtre construite sur la base de toute fonction cryptographique forte.
Schéma de signatureMessage
M longue
m brisé en fragments
Mi longue
w . Une clé privée est générée pour chaque fragment
SK longueurs
n . Pour chaque clé privée, une opération de hachage est appliquée séquentiellement

fois (tours
R ) à la suite des opérations, les clés publiques correspondantes sont obtenues
PK mĂȘme longueur
n .

Lors de la signature, comme lors de la génération de clés publiques, un calcul itératif du hachage sur les clés privées est effectué. Le nombre de répétitions dans chaque cas dépend du message signé. Comme mentionné précédemment, le message est divisé en blocs de longueur
w . La valeur numérique de ce bloc
Mi et est le nombre d'itĂ©rations qui doivent ĂȘtre effectuĂ©es sur des clĂ©s privĂ©es pour obtenir une signature. La connexion des blocs reçus sera la signature de ce message.

Lors de la vérification d'une signature sur des fragments de sa longueur
n calcule de maniÚre itérative le hachage. Nombre de tours
Ri l'application de la fonction de hachage est définie comme la différence entre le nombre d'itérations pour obtenir la clé publique et la valeur numérique du bloc de message, c'est-à -dire
Ri=2wâ1âMi fois. Ensuite, les valeurs obtenues sont comparĂ©es avec la clĂ© publique correspondante.
ExempleJe vais illustrer ce qui précÚde avec un petit exemple. Que le message soit donné
M (en représentation binaire) longueur
m , paramĂštre Vinternitsa
w et une fonction de hachage de la longueur
n :
M=1100011101100111,m=16,w=8,n=256.
Générer
m/w=2 clé privée basée sur un générateur de nombres pseudo aléatoires. Pour chaque clé privée que nous appliquons

fois une fonction de hachage, obtenant ainsi
2 clés publiques combinées en une seule clé de longueur commune

peu. Suivant pour chaque bloc de message
M longueurs
w déterminer le nombre d'opérations de hachage appliquées à la clé privée
Ri . Dans ce cas, ce seront les valeurs
110001112=19910 et

en conséquence. AprÚs avoir effectué l'opération de hachage sur les clés privées, nous obtenons une signature de longueur

peu.
Pour vérifier la signature, divisez-la en parties de longueur
n . Nous produisons sur chaque piĂšce
Ri=2wâ1âMi opĂ©rations de hachage. C'est-Ă -dire

et

fois respectivement. Si le résultat des opérations aboutit à une valeur qui correspond à la clé publique, le message est fiable.
Lorsque vous utilisez SHA-256 comme fonction de hachage pour signer Winternitz,
m=n=256 .
Soit
w=8 peu. Ensuite, la taille complÚte de la clé publique
LPK et signatures
LS égal à :
LPK=LS=m/wân=256/8â256=8Ko=1Ko.
Le nombre d'opérations de calcul de hachage dans ce cas est égal à :
P=(2wâ1)âm/w=(28â1)â256/8=8160.
Pour le cas de
w=16 , cette valeur augmente jusqu'Ă
P=1048560 .
Les tailles de la clĂ© publique et de la signature, avec les mĂȘmes paramĂštres que dans l'exemple de la signature Lamport, sont de 1 Ko. Au total, c'est moins que dans la signature de Lamport (24 Ko). Cependant, le nombre de calculs de hachage dans ce cas est 8160. Ce qui, bien sĂ»r, est beaucoup. De plus, lors de la vĂ©rification de la signature, une moyenne de la moitiĂ© de ce nombre d'itĂ©rations est effectuĂ©e. Cela rend cette option de signature inappropriĂ©e pour une utilisation sur la blockchain.
Il existe plusieurs options pour signer Winternitz, y compris avec l'extension de la signature afin d'augmenter la fiabilité et de réduire le nombre d'utilisations de la fonction de hachage. Leur description dépasse le cadre de cet article. Ceux qui sont intéressés peuvent en voir plus
ici . L'application de la signature Vinternitsa basĂ©e sur la fonction de hachage domestique de GOST 34.11-12 peut ĂȘtre vue
ici .
Merkle Tree (MSS)
Les signatures uniques peuvent fournir une sécurité cryptographique satisfaisante, cependant, c'est leur utilisation unique qui peut devenir un problÚme sérieux. Qu'il soit nécessaire de transférer les économies d'une adresse à une autre. Il s'avÚre que lors de l'utilisation de signatures uniques, il sera nécessaire de transférer le montant total des fonds à chaque fois, et pour chaque transaction, une nouvelle adresse sera nécessaire. Avec chaque transaction, vous devrez publier une nouvelle clé publique. De plus, le stockage de nouvelles transactions dans la blockchain nécessitera progressivement de plus en plus de temps pour les rechercher.
Pour résoudre le problÚme, ils développent le schéma de signature en effectuant plusieurs signatures basées sur plusieurs paires de clés pour chaque adresse. L'utilisation de plusieurs signatures est effectuée sur la base d'un arbre de hachage binaire - l'arbre Merkle.
Plus de dĂ©tailsLe calcul d'un arbre se fait des feuilles Ă la racine. Chaque feuille de nĆud de l'arbre est calculĂ©e comme un hachage Ă partir de la clĂ© publique gĂ©nĂ©rĂ©e. Les nĆuds restants sont calculĂ©s en obtenant un hachage Ă partir de la concatĂ©nation (collage) des nĆuds enfants. Ainsi, l'arbre entier est calculĂ© Ă la racine. Supposons qu'il existe 4 paires de clĂ©s, l'arbre Merkle est calculĂ© en calculant 7 hachages (voir la figure ci-dessus).
Une caractĂ©ristique de l'arbre Merkle est que l'existence de n'importe quel nĆud ou feuille peut ĂȘtre prouvĂ©e cryptographiquement en calculant la racine.
La signature du message est créée à l'aide de la clé privée de la paire de clés sélectionnée.
La vérification de signature implique de calculer la racine en fonction des paramÚtres transmis et de la comparer avec une clé publique réutilisable. Ces paramÚtres sont:
- signature
- racine
- clé unique, partie fermée dont le message a été signé;
- des hachages d'arbres le long du chemin de la feuille sélectionnée à la racine.
Lors de l'utilisation de signatures Merkle ou Winternitz uniques, il n'est pas nĂ©cessaire de transfĂ©rer une clĂ© publique unique sĂ©lectionnĂ©e sĂ©parĂ©ment, car elle peut ĂȘtre obtenue Ă partir de la signature du message. Il suffit de passer son numĂ©ro, reflĂ©tant sa position dans l'arbre. , : , , â 0 (
PK1 )
H2 H6 .
PK1 , ,
H1 .
H1 H2 H5 .
H5 H6 R , .
L'arbre Merkle, compilĂ© et calculĂ© Ă partir des clĂ©s publiques, permet au lieu de publier l'ensemble de celles-ci de ne publier que la racine de l'arbre. Cela augmente la taille de la signature en incluant une partie de l'arborescence dans la signature, mais permet d'utiliser un seul hachage pour vĂ©rifier plusieurs signatures. Donc, avec la profondeur de l'arbreN peut ĂȘtre signĂ©2 postes N. L'arbre Merkle pour les clĂ©s basĂ© sur l'algorithme de courbe elliptique est utilisĂ© dans Bitcoin et Ethereum, il y a un excellentarticlesur ce dernier avec un examen de l'arbre Merkle.Hypertrees
Le principal inconvĂ©nient du schĂ©ma de base de Merkle est que le nombre de signatures disponibles est limitĂ© et que toutes les paires de clĂ©s de signatures Ă usage unique doivent ĂȘtre gĂ©nĂ©rĂ©es avant le calcul de l'arborescence Merkle. La gĂ©nĂ©ration de clĂ©s et le temps de signature augmentent de façon exponentielle par rapport Ă la hauteur des arbres. Il est possible de retarder la gĂ©nĂ©ration de nouvelles clĂ©s, ainsi que d'augmenter le nombre de paires disponibles, lors de l'utilisation d'un hyper arborescence.Plus de dĂ©tails, . 2 : . , . . , (. ).
, , . , , . , .
. . , , .
Structure d'arbre Merkle étendue (XMSS)
Une description complĂšte du circuit va bien au-delĂ de la portĂ©e de cet article; plus de dĂ©tails peuvent ĂȘtre trouvĂ©s ici . Je ne parlerai que des concepts et caractĂ©ristiques de base. Le schĂ©ma XMSS, comme l'arborescence Merkle, vous permet d'Ă©tendre les signatures uniques. L'utilisation d'un masque binaire utilisant des OU exclusifs (XOR) des nĆuds enfants avant que les hachages ne soient concatĂ©nĂ©s au nĆud parent augmente la rĂ©sistance aux collisions des fonctions de hachage utilisĂ©es. Ainsi, lorsque vous utilisez SHA-256 comme fonction de hachage en combinaison avec un schĂ©ma Ă©tendu, Winternitz avec un paramĂštre de sĂ©curitĂ© (W-OTS +) vous permet d'augmenter la sĂ©curitĂ© de 128 Ă 196 bits. Selon lenstraLa dĂ©fense de 196 bits est suffisante pour ĂȘtre considĂ©rĂ©e comme sĂ»re contre les attaques par une simple attaque par force brute jusqu'en 2169. Avec tous les avantages du schĂ©ma XMSS, son principal inconvĂ©nient est le long temps de gĂ©nĂ©ration de clĂ©.Actuellement, il existe d'autres schĂ©mas d'extension d'arbre Merkle ( GMSS , CMSS ) qui, en combinaison avec des algorithmes de signature Ă usage unique, peuvent Ă©galement ĂȘtre utilisĂ©s dans une blockchain qui rĂ©siste aux attaques utilisant un ordinateur quantique.Partie 3. RĂ©alisation des idĂ©es
Projet de blockchain durable quantique - QRL
Au second semestre 2016, le Dr P. Waterland a créé un groupe pour dĂ©velopper une blockchain stable Ă la fois pour les attaques classiques et pour les attaques utilisant un ordinateur quantique. Selon les rĂ©sultats de l'Ă©laboration de la partie thĂ©orique Ă la fin de la mĂȘme annĂ©e, le document principal de la blockchain dĂ©veloppĂ©e, le «livre blanc» (livre blanc), a Ă©tĂ© rendu public. Le document est actuellement disponible en plusieurs langues, dont le russe.CaractĂ©ristiques clĂ©s de QRL
1. Schéma de signature et sécuritéUn schéma de signature est appliqué sur la base de l'algorithme de signature étendu de Winternitz (W-OTS +, w = 16, SHA-256) basé sur des structures connectées XMSS. Cette approche vous permet de générer des adresses avec la possibilité de signer, en évitant le long délai de calcul observé lors de la création de constructions XMSS géantes. Fournit une protection de 196 bits avec une sécurité prévisible contre les attaques par simple énumération jusqu'en 2169.
2. Algorithme de consensus - preuve de travailLors de la premiÚre itération du réseau principal, un algorithme de consensus de preuve de travail a été annoncé.
3. Commission flottanteDes transactions plus importantes que les autres blocs de la chaĂźne de transactions nĂ©cessitent un paiement pour chaque transaction. Selon Waterland, les marchĂ©s avec une commission artificielle (par exemple, Bitcoin) ne sont pas nĂ©cessaires et contredisent l'idĂ©al d'une blockchain ouverte. Chaque transaction, si elle est accompagnĂ©e d'un paiement minimum, doit ĂȘtre aussi valable que toute autre. Le montant minimum de paiement acceptable pour les mineurs devrait ĂȘtre flottant et fixĂ© par le marchĂ©. C'est-Ă -dire les nĆuds (mineurs) doivent Ă©tablir de maniĂšre compĂ©titive une frontiĂšre infĂ©rieure pour le paiement entre eux. La valeur minimale absolue sera respectĂ©e au niveau du protocole. Ainsi, les mineurs commanderont des transactions de la mempool pour les inclure dans le bloc Ă leur discrĂ©tion.
4. Calcul de récompense de bloc dynamiqueChaque bloc nouvellement créé inclura la premiÚre transaction de coinbase contenant l'adresse de minage, pour laquelle la récompense sera définie comme le montant de la récompense pour le taux de la piÚce avec le montant total des commissions pour les transactions dans le bloc.
5. Le temps passé par les blocs est de 1 minuteLe temps entre les blocs du réseau Bitcoin est d'environ 10 minutes. Avec les 6 confirmations requises, cela augmente en outre le temps d'attente pour l'achÚvement de la transaction. Les nouveaux schémas de blocs de chaßne de transactions, tels que Ethereum, sont améliorés sous cet aspect et bénéficient d'un temps de bloc plus court sans perte de sécurité ni centralisation des mineurs en raison du taux élevé d'apparition de blocs orphelins / obsolÚtes.
Pour QRL, ce temps de blocage est de 1 minute.
6. Taille du bloc adaptatifPour Ă©viter d'Ă©ventuels litiges, une solution adaptative prĂȘte Ă l'emploi a Ă©tĂ© modĂ©lisĂ©e sur la base de la proposition Bitpay, qui utilise un multiplicateur pour augmenter la taille du bloc
x taille moyenne
y le dernier
z blocs. L'utilisation d'une valeur moyenne ne permet pas aux mineurs de manipuler, y compris des blocs vides ou débordés pour modifier la taille moyenne des blocs.
x et
z alors il y aura des rÚgles de consensus strictes pour le réseau qui devront obéir. Ainsi, la taille maximale du bloc
b peut simplement ĂȘtre calculĂ© comme:
b = x y .
7. Monnaie - quantiqueL'unité monétaire de base est un quantum. Chaque quantum est divisé en les plus petits éléments. Voici les noms de tous les éléments dans l'ordre croissant:
Objet | Valeur |
---|
Rive | 1 |
Nakamoto |  |
Buterin |  |
Merkle |  |
Lampport |  |
Quantum |  |
Ainsi, chaque transaction impliquant une partie du quantum est en fait un trÚs grand nombre d'unités Shore. Les frais de transaction sont calculés et affichés en unités Shore.
8. Comptes et adressesLes soldes des utilisateurs sont stockés sur des comptes. Chaque compte est une adresse de bloc de chaßne de transaction unique et réutilisable, indiquée par une ligne commençant par «Q».
L'adresse est créée en exécutant SHA-256 à la racine Merkle de l'arbre de certification XMSS le plus élevé. à cela s'ajoute une somme de contrÎle de quatre octets, formée des quatre premiers octets du double hachage SHA-256 de la racine Merkle et de la lettre «Q».
Par exemple, dans le pseudo-code Python, cela sera décrit comme suit:
Q + sha256(merkle root) + sha256(sha256(merkle root))[: 4]
Adresse de compte typique:
Qcea29b1402248d53469e352de662923986f3a94cf0f51522bedd08fb5e64948af479
Chaque compte a un solde, libellé en quanta, divisible jusqu'à une seule unité Shore. Les adresses de chaque transaction utilisent une nouvelle paire de clés de signature à usage unique. Un compteur de transactions appelé nonce s'incrémente à chaque transaction envoyée depuis votre compte. Cela permet aux portefeuilles qui ne stockent pas toute la chaßne de blocs de suivre leur emplacement dans le schéma de signature hypertree avec conservation de l'état.
Ătat actuel du projet et plans pour l'avenir
AprĂšs la publication du "livre blanc", le groupe a Ă©tĂ© reconstituĂ© avec plusieurs nouveaux dĂ©veloppeurs et les travaux ont commencĂ© sur la mise en Ćuvre du plan. Des rapports d'avancement rĂ©guliers sont apparus sur le site Web du projet. Et en avril 2017, le rĂ©seau de test de la blockchain QRL avait dĂ©jĂ Ă©tĂ© lancĂ©. Le code source du projet est publiĂ© sur Github. Le projet est activement discutĂ© chez Bitcointalk et Reddit.
En mai 2017, une ICO a Ă©tĂ© rĂ©alisĂ©e dans l'Ă©cosystĂšme Ethereum. Emission du jeton ERC20 QRL. Au total, 65 millions de jetons ont Ă©tĂ© Ă©mis. Parmi ceux-ci, 52 millions de jetons sont en circulation. En 200 ans, 40 millions de piĂšces supplĂ©mentaires seront Ă©mises progressivement. Ainsi, le volume total d'Ă©mission sera de 105 millions de piĂšces. Lorsque le rĂ©seau principal est lancĂ©, ces jetons peuvent ĂȘtre Ă©changĂ©s contre des piĂšces QRL dans un rapport 1: 1. Actuellement, les jetons sont disponibles Ă l'achat sur des bourses telles que Bittrex, Upbit et Liqui. Les cotations QRL, selon le site
coinmarketcap.com , sont présentées dans les figures ci-dessous.


Le lancement du réseau principal est prévu pour février-mars 2018.
à l'avenir, il est prévu de changer l'algorithme de consensus de la confirmation du travail à la confirmation de la mise (preuve de la mise). Le temps de séjour sûr prévu des blocs sera de 15 à 30 secondes.
Conclusion
Le progrĂšs des technologies quantiques a Ă©tĂ© lancĂ© et ne peut pas ĂȘtre arrĂȘtĂ©. Au fur et Ă mesure que des machines quantiques de plus en plus productives apparaissent, la gamme de tĂąches qu'elles rĂ©solvent ne cesse de croĂźtre. Le piratage d'une dĂ©fense cryptographique existante, non adaptĂ©e aux attaques d'un ordinateur quantique, a longtemps Ă©tĂ© l'un des sujets centraux de nombreux
forums de sécurité .
QRL est la premiÚre technologie blockchain conçue pour résoudre ce problÚme. à l'avenir, bien sûr, d'autres apparaßtront. Lequel d'entre eux sera le plus réussi - le temps nous le dira.
Remerciements
L'auteur est reconnaissant Ă
kamnik d' avoir prĂ©parĂ© une partie importante du matĂ©riel, et en particulier Ă la partie technique, ainsi qu'Ă
SannX pour ses critiques et corrections constructives.
Les références
- Algorithme de rivage .
- Factorisation premiĂšre sur un ordinateur quantique (IBM) .
- Factorisation du nombre 15 en facteurs simples sur un ordinateur quantique (MIT) .
- Rapport d'expériences sur un ordinateur 51 qubit .
- Rapport de l'International Research Group sur la stabilité du Bitcoin devant un ordinateur quantique .
- Utilisation de l'algorithme de génération de clés ECDSA dans la blockchain Bitcoin .
- à propos de la résilience de Bitcoin aux attaques informatiques quantiques .
- Confirmation de transaction sur le réseau Bitcoin .
- Informations sur les commissions sur le réseau Bitcoin .
- Statistiques de réutilisation des adresses Bitcoin .
- Algorithme Quantum Grover .
- Signature étendue Winternitz .
- Application d'une signature unique Vinternitsa basée sur la fonction de hachage de GOST 34.11-12 .
- Geektimes sur Ethereum .
- Schéma XMSS .
- Lenstra. Le choix des tailles de clés cryptographiques .
- GMSS
- CMSS .
- Cours sur les systĂšmes de crypto-monnaie .
- Forum annuel sur la sécurité post-quantique .
Matériel supplémentaire
- Un ordinateur quantique est-il dangereux pour Bitcoin ?
Projet QRL
- Site du projet .
- Livre blanc .
- Présentation
- Le blog .
- Code source de GitHub .
- Fil de discussion sur Bitcointalk .