Author

Topic: Redefining opcodes and OP_EVAL proposal (Read 1254 times)

legendary
Activity: 1232
Merit: 1076
January 07, 2012, 08:02:14 AM
#3
Status: Withdrawn
hero member
Activity: 686
Merit: 564
January 06, 2012, 09:10:59 AM
#2
Currently I think this script would validate (and may even pass isStandard()?). But when the new proposal comes in OP_NOP1 will be redefined as OP_EVAL and the script will no longer validate.

If this script was included in the blockchain then validation would fail for new clients during the initial blockchain download.
The plan was to only treat OP_NOP1 as OP_EVAL for blocks with timestamps after the switch-on time, and to make sure that well over 50% of miners will know to reject blocks containing such scripts by that time. OP_EVAL is probably going to be replaced by a different proposal, but that uses the same approach to dealing with transactions which are valid under the old rules but not the new.
hero member
Activity: 910
Merit: 1005
January 06, 2012, 06:34:32 AM
#1
I haven't been following that closely so this maybe completely off target.

In the OP_EVAL proposal it states that OP_NOP1 will be redefined as OP_EVAL. My question is what happens to scripts that already contain this op code?

For example say I made an output with a scriptPubKey as follows:

Quote
OP_DUP OP_HASH160 dd1a6a4549838b5abff214c81e4b2aba7ddd550c OP_NOP1 OP_EQUALVERIFY OP_CHECKSIG

Currently I think this script would validate (and may even pass isStandard()?). But when the new proposal comes in OP_NOP1 will be redefined as OP_EVAL and the script will no longer validate.

If this script was included in the blockchain then validation would fail for new clients during the initial blockchain download.
Jump to: