127 / 691WIT

Witness data

Witness data nesou důkazy potřebné k utracení SegWit vstupů. Jsou součástí transakce, i když je výpočet původního txid nezahrnuje.

Witness je pole zásobníkových položek pro jednotlivé vstupy. Jeho význam určuje verze a podmínka utráceného výstupu; nejde automaticky o samostatně spustitelný skript.

Každý vstup má ve witness serializaci vlastní seznam položek. Ověřování podpisu používá zprávu podle příslušné verze skriptu; samotná přítomnost dat platnost nedokazuje. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

txid se počítá z původní serializace bez witness. wtxid zahrnuje úplnou serializaci s witness; u transakce bez witness se oba identifikátory shodují. [BIP 141 — Segregated Witness]

Witness program je verzovaná podmínka v utráceném výstupu. Witness se předkládá až v transakci, která tento výstup utrácí; není to totéž pole ani záloha UTXO setu. [BIP 141 — Segregated Witness]

Nativní SegWit verze 0 vyžaduje prázdný scriptSig. U varianty obalené P2SH nese scriptSig vložený witness program; důkazy utracení zůstávají ve witness. [BIP 141 — Segregated Witness]

P2WPKH předkládá podpis a veřejný klíč. U P2WSH je poslední položkou witnessScript, jehož hash musí odpovídat programu; předchozí položky dodají vstupní zásobník. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

Taproot po případném odstranění annexu rozlišuje jednu podpisovou položku pro klíčovou cestu a skriptovou cestu se skriptem a kontrolním blokem. Pravidla verze 0 nelze mechanicky přenést na verzi 1. [BIP 341 — Taproot]

BIP 141 zavazuje witness přes strom wtxid a závazek v coinbase. Coinbase má pro tento strom nulový wtxid; závazek kombinuje kořen s 32bajtovou rezervovanou hodnotou. [BIP 141 — Segregated Witness]

Pouhá změna witness nezmění txid. Oddělení ale nezaručuje neměnnost všech ostatních polí ani všech kombinací vstupů; změněný důkaz stále musí projít ověřením. [BIP 141 — Segregated Witness] [Bitcoin Core — Segregated Witness benefits]

Bajty přidané witness serializací přispívají 1 WU oproti 4 WU základního bajtu. Full Node je stále potřebuje pro příslušnou validaci; nejde o bezplatná data mimo řetězec. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — Script interpreter]

Witness může veřejně odhalit podpis, veřejný klíč nebo použitou větev skriptu. Není šifrovaným úložištěm, není určen k ukládání soukromých klíčů a nenahrazuje Seed Phrase ani zálohu peněženky. [BIP 341 — Taproot] [Bitcoin Developer Reference — Transactions]

Pro nejúplnější obraz čtěte toto heslo společně s SegWit, Váha bloku, Bitcoin Script, Taproot. Opačným směrem na něj odkazují také Virtuální bajt (vB), Váha bloku.

DOC · 001BIP 141 — Segregated WitnessSpecifikaceDOC · 002BIP 143 — SegWit signature hashingSpecifikaceDOC · 003BIP 341 — TaprootSpecifikaceDOC · 004Bitcoin Developer Reference — TransactionsDokumentaceDOC · 005Bitcoin Core v29.0 — Script interpreterDokumentaceDOC · 006Bitcoin Core — Segregated Witness benefitsDokumentace
Primární zdroje · Nejde o investiční doporučení