Une signature numérique est un «lien virtuel» de presque tous les projets de blockchain. Dans l'écrasante majorité des projets, une signature est utilisée qui ne diffère pratiquement pas de la signature utilisée dans le réseau Bitcoin (à savoir, ECDSA sur la courbe secp256k1). Cependant, la création de signatures numériques pour des projets dans lesquels la confidentialité des utilisateurs est essentielle se transforme souvent en un acte acrobatique complexe basé sur des progrès de pointe en mathématiques discrètes et en cryptographie.
, -, , , “”. , , CryptoNote, . , - , , . , , - . , . “” “mixins” “decoys”, “anonymity set”.
, CryptoNote, Monero. , , . , , , ( , Monero anonymity set 10).
, Zano , decoys , anonymity set, , , . Anton Sokolov , , , , .
, - , , .. “ ” . , , , , , , .
. , , . , , , , , .. , . , .
, , . , , , , , , , , “ ” ( ). , , , , .
, , , , . , ( - ), 449/17, , 449 17 . 1/100000 100000/1. , . , , , , , , , . , .
, , , . , - , . , , , . .
1: , , , Z, , . , .. Z, . , , Z , . , H1 , , , .. H1 .
2: 11 , R1 . , 13 , R2 . , , 11 13, , R1 R2 .
3: , 11 13, Z H1 r1, S1 c . r1 , , . , , , S1 Z H1. , - H2 . , H2, . H2 , , H1, .
4: 2 , R1 R2 R - . 2, , R R1 R2.
5: , 2, S1 H2 r2 S2, . , S2 S1 H2.
6: R S2. , , . , .
: , .. Z. Z, , Z. , , . , Z , , .
, , R , Z , : ( ) ( ). R S2, Z , , - -- , -- , .. , , , , .
, : , Z , , , - , , , S2 , , S2 -, R. Z, , , c11, c13, c2 H1, H2 r1, r2, S2 , R.
, , . , , H1, r1 H1 c11 c13, r2 c2 , S2 R , Z .
, Z, , , .. , H1 , r1 , S1 , R1, H2 - c13, S2 , R.
2
, , , , . : , Z , , H1 S1 , . , Z , , H1 S1 , .
, . “ ”. , -. , , - -. -, . , - , , . , .
, -. , , -. , : r1 r2 , . , , , .
, , . , - H1, r1 H1 c11 c13, r2 c2 , S2 R , Z, H1 S1 -, , .
3
, , Lin2-Xor eprint. , , , discrete logarithm problem is hard, ed25519, Zano?
: -, , ed25519. , ed25519, , , , Lin2-Xor , .
, - - , Lin2-Xor-.
, , , ( ) P1, Q1, P2, Q2 ? P1, Q1, P2, Q2 , () . - . . , , , .
, , . : , , , , …, - -. , , .
, , , , - . , , , .
“ ” , “ ”, , .., , , , . , “ ” , “ ” “ ”, .. “” . , .. , .
, , (), - , , . , , , .., , “inner product”, .
? , , , . , .. - , . , .
4
Lin2-Selector , : , : , , , -. Z - : , , , , , .
. , , , (11, 13), 2, , , , , (r1, H2), r2, , . (11, 13), (21, 23), 3, , , . Co (r1, H2), (r2, H3), r3, .
, , , . , (11, 13), (21, 23), (31, 33), 4, (r1, H2), (r2, H3), (r3, H4), r4, . 32 , 64, 128 .., , , 16, 32, 64 . Lin2-Selector .
. , , 1024 , 512 , Lin2-Selector , . log(1024) , .. .
Merkle Tree, , , , . , Merkle Tree , . Lin2-Selector , .
, Merkle Tree R, , Merkle tree . Z log H1, H2, H3, …. Merkle tree , . , Lin2-Selector , . Merkle Tree .
, Merkle tree , Lin2-Selector - , ? , , , -. , , Lin2-Xor Lin2-Selector . .. Lin2-Selector Merkle tree.
Lin2-Selector , , , - , . .. , , , , 1/379 , 1/379 . ? , , , , , . , discrete logarithm problem is hard .
, ? , Lin2-Xor Lin2-Selector , . , , . , .
Comment ce qui précède se rapporte-t-il à la balise de liaison, l'avons-nous oublié? Et la balise de liaison du format CryptoNote (assez légèrement modifiée) ne fait que nous aider, car si nous mélangeons cette balise de liaison avec une adresse publique furtive, alors nous obtenons juste un élément de base linéairement indépendant dont nous avons besoin dans les lemmes Lin2-Xor et Lin2-Selector. Pour obtenir une signature d'anneau de la taille d'un journal, nous composons les éléments de base de l'anneau de cette manière, puis l'expéditeur prouve anonymement qu'il connaît la clé privée de l'un de ces éléments.
Conclusion
J'espère que vous avez apprécié l'article. Eh bien, si quelqu'un a remarqué des erreurs ici ou dans le travail lui-même, écrivez-nous - nous sommes toujours heureux envers les adversaires!