Dahil sa Taproot upgrade, maiging balikan natin ang kriptograpiya para sa isang uri ng digital signature algorithm: Schnorr signature.
Isang motibo sa pagbuo ng Elliptic curve digital signature algorithm (ECDSA) ay ang copyright na naglimita sa paggamit ng Schnorr signatures. Sa ngayon, lumipas na ang copyright na ito, kaya bukas na sa lahat ang paggamit ng scheme.
Sa totoo lang, mas simple ang Schnorr signature scheme kesa sa ECDSA. Mas tipid ito sa komputasyon, palibhasa nga, ang ECDSA ay umiwas sa patent ng Schnorr signature scheme.
Balikan natin sina Alicia at Bob, at ang mga parameters, na sana pamilyar pa rin sayo. Iibahin lang natin ang notasyon kumpara sa Kabanta 3, para tutugma ito sa explanasyon ng BIP-0340, kung gusto mo mang pag-aralan pa ng mas malalim.
| Alicia | Parameters | Bob |
|---|---|---|
| n | Finite Field order (alam ng lahat) | n |
| G | Generator (alam ng lahat) | G |
| dA | Private key | dB |
| PA = dAG | Public key (malalaman ng nakikipagtransaksyon) | PB = dBG |
Tandaan na sa scheme na ito, kailangang maberipika ni Bob na alam ni Alicia ang private key, nang hindi ito naipapakita. At dapat ring non-interactive, o hindi kailangang magkasama o magkasabay sina Alicia at Bob na nakatutok sa transaksyon. Pwedeng maberipika ito ni Bob kahit kinabukasan na.
Ang susunod na talaan ay nagpapakita ng mga hakbang para maipatupad ang Schnorr signature scheme:
| Alicia | Parameters/Exchange | Bob |
|---|---|---|
| r <— R{0, 1, …, n-1} | Nonce, pansamantalang private key na pipiliin na random / sikreto <— | |
| R <— rG | Point generated na syang commitment sa transaksyon (parang pansamantalang public key); ito ay parte na ng signature / — | |
| m | Message / ipapasa —> | m |
| e <— H(R,m) | Hash ng (R||message), gagamitin sa signature ni Alicia / — | |
| s <— r + edA mod n | Parte ng signature na may marka ng private key dA ni Alicia / — | |
| (R, s) | Signature / ipapasa —> | (R, s) |
| Hash ng (R||message), na gagamitin naman ni Bob na pamberipika / — | h <— H(R,m) | |
| Verification equation / — | sG ≟ R + ePA |
Ikumpara mo ang talaan na iyan dun sa talaan ng ECDSA sa Kabanata 3. Mas maiksi yung andito, diba?
Ang e ay lumalabas na “challenge” kung saan gagamitin ni Alicia para gumawa ng signature nang hindi sya makakadaya, at gagamitin naman ni Bob bilang pamberipika. At ang pagpatupad na ang e ay dapat hash ng R at mensahe (m) ang nagbibigay ng non-interactive property sa Schnorr signature scheme.
Tignan natin ang beripikasyon:
sG ≟ R + eP
(r + ed)G ≟ R + eP
rG + edG ≟ R + eP
R + eP = R + eP ✓
Mas madali itong nagawa, hindi ba?
Ang Schnorr signature scheme ay maaaring gamitin sa secp256k1 na syang elliptic curve (at group) na gamit sa pagpapatunay ng mga transaksyon sa Bitcoin. At ito pa, ang scheme na ito ay provably secure, hindi tulad ng ECDSA. Nabanggit rin sa mga kabanata 4, 5 at 7, ang transaction malleability. Hindi ito problema sa Schnorr signature scheme.
Ang Schnorr signature scheme ay nagbigay ng posibilidad sa taproot. At naglaon ngang nangyari ang upgrade na ito.
Kitakits sa ika-10
