OP_RETURN in einer Coinbase-Transaktion?

Hey, wenn ich mir diese Transaktion ansehe, bin ich verwirrt, warum es zwei Ausgänge gibt und warum einer von ihnen mit OP_RETURN gekennzeichnet ist

Fragen Sie, was OP_RETURN im Allgemeinen ist ( hier ausführlich erklärt ) oder warum sich ein Miner entschieden hat, einen in eine Coinbase-Transaktion zu integrieren (nur der Miner weiß es genau)?
Mögliche Gründe, warum ein Bergmann sich entschieden hat, einen in eine Coinbase-Transaktion zu integrieren. Vielleicht eine Erklärung, das habe ich noch nie gesehen.

Antworten (2)

Jeder Segwit-Block hat einen solchen OP_RETURN in der Coinbase-Transaktion: Es ist die Merkle-Wurzel des Zeugenbaums.

Als die Segwit-Softfork aktiviert wurde, beinhaltete dies eine Behebung des Problems der Transaktionsformbarkeit von Drittanbietern, das zuvor im Netzwerk vorhanden war. Das Problem war, dass die Signatur einer Transaktion von jeder anderen Person geändert werden konnte, indem der in der Signatur verwendete S-Wert invertiert wurde. Dies führte zu einer anderen gültigen (nicht standardmäßigen) Transaktion, bei der die gleichen Coins an die gleichen Empfänger ausgegeben wurden, aber eine andere txid.

Segwit verhinderte diese Quelle der Transaktionsverformbarkeit, indem es das Witness-Programm aus dem Eingabeskript in ein separates "Witness-Feld" in der Transaktion ("Segregated the Witness") verschob, das ignoriert wird, wenn die txid berechnet wird. Das bedeutet, dass selbst wenn Signaturen für Segwit-Transaktionen geändert werden, ihre txid gleich bleibt. Indem die txid von der Signatur unabhängig gemacht wird, ist es auch einfacher, auf nicht signierten Transaktionen aufzubauen (da sich ihre txid nicht mit der Signatur ändert), was z. B. für Smart Contracts nützlich ist, die in Lightning Network-Zahlungskanälen verwendet werden.

Ein Block verpflichtet sich zu allen seinen Transaktionen, indem er die Wurzel des Merkle-Baums über seine txids bindet. Dies würde jedoch bedeuten, dass diese Verpflichtung nicht die Signaturen von Segwit-Transaktionen abdecken würde, da sie nicht zum txid beitragen. Um sich auf die Signaturen festzulegen, hat segwit einen zweiten parallelen Merkle-Baum eingeführt, der aus den Witness-TXIDs aufgebaut ist, dh einer Transaktions-ID, die über die vollständigen Transaktionsdaten einschließlich des Witness-Programms berechnet wird. Da der Blockheader nicht ohne Hardfork erweitert werden kann, verpflichten sich Segwit-Blöcke zu diesem Zeugenbaum, indem sie die Wurzel in einem OP_RETURN in der Coinbase-Transaktion einschließen.

Ein weiterer Grund: Merged Mining

Auch wenn dies nicht in der beispielhaften Coinbase-Transaktion des OP der Fall ist, ist ein weiterer Grund für OP_RETURNeine Coinbase-Transaktion Merge Mining. Ein Miner kann der Merged-Mining-Spezifikation folgen, bei der eine oder mehrere Blockkennungen eines anderen Systems in das Eingabeskript eingefügt werden. Zusätzlich kann der Miner eine oder mehrere OP_RETURNs mit einem ID-Code erstellen und Informationen der anderen Blockchain(s) gemäß der Spezifikation dieser Ketten blockieren.

Beispiel: Block 733578 Coinbase Tx

Ein Beispiel, wie hier erläutert , ist die Coinbase- Transaktion Block 733578 , bei der der Miner drei weitere Blockchains (Namecoin, RSK und Vcash sowie BTC) abgebaut hat. Der Block Namecoin ( ) wird in der Eingabeskriptsig identifiziert. RSK- und Vcash-Blöcke sind in den Coinbase-Transaktionen enthalten ; RSK ( ) und Vcash ( ).fabe6d6dOP_RETURN52534b424c4f434b3ab9e11b6d

Gemäß der Antwort von @Murch hier ist die dritte OP_RETURNin diesem Beispiel die getrennte Witness Merkle-Wurzel ( ).aa21a9ed