Fehler (beim Senden)
Fehlercode: -26
Fehlermeldung:
64: non-mandatory-script-verify-flag (Non-canonical DER signature)
Transaktion010000000001020dcc23ccdb3665779a7657577cd33c5c0660e969ea2ffaf5438c58306ebc9dd201000000fd880100473044022075e1c8751f948b71a79e864040b8e9698e257f0dd65acb3cb6da852a1da8d96602204767d05ac1b75e1f85963c117e51cc8869711e1fe307b51cfdd7763b39e38aa9014730440220647678c47d4a4be2a5f70044e4cf5bf547fb513311401819a114e5a1e72e642002204e9f3847cb2789493446b96dce62acb7abdad06655aefef084bb0d6a49bc99c001473044022079be75240f2a1519559fc3eacfdbeee123403466879d720b9e7f68a45a2b3bef0220585ea1c34766d57e54103ec5102c8fd0925ee2bc1a847797176da9e878d21448014cad53210289d20d3d6e36f28537af3521ce05548fb16baf7d47ac67fbf318db6ed983b9ba21034712e706c1643ec0e9519edf093578886bac1c9c17893138a76111d9a14a2f1b2102a21047ac1a83c8cce21475240b2107a11d76212573a86f0dffe44cdd326f4dab2103430166298971c6282241ef46e866fa9077b4a48eafe4b370e94aef24050dda13210329446142884a33e6100603c6eead5300ec5cf438437f8374ea76dda2daced12855aeffffffff49508924c21b25ee2ff6aed61ccc202793aa992d3e033f12f2bf4a94d6346d0100000000232200207677cf0e71ff26dc2ac7e6b93a5f6b893d39c05a1367ca100cde7a62713ddb4affffffff0240420f00000000001976a9140d7ca1e17524d6c96209cf503fb053613cecf8f688acc0b606000000000017a914fa1cee87827866df00431b5c9a3506b5e31ef4ed87000500473045022100cd569e7f8e5fb6490ef3240d68abdd147f0c3ce4e77bcfd59f587b9a14848bdb02207fe31882d22518af84d3961809b6133c06b34ce6f91c1e579dcff0c58b7519d347304502210099699d11f3fa427c2739580de08fc3a305202a6b1f39c01d8f82e6ad8a9b191902205153041c9a291b81c3ef94cba9d22f3a8df6ee45faab13407ec8a56843051043483045022100b57e36875906add1edeb57badc92f5b4287f9e33b609fad5ae35912cdc0596ff022073338c6e14637dfc11abdb18c2396a58b8e537670d06084981799f64bcd7c3f401ad53210289d20d3d6e36f28537af3521ce05548fb16baf7d47ac67fbf318db6ed983b9ba21034712e706c1643ec0e9519edf093578886bac1c9c17893138a76111d9a14a2f1b2102a21047ac1a83c8cce21475240b2107a11d76212573a86f0dffe44cdd326f4dab2103430166298971c6282241ef46e866fa9077b4a48eafe4b370e94aef24050dda132102c877ef10e8dc5ca83f06263971f133f71e01e9b2a91a4184eb730026f2c3968f55ae00000000
Frage
Was ist hier mit den Signaturen falsch?
Meine Gedanken und ein bisschen Kontext
Also im Grunde haben wir hier zwei Eingaben. Beide stammen von Multisig-Adressen. Der Unterschied besteht darin, dass der zweite nur P2WSH ist . Der erste ist höchstwahrscheinlich in Ordnung. Das zweite ist meine Sorge. Schauen wir uns also Zeugensignaturen für die zweite Eingabe an.
Wir haben drei Unterschriften:
Die ersten beiden werden von Hardware Wallets generiert. Der dritte wird von Bitcoin Core erstellt. Im Grunde behauptet also jede dieser Signaturen, 0x45 (69 Bytes lang) zu sein. Aber der dritte hat zusätzlich 01 am Ende.
Fragen
Ist dies der Grund für den Fehler?
Wenn nicht, was ist dieses zusätzliche Byte?
Irgendwelche Hinweise, was mit dieser Transaktion falsch ist?
Das "01"-Byte am Ende ist das Byte vom Sighash-Typ (insbesondere bedeutet 01 SIGHASH_ALL, was anzeigt, dass alle Eingänge und Ausgänge vorzeichenbehaftet sind). Ein solches Byte ist für alle Signaturen in Bitcoin-Skripten erforderlich (sowohl in Legacy- als auch in Segwit-Signaturen). Dieses Byte ist jedoch Teil der DER-codierten Signatur; es wird daran angehängt.
Vermutlich erzeugt Ihre Hardware-Wallet die DER-Signatur ohne den Sighash-Typ, und die Software, die Sie zum Erstellen der eigentlichen Transaktion verwenden, ist dafür verantwortlich, sie hinzuzufügen.
Jubert