BIP 340 presne definuje Schnorrov podpis
BIP 340 používa 64-bajtové Schnorrove podpisy. Pracuje na eliptickej krivke secp256k1, ktorú používa aj Bitcoin. Verejný kľúč zapisuje iba x-ovou súradnicou. Preto sa nazýva x-only kľúč. Bezpečnosť závisí od presného algoritmu a kontroly každého podpisu.
Schnorrova matematika je lineárna. Špeciálne protokoly preto môžu spojiť viac kľúčov do jedného. BIP 340 však sám nie je multisig protokol. MuSig2 pridáva bezpečné pravidlá spoločného podpisovania. Chráni napríklad proti podvrhnutému kľúču a zneužitiu nonce. Nonce je jednorazová hodnota použitá pri podpise.
Výstupný kľúč môže niesť strom skriptov
BIP 341 začína interným verejným kľúčom. Pomocou hodnoty nazvanej tweak z neho vytvorí výstupný kľúč. Tweak môže obsahovať Merkleho koreň stromu skriptov. Merkleho koreň je jediný hash, ktorý zaväzuje všetky vetvy. P2TR výstup na reťazci obsahuje OP_1 a 32-bajtový x-only kľúč.
Ak sa všetci potrební účastníci dohodnú, použijú key path. To je kľúčová cesta minutia. Na reťazci ukážu iba jeden podpis k výstupnému kľúču. Pozorovateľ priamo nevidí, či podpis vytvoril jednotlivec alebo skupina cez MuSig, ani nepoužité záložné skripty.
Skriptová cesta odhalí iba použitú vetvu
Ak spolupráca zlyhá, možno použiť script path. Táto skriptová cesta odhalí vybraný list a údaje na jeho splnenie. Pridá aj control block. Ten dokazuje, že daný list patrí do stromu viazaného na výstupný kľúč. Ostatné vetvy sa neodhalia.
Dôkaz obsahuje hashe pozdĺž Merkleho cesty, preto hlbšia vetva potrebuje viac hashov a zvyčajne stojí viac. Častejšiu vetvu možno uložiť bližšie ku koreňu. Návrh však musí myslieť aj na obnovu, audit a súkromie. Najnižší poplatok nie je jediný cieľ.
Lepšie súkromie nie je anonymita
Kľúčová cesta je úsporná a odhaľuje málo informácií o pravidlách. Skriptová cesta však ukáže použitú podmienku. Analytik stále vidí sumy a čas transakcie. Môže sledovať aj spoločné vstupy, protistrany či neskoršie spájanie mincí. Taproot tieto stopy automaticky neodstráni.
Taproot tiež nezmení starý OP_CHECKMULTISIG na jeden podpis sám od seba, preto musí peňaženka podporovať spoločný protokol, napríklad MuSig2. Musí správne zálohovať interný kľúč, strom aj derivácie. Bez týchto údajov môže byť obnova nemožná.