127 / 691WIT

Witness-Daten

Witness data enthält Nachweise zum Ausgeben von SegWit-Eingängen. Es gehört zur Transaktion, obwohl die ursprüngliche txid-Berechnung es ausschließt.

Witness ist ein Feld von Stack-Elementen je Eingang. Seine Bedeutung folgt Version und Bedingung des ausgegebenen Outputs; es ist nicht automatisch ein separat ausführbares Skript.

Jeder Eingang hat in der Witness-Serialisierung seine eigene Elementliste. Die Signaturprüfung nutzt eine durch die Skriptversion definierte Nachricht; bloß vorhandene Daten beweisen keine Gültigkeit. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

txid wird aus der ursprünglichen Serialisierung ohne Witness berechnet. wtxid umfasst die vollständige Serialisierung mit Witness; ohne Witness sind beide Kennungen gleich. [BIP 141 — Segregated Witness]

Ein Witness-Programm ist eine versionierte Bedingung im ausgegebenen Output. Witness wird erst durch die spätere ausgebende Transaktion geliefert; es ist weder dasselbe Feld noch eine UTXO-Set-Sicherung. [BIP 141 — Segregated Witness]

Natives SegWit der Version 0 verlangt eine leere scriptSig. Bei P2SH-Einbettung legt scriptSig das Witness-Programm auf den Stack; der Ausgabenachweis bleibt im Witness. [BIP 141 — Segregated Witness]

P2WPKH liefert Signatur und öffentlichen Schlüssel. Bei P2WSH ist das letzte Element witnessScript, dessen Hash zum Programm passen muss; vorherige Elemente bilden den Anfangsstack. [BIP 141 — Segregated Witness] [BIP 143 — SegWit signature hashing]

Nach Entfernen eines gegebenenfalls vorhandenen Annex unterscheidet Taproot ein einzelnes Signaturelement für den Schlüsselpfad vom Skriptpfad mit Skript und Kontrollblock. Regeln der Version null gelten nicht mechanisch für Version 1. [BIP 341 — Taproot]

BIP 141 bindet Witness über einen wtxid-Baum und ein Coinbase-Commitment. Coinbase hat in diesem Baum eine Null-wtxid; das Commitment verbindet die Wurzel mit einem reservierten 32-Byte-Wert. [BIP 141 — Segregated Witness]

Eine Änderung allein am Witness ändert txid nicht. Die Trennung garantiert keine Unveränderlichkeit aller übrigen Felder oder Eingangskombinationen; veränderte Nachweise müssen weiterhin gültig sein. [BIP 141 — Segregated Witness] [Bitcoin Core — Segregated Witness benefits]

Durch Witness-Serialisierung ergänzte Bytes tragen 1 WU bei, Basisbytes 4 WU. Ein Full Node benötigt sie weiterhin für die betreffende Prüfung; es sind keine kostenlosen Daten außerhalb der Kette. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — Script interpreter]

Witness kann Signatur, öffentlichen Schlüssel oder den verwendeten Skriptzweig offenlegen. Es ist kein verschlüsselter Speicher, ist nicht zum Speichern privater Schlüssel gedacht und ersetzt weder Seed Phrase noch Wallet-Sicherung. [BIP 341 — Taproot] [Bitcoin Developer Reference — Transactions]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit SegWit, Blockgewicht, Bitcoin Script, Taproot. Auf diesen Eintrag verweisen außerdem Virtuelles Byte, Blockgewicht.

DOC · 001BIP 141 — Segregated WitnessSpezifikationDOC · 002BIP 143 — SegWit signature hashingSpezifikationDOC · 003BIP 341 — TaprootSpezifikationDOC · 004Bitcoin Developer Reference — TransactionsDokumentationDOC · 005Bitcoin Core v29.0 — Script interpreterDokumentationDOC · 006Bitcoin Core — Segregated Witness benefitsDokumentation
Quellenbasiert · Keine Anlageberatung