Bitcoin Forum
April 26, 2024, 07:40:05 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Redefining opcodes and OP_EVAL proposal  (Read 1230 times)
piuk (OP)
Hero Member
*****
expert
Offline Offline

Activity: 910
Merit: 1005



View Profile WWW
January 06, 2012, 11: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.

1714160405
Hero Member
*
Offline Offline

Posts: 1714160405

View Profile Personal Message (Offline)

Ignore
1714160405
Reply with quote  #2

1714160405
Report to moderator
1714160405
Hero Member
*
Offline Offline

Posts: 1714160405

View Profile Personal Message (Offline)

Ignore
1714160405
Reply with quote  #2

1714160405
Report to moderator
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, but full nodes are more resource-heavy, and they must do a lengthy initial syncing process. As a result, lightweight clients with somewhat less security are commonly used.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714160405
Hero Member
*
Offline Offline

Posts: 1714160405

View Profile Personal Message (Offline)

Ignore
1714160405
Reply with quote  #2

1714160405
Report to moderator
makomk
Hero Member
*****
Offline Offline

Activity: 686
Merit: 564


View Profile
January 06, 2012, 02:10:59 PM
 #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.

Quad XC6SLX150 Board: 860 MHash/s or so.
SIGS ABOUT BUTTERFLY LABS ARE PAID ADS
genjix
Legendary
*
expert
Offline Offline

Activity: 1232
Merit: 1072


View Profile
January 07, 2012, 01:02:14 PM
 #3

Status: Withdrawn
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!