From Bitcoin Wiki
Jump to: navigation, search

WikiProject Protocol

Bitcoin-combining-and-splitting-value.pngThis page is within the scope of WikiProject Protocol, a collaborative effort to improve the coverage of Bitcoin protocol documentation on the Bitcoin Wiki. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
BThis page has been rated as B-class on the quality scale.
TopThis page has been rated as top-importance on the importance scale.

Redundant step?

Under "How it works", we have steps 2 and 6:

- 2. A new subscript is created from the instruction from the most recent OP_CODESEPARATOR to the end of the script. If there is no OP_CODESEPARATOR the entire script becomes the subscript (hereby referred to as subScript)

- 6. All OP_CODESEPARATORS are removed from subScript

However, doesn't step 6 seem redundant? Vegard

Answer: (sirk390) The comment for step 6. in the bitcoin sources help to understand this (script.cpp:882)

      // In case concatenating two scripts ends up with two codeseparators,
      // or an extra one at the end, this prevents all those possible incompatibilities. 

In step 2, only OP_CODESEPARATOR before OP_CHECKSIG are removed. In step OP_CODESEPARATOR after OP_CHECKSIG are also removed.

Update with OP_RETURN

I'm searching a schema like the one from jenjix but updated with the OP_RETURN code, anyone can updare the page to add this new feature information in the raw transaction explanation? I also see that for now doesn't exist either a page on the OP_RETURN on this wiki... Pietrod

More info

Maybe add short description from here Contracts#Theory for all SIGHASH_*? Mad

Code samples and raw dumps

I think there is some error in the section "Code samples and raw dumps" - The input script is:

"04 11 db 93 e1 dc db 8a 01 6b 49 84 0f 8c 53 bc 1e b6 8a 38 2e 97 b1 48 2e ca d7 b1 48 a6 90 9a 5c b2 e0 ea dd fb 84 cc f9 74 44 64 f8 2e 16 0b fa 9b 8b 64 f9 d4 c0 3f 99 9b 86 43 f6 56 b4 12 a3 ac"

and should probably be "304402204e45e16932b8af514961a1d3a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07de4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901", at least according to the Block Explorer: --ThePiachu 22:46, 21 March 2012 (GMT)

Indeed, I had noticed the same problem. I have fixed the example.
OneEyed (talk) 18:16, 4 August 2012 (GMT)