Utilisation du hachage OP_SHA256 OP_EQUAL (Testnet) Tx

Wizard Of Ozzie

Utilisation du hachage OP_SHA256 OP_EQUAL (Testnet) Tx


J’ai créé le Tx non standard suivant sur le réseau Testnet3 : 6b52c981e6814072db77cb755b2633cd126b4ca21501d18ab994531e17a4a813

 { hash: "6b52c981e6814072db77cb755b2633cd126b4ca21501d18ab994531e17a4a813", ver: 1, vin_sz: 1, vout_sz: 1, lock_time: 0, size: 234, in: [ { prev_out: { hash: "a61a8bd4aaab2aa935f2e62672a783ca936821c94e021caed747d3ff8b658ff7", n: 0 }, scriptSig: "3045022100b4b97d5f21efa866ffc25ae4e20b4427adbeffca0fb8ea5d90ef261e1050c43e022077d1e734b077630b3634f91b2d60eb267f4a4e3e25ad9a0f56825363eee0fdc001 04dcc0cf808a5313ee50185575a850738011730247273aa3e11f400f7904e01fda86383ff0e8ed2ba201cb6cfb974d6148199ffc635d92b92b834ec04885bb9a71" } ], out: [ { value: "0.00080000", scriptPubKey: "OP_SHA256 931d236179670b00348f87bea4199fe18297f0ef26da02c7542bd54d5b7836d8 OP_EQUAL" } ] } 

La sortie d’intérêt est: "OP_SHA256 931d236179670b00348f87bea4199fe18297f0ef26da02c7542bd54d5b7836d8 OP_EQUAL" .

haché «secret» = adfladsfhuifo8ry8fh4u4et4e5tsg415et458s43etg41s35e4g3541r35g143sg54s385g41s535e1g435s4g;.:;,[@snrltgnjslenjrgklsnleignilsnklgnslnglk

sha256(secret) = 931d236179670b00348f87bea4199fe18297f0ef26da02c7542bd54d5b7836d8

La page de script Wiki BTC (à savoir, la section Puzzle Tx ) fournit une discussion de haut niveau (sur DOUBLE SHA256, notez qu’il ne s’agit que de SHA256, c’est-à-dire 0xa8 . Cette discussion BTCtalk fournit le format Tx secret, brut susmentionné, etc.).


Je suis en train de racheter 010000000113a8a4171e5394b98ad10115a24c6b12cd33265b75cb77db724081e681c9526b0000000000ffffffff01204e000000000000864c846164666c61647366687569666f38727938666834753465743465357473673431356574343538733433657467343173333565346733353431723335673134337367353473333835673431733533356531673433357334673b2e3a3b2c5b40736e726c74676e6a736c656e6a72676b6c736e6c6569676e696c736e6b6c676e736c6e676c6b00000000

 { "txid" : "717b0d0db10f79d38553d2aeda3994768fda306fa5331d055fb3cf00818a6d7e", "version" : 1, "locktime" : 0, "vin" : [ { "txid" : "6b52c981e6814072db77cb755b2633cd126b4ca21501d18ab994531e17a4a813", "vout" : 0, "scriptSig" : { "asm" : "", "hex" : "" }, "sequence" : 4294967295 } ], "vout" : [ { "value" : 0.00020000, "n" : 0, "scriptPubKey" : { "asm" : "6164666c61647366687569666f38727938666834753465743465357473673431356574343538733433657467343173333565346733353431723335673134337367353473333835673431733533356531673433357334673b2e3a3b2c5b40736e726c74676e6a736c656e6a72676b6c736e6c6569676e696c736e6b6c676e736c6e676c6b", "hex" : "4c846164666c61647366687569666f38727938666834753465743465357473673431356574343538733433657467343173333565346733353431723335673134337367353473333835673431733533356531673433357334673b2e3a3b2c5b40736e726c74676e6a736c656e6a72676b6c736e6c6569676e696c736e6b6c676e736c6e676c6b", "type" : "nonstandard" } } ] } 

Donc, ça a l’air bien, non?

Eh bien, la signature (avec signrawtransaction ) renvoie les données hexadécimales avec un faux indicateur pour terminer. En outre, les chaînes hexadécimales signées et non signées renvoient cette erreur:

  • 16: mandatory-script-verify-flag-failed (Operation not valid with the current stack size) (code -26)

Quelqu’un a-t-il une idée de ce que peut être le problème et, peut-être plus utilement pour tout le monde, en supposant que P2SH n’est pas une option , comment peut-on racheter ces sorties?

Réponses


 amaclin

Donc, ça a l’air bien, non?

Non, ça n’a pas l’air bien. Vous devez mettre votre «secret» dans scriptSig. Et votre scriptPubkey doit être racheté à l’une de vos adresses (par exemple à msimoNvz23QXyiRofLtGSCsVdkdsNJn4SU). Vous ne devriez pas essayer de signer cette transaction – le racheter ne nécessite pas de signature ecdsa

quelque chose comme ça: (désolé, je l’ai fait « à la main », donc cela peut être incorrect)

 01000000 01 13a8a4171e5394b98ad10115a24c6b12cd33265b75cb77db724081e681c9526b 00000000 86 // length of script 4c84 // push 0x84 following bytes 6164666c61647366687569666f38727938666834753465743465357473673431356574343538733433657467343173333565346733353431723335673134337367353473333835673431733533356531673433357334673b2e3a3b2c5b40736e726c74676e6a736c656e6a72676b6c736e6c6569676e696c736e6b6c676e736c6e676c6b ffffffff 01 // one output 204e000000000000 // value in hex 19 // length 76 A9 14 85ddbd9c2f9733dc3860b9e1ffcdc0da2633004b 88 AC // redeem to msimoNvz23QXyiRofLtGSCsVdkdsNJn4SU 00000000 
Wizard Of Ozzie

Bien sûr! Ça a du sens. La confusion était apparue au départ, car la signature BC n’était pas nécessaire, mais avec le recul, je vois que le rachat est en place pour la signature, ce qui est logique. Et clairement, le Tx est un gâchis, étant donné que les sorties / entrées manquent complètement ou sont échangées en place. Je vais l’essayer dans l’heure.

 

du, hachage, OP_EQUAL, OP_SHA256, testnet, Tx, utilisation

 

yahoo

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *