
Uma assinatura digital é um “vínculo virtual” de quase qualquer projeto de blockchain. Na esmagadora maioria dos projetos, é utilizada uma assinatura que praticamente não difere da assinatura utilizada na rede Bitcoin (nomeadamente, ECDSA na curva secp256k1). No entanto, a criação de assinaturas digitais para projetos nos quais a privacidade do usuário é essencial muitas vezes se transforma em um ato acrobático complexo baseado em avanços de ponta em matemática discreta e criptografia.
, -, , , “”. , , 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 , . , , . , .
Como isso se relaciona com a tag de vinculação, nós nos esquecemos disso? E a tag de ligação do formato CryptoNote (bastante modificada) só nos ajuda, porque se misturarmos esta tag de ligação com um endereço furtivo público, obteremos apenas um elemento de base linearmente independente de que precisamos nos lemas Lin2-Xor e Lin2-Selector. Para obter uma assinatura de anel do tamanho de um log, compomos os elementos básicos do anel dessa maneira e, em seguida, o remetente prova anonimamente que conhece a chave privada de um desses elementos.
Conclusão
Espero que você tenha gostado do artigo. Bem, se alguém notou erros aqui ou no próprio trabalho, escreva para nós - estamos sempre contentes com os adversários!