SegWit soll abwärtskompatibel sein. Wenn ein SigWit-Block an einen Nicht-SegWit-Knoten weitergeleitet wird, wird der Zeugenteil entfernt. Wenn dies der Fall ist, wäre es nicht ungültig, da der Nicht-SegWit-Knoten keinen Zeugen/Unterschrift in der Transaktionseingabe sieht?
Die Ausgabe wird also in eine Ausgabe geändert, die jeder ausgeben kann? Wenn ja, was hindert sie daran, von jemandem ausgegeben zu werden, der nicht der beabsichtigte Empfänger ist?
Die Ausgabe wird also in eine Ausgabe geändert, die jeder ausgeben kann? Wenn ja, was hindert sie daran, von jemandem ausgegeben zu werden, der nicht der beabsichtigte Empfänger ist?
Nein, es wird nicht geändert.
Eine SegWit-Ausgabe ist aus der Sicht alter Nodes jeder-kann-ausgeben . Dies bedeutet, dass es für sie legal ohne Unterschrift ausgegeben werden kann.
Für neue Knoten hat es eine andere Bedeutung und erfordert, dass ein (gültiger) Zeuge ausgegeben wird. Knoten, die sich um SegWit-Ausgaben kümmern, erzwingen diese Regel und akzeptieren keine Blockchain, die ohne einen solchen Zeugen ausgibt.
Wenn ja, was hindert sie daran, von jemandem ausgegeben zu werden, der nicht der beabsichtigte Empfänger ist?
Die meisten Knoten (diejenigen, die aktualisiert haben) würden diese Transaktion ablehnen. Jeder Miner würde diese Transaktion aus Angst ablehnen, dass sein Block (und seine Blockbelohnung) abgelehnt würden.
Sie können sich jedoch in eine Kette verzweigen, die diese Ausgaben ausgibt, wenn Sie möchten.
sinoTrinity
Pieter Wuille
sinoTrinity
Pieter Wuille
sinoTrinity
scriptPubKey
, benötigt der alte Nicht-SegWit-Knoten immer nochscriptSig
/witness in der Eingabe, was fehlt. Die Transaktion wird also als ungültig behandelt, oder? WirdscriptPubKey
aus der Ausgabe entfernt, wie Zeuge aus der Eingabe?Pieter Wuille
scriptPubKey
Ausgaben für SegWit können mit einem leeren ausgegeben werdenscriptSig
. Für SegWit-Knoten ist jedoch ein gültiger Zeuge zum Ausgeben erforderlich. Alte Knoten kennen oder kümmern sich nicht um Zeugen und akzeptieren überhaupt keine Unterschrift (das ist die Definition von „jeder kann Geld ausgeben“).sinoTrinity
Pieter Wuille