Sa paggamit ng Schnorr signature scheme sa taproot upgrade, iniba ang mga data na iniha-hash para mas maigting ang seguridad ng iskema. Ang mga notasyon ay base sa nakasulat sa BIP-0340.
Sa halip na R at m lang, ang data na dadaan sa SHA-256 ay: r, pk at m. At ang scheme sa wakas ay:
sG = R + tagged_hash(r||pk||m)P
- Tagged hashes: gumagamit ng ganito upang matukoy ang kontexto ng hashing. Matatandaan na ang SHA-256 ay gamit sa iba-ibang sangkap ng Bitcoin. Ang tagged hash ay ang paggamit ng dalawang SHA-256 ng “tag”, pagdudugtungin, ilalagay sa loob ng SHA-256 bilang umpisang data, bago pa sundan ng importanteng data na ilalagay sa hashing: SHA-256(tag)||SHA-256(tag). Ang tag ay naka-encode ng UTF-8. Ang tag na gamit sa challenge ng Schnorr signature scheme sa taproot ay: BIP0340/challenge. Kaya ang tagged hash na nakasulat sa taas ay tumutukoy sa:
- hashBIP0340/challenge(r||pk||m), o
- SHA-256(SHA-256(BIP0340/challenge)||SHA-256(BIP0340/challenge)||r||pk||m)
- Key-prefixed Schnorr signatures: upang paigtingin ang seguridad laban sa “related-key attacks” inilalagay ang public key bago ang mensahe, sa data na idadaan sa hashing (ang challenge).
- pk: Sa halip na buong P (kasama ang x– at y-coordinate), prayoridad ang pagiging siksik, kaya gagamitin lang ang x-coordinate ng public key. At ang x-coordinate na ito ay ang syang tumutugma lamang sa y-coordinate na even. Ito ang pk na may habang 32 bytes.
- r: Ang r ay x-coordinate na may katumbas na even y-coordinate, ng napiling R.
- Dahil sa mga nabanggit, ang signature ay (r,s). Ang haba ng r at s ay tig-32 bytes. Kaya ang signature s ay 64-bytes.
Ang pk o x-coordinate ng even y-coordinate na “public key,” mapa isa lang o pinagsamang maraming public keys (MuSig), ay pwede nang tumayang witness script. Subalit, hindi pk ang ginagamit na witness script sa taproot. Sa halip, minodipikang public key ang gamit. Pag-uusapan natin yan sa mas huling bahagi ng seksyong ito.
32 bytes, o 256 bits lagi ang haba ng witness script. Kaya, isang katangian ng Taproot address ay parehas na 62 na karakter ang haba ng mga address sa kahit anong kaso ng witness script. Hindi agad matutukoy kung single sig, multisig o may anumang karagdagang script ito.
Bago natin talakayin ang MuSig, tandaan na ang implementasyon ng Schnorr signature scheme ang syang espesipikasyon para sa on-chain na transaksyon. At off-chain magaganap ang anumang komplikadong protocol para sa seguridad, gaya nga ng MuSig. Basta ang maipapasa sa blockchain ay ang public key (o locking script na mukang public key), at signature (o unlocking script na mukang signature), na handang magamit para sa mas simpleng beripikasyon ng ordinaryong Schnorr signature scheme.
Kitakits sa ika-10
Salamat sa litrato na minodipika bilang pambungad na imahe: Photo by Mark Stebnicki from Pexels: https://www.pexels.com/photo/close-up-photo-of-sweet-potatoes-on-brown-soil-2889344/
