Wie kann ich überprüfen, ob es sich um eine Segwit-Transaktion handelt oder nicht?

Beispiel für ein Segwit-Nutzungsdiagramm: https://p2sh.info/dashboard/db/segwit-usage?orgId=1

Ich möchte überprüfen, indem ich tx überprüfe, ob es sich um eine Segwit-Transaktion handelt oder nicht.

Gibt es eine einfache Methode, dies zu tun?

  • Legacy -> P2SH tx (Ist das eine Segwit-Transaktion?)
  • P2SH -> Legacy tx (Ist das eine Segwit-Transaktion?)
  • bech32 -> Legacy tx (Ist das eine Segwit-Transaktion?)

Was ist, wenn viele Arten von Adressen als Ein- und Ausgänge festgelegt sind?

Antworten (1)

Eine Transaktion ist ein Segwit-Tx, wenn mindestens eine der Eingaben einen Zeugen enthält. Oder wenn Sie den Roh-Tx untersuchen, überprüfen Sie das 5. Byte (die Eingabezählung) und wenn ja, 0x00dann ist es ein Segwit-Tx.

Beispiel: tx1

02000000 05 5f4e5315ffe854e75db92f8dda952a8db2f63b37838fca4c32bd4bb692fe7ea2000000006a47304402200ab62a9d1858dceeaa2101cda3f31b7bae60471c0355c54a6eae48f723555806022010d2aad6362a8c56ed66b0670ff84175f534f4f0995f8724a9b2a5fc89a2a4b4012102c424c2670a7aade9cf867576064013d02cc7669c418968993e73e6b25fc122bcfeffffff80cb1bfcde0f309490c717eca07f1353f121fb13e105...

ist kein segwit tx, da die Eingangsanzahl 0x05= 5 ist

tx2

01000000 00 010106325bac2f2e7ca67fa46c8304fb3b747e5578df1eef0394349ce2cdd744f7f10100000000ffffffff02db355202000000001976a91489ea1263056ac068adba4844efb376a3a19635ad88ac43b72f07000000002...

ist ein segwit tx, weil der Eingangszähler 0x00= 0 ist

Auch:

  • Transaktionen, die P2PKH-Eingaben ausgeben (Adresse beginnend mit 1), können nicht segwit werden.
  • Transaktionen, die P2SH-Eingaben ausgeben, werden segwit, wenn sie verschachtelte P2SH sind, andernfalls nicht.
  • Transaktionen, die P2WPKH oder P2WSH (beginnend mit bc1) ausgeben, werden segwit sein.

In deinem Beispiel:

Vermächtnis -> P2SH

Dies kann kein Segwit-Tx sein, da es Eingaben von einer Legacy-Adresse ausgibt

P2SH -> Vermächtnis

Dies kann ein Segwit-Tx sein, wenn die Adresse P2SH-P2WPKH oder P2SH-P2WSH (verschachteltes Segwit in P2SH) ist. Sie würden nicht wissen, ob es verschachtelt ist, wenn es nicht Ihnen gehört, es sei denn, jemand hat bereits davon ausgegeben (in diesem Fall überprüfen Sie den Ausgaben-Tx).

bech32 -> Vermächtnis

Dies ist immer ein Segwit-Tx