Wie erhalte ich Adressen von scriptPubKey in Segwit-Transaktionen?

Ich durchlaufe rohe Transaktionsdaten und möchte in der Lage sein, Adressen zu sammeln (wo möglich).

Bisher habe ich dieses Diagramm erstellt, um zu verstehen, wann es möglich ist, Adressen aus den scriptPubKeyeinzelnen Ausgaben herauszufinden :

Geben Sie hier die Bildbeschreibung ein

Wie Sie jedoch sehen können, bin ich mir nicht sicher, wie ich eine Adresse aus einem P2WSH herausarbeiten kann .

Ist es möglich, Adressen von scriptPubKeyallein zu bekommen, oder kann ich sie nur bekommen, wenn der Zeuge enthüllt wird, wenn die Ausgabe ausgegeben wurde? (wie hier gezeigt):

witness:      0 <signature1> <1 <pubkey1> <pubkey2> 2 CHECKMULTISIG>
scriptSig:    (empty)
scriptPubKey: 0 <32-byte-hash>
              (0x0020{32-byte-hash})

BEARBEITEN: Bitte lassen Sie mich auch wissen, wenn Sie feststellen, dass eines meiner Musterabgleiche in diesem Diagramm falsch ist (oder wenn mir Muster fehlen, mit denen ich mehr Adressen herausfinden kann).

Nitpick: Es gibt eine Prüfsumme für die Adresse in P2PK/P2PKH/P2SH. de.bitcoin.it/wiki/…
Ja Dankeschön. Zur Verdeutlichung für alle, die dies lesen, es sollte so seinbase58('00' + hash160 + checksum)

Antworten (2)

Derzeit gibt es kein natives Adressformat für Witness-Ausgaben, daher lautet die Antwort für P2WPKH und P2WSH einfach: Sie können und sollten nicht. Wenn Sie den 20-Byte-Hash in einer P2WPKH-Ausgabe in 1xxxxxx umwandeln und das Ergebnis anzeigen, denken die Leute möglicherweise, dass dies eine Adresse ist, an die mehr Geld gesendet werden kann. Dies würde jedoch zu einer P2PKH-Ausgabe führen, die eine reine Segwit-Wallet möglicherweise nicht versteht.

Die meisten Segwit-Ausgaben verwenden jedoch zunächst den P2SH-Wrapper (was zu P2SH-P2WPKH- oder P2SH-P2WSH-Programmen führt), die einfach wie P2SH-Adressen aussehen (und sich so verhalten).

Ein neues natives Segwit-Adressformat wird in https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki vorgeschlagen . Dies kann jedoch nur verwendet werden, wenn sowohl die Empfänger- als auch die Sendersoftware dies unterstützen.

Noch nicht abgeschlossen? Ich möchte den neuesten Trend wissen. Ist der P2SH-Wrapper jetzt der De-facto-Standard? Scheint Bit142 noch zurückgestellt zu sein. github.com/bitcoin/bips/blob/master/bip-0142.mediawiki
BIP173 ersetzt es. Es wird jedoch lange dauern, bis es angenommen wird, daher erwarte ich zunächst, dass Segwit-Übertragungen den P2SH-Wrapper verwenden.

Ich habe dieses Bild mit den zehn besten PKscripts zusammengestellt, die ich irgendwo auf einer Webseite gefunden habe ... finde den Link nicht. Ich würde es auch um Segwit-Ausgänge erweitern wollen. Ich kann die "graphml"-Datei auf Wunsch freigeben.

Geben Sie hier die Bildbeschreibung ein