127 / 691WIT

Witness data

Witness data zawierają dowody potrzebne do wydania wejść SegWit. Są częścią transakcji, choć pierwotne obliczenie txid ich nie obejmuje.

Witness to pole elementów stosu dla poszczególnych wejść. Znaczenie określa wersja i warunek wydawanego wyjścia; nie jest automatycznie osobno wykonywalnym skryptem.

Każde wejście ma własną listę elementów w serializacji witness. Weryfikacja podpisu używa komunikatu określonego przez odpowiednią wersję skryptu; sama obecność danych nie dowodzi poprawności. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

txid oblicza się z pierwotnej serializacji bez witness. wtxid obejmuje pełną serializację z witness; w transakcji bez witness identyfikatory są równe. [BIP 141 — Segregated Witness]

Witness program to warunek z wersją w wydawanym wyjściu. Witness dostarcza późniejsza transakcja wydająca; nie jest tym samym polem ani kopią zbioru UTXO. [BIP 141 — Segregated Witness]

Natywny SegWit wersji 0 wymaga pustego scriptSig. W opakowaniu P2SH scriptSig umieszcza witness program na stosie; dowody wydania pozostają w witness. [BIP 141 — Segregated Witness]

P2WPKH dostarcza podpis i klucz publiczny. W P2WSH ostatnim elementem jest witnessScript, którego hash musi odpowiadać programowi; poprzednie elementy tworzą stos początkowy. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

Po usunięciu annex, jeśli występuje, Taproot rozróżnia pojedynczy element podpisu dla ścieżki klucza i ścieżkę skryptu ze skryptem i blokiem kontrolnym. Reguł wersji 0 nie można mechanicznie przenieść na wersję 1. [BIP 341 — Taproot]

BIP 141 wiąże witness przez drzewo wtxid i zobowiązanie w coinbase. Coinbase ma w tym drzewie zerowy wtxid; zobowiązanie łączy korzeń z zarezerwowaną wartością 32-bajtową. [BIP 141 — Segregated Witness]

Zmiana samego witness nie zmienia txid. Rozdzielenie nie gwarantuje niezmienności wszystkich innych pól ani kombinacji wejść; zmieniony dowód nadal musi przejść weryfikację. [BIP 141 — Segregated Witness] [Bitcoin Core — Segregated Witness benefits]

Bajty dodane przez serializację witness wnoszą 1 WU wobec 4 WU bajtu bazowego. Full Node nadal potrzebuje ich do odpowiedniej walidacji; nie są bezpłatnymi danymi poza łańcuchem. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — Script interpreter]

Witness może publicznie ujawnić podpis, klucz publiczny lub użytą gałąź skryptu. Nie jest szyfrowanym magazynem, nie służy do przechowywania kluczy prywatnych i nie zastępuje Seed Phrase ani kopii portfela. [BIP 341 — Taproot] [Bitcoin Developer Reference — Transactions]

Pełniejszy obraz uzyskasz, czytając to hasło razem z SegWit, Block weight, Bitcoin Script, Taproot. Do tego hasła prowadzą również odsyłacze z Virtual byte (vbyte), Block weight.

DOC · 001BIP 141 — Segregated WitnessSpecyfikacja ↗DOC · 002BIP 143 — SegWit signature hashingSpecyfikacja ↗DOC · 003BIP 341 — TaprootSpecyfikacja ↗DOC · 004Bitcoin Developer Reference — TransactionsDokumentacja ↗DOC · 005Bitcoin Core v29.0 — Script interpreterDokumentacja ↗DOC · 006Bitcoin Core — Segregated Witness benefitsDokumentacja ↗
Najpierw źródła · To nie jest porada inwestycyjna