Esquema Schnorr e seu papel no Bitcoin

Conteúdo

  • Referência da história





  • A essência do protocolo Schnorr





  • Esquema de assinatura Schnorr





  • Por que as assinaturas Schnorr são consideradas melhores do que ECDSA?





Comentário do autor

Este artigo é destinado a pessoas que já estão familiarizadas com os conceitos básicos de segurança da informação. Se as palavras Proof of Knowledge Protocol, Public Key Cryptosystem não são feitiços para você, seja bem-vindo!





Referência da história

O circuito Schnorr foi inventado na década de 1980. Klaus-Peter Schnorr. Klaus Schnorr é um criptógrafo alemão, acadêmico, então professor e pesquisador da Universidade de Frankfurt. Antes da publicação do próprio circuito, Klaus Schnorr se confundia com patentes, o que dificultava o uso direto até 2008.





Em 2008, mesmo ano em que Satoshi Nakamoto apresentou o Bitcoin ao mundo, a patente de Klaus Schnorr expirou. Mesmo que as assinaturas Schnorr já fossem utilizáveis, Satoshi Nakamoto escolheu ECDSA para Bitcoin. Isso se deve ao fato de que o esquema Schnorr ainda não foi padronizado e amplamente utilizado.





ECDSA , . , DSA, ECDSA, - , (NIST). Coderpunks , , , .





. , h, g, x g x h.





, , .. .





k q, . I .





.





s .





.





A: ~ k \ leftarrow \ mathbb {Z} _q, I = g \ cdot k \\ B: ~ r \ leftarrow \ mathbb {Z} _q \\ A: ~ s \ equiv r \ cdot x + k ~ (\ texto {mod} ~ q) \\ B: ~ g ^ s \ cdot h ^ {- r} == I

, r - , .





\ text {Grupo especificado} ~ (G, q, g) \\ \ text {Gen} (1 ^ n) = x \ leftarrow \ mathbb {Z} _q;  ~ h = g ^ x;  ~ sk = x;  ~ pk = h ~~~ (saída ~ (sk, pk)) \\ \ text {Sinal} _x (m) = k \ leftarrow \ mathbb {Z} _q;  ~ I = g ^ k;  ~ r \ equiv H (I | m);  ~ s = r \ cdot x + k ~ (saída ~ (r, s)) \\ \ text {Verificar} \ left (h, m, (r, s) \ right) = I \ equiv g ^ s \ cdot h ^ {- r}, ~ H (I | M) == r \\ sk - chave ~ secreta, ~ pk - chave ~ pública

, - m ( , ), I , .





r ( ): r \ equiv H \ left (I | m \ right) -, . r pk. - 2010- , , , , , Helios.





public key (pk) - , .. n ( 33 ). , 2 , .. 2n (64 ). .. .





(, , k). , k . , .





ECDSA?

, ECDSA .

















ECDSA

, ECDSA , , ECDSA . 2009 ECDSA x3+7 , - , . ECDSA . , .





. ? :





, , sequence scriptSig - , , .





value scriptPubKey - , , , .





, - ECDSA . , .. ?





ECDSA . , , .





ECDSA

, . , , , . , , , , , . , .





ECDSA

: scriptSig , , scriptPubKey, . . , ( , ). . ECDSA, , n , m .. .





?

. ? 4 , ECDSA , 4 . , , .





, , , .





, , , . , .





, , . , , , .





. ? , . , . . , , . , , . , .





 O esquema Schnorr é um dos esquemas de autenticação mais eficientes e teoricamente fundamentados. Acabou por não ser muito popular devido à longa patente, que durou até 2008. Embora o esquema tenha passado por algumas mudanças desde o seu início, suas idéias básicas permaneceram intactas e são altamente valorizadas na criptografia.





Fontes

  • Artigo Schnorr Assinaturas e a inevitabilidade da privacidade no Bitcoin





  • Wiki





  • Seminário ITMO sobre o esquema Schnorr





  • Palestra sobre assinaturas Schnorr em Bitcoin












All Articles