<p>Since it was set to an error by Satoshi and not a SUCCESS, this would be a hardfork for all clients in-between no matter if this was already used onchain before.</p>
<p>Just imagine a miner with the new software (which redefines VER as SUCCESS) mining a transaction containing such an OP. All the clients between <code>0.3.5</code> and the new one would refuse the block, while all the updated ones would accept it: chain split.</p>

CC BY-SA 4.0
2020-10-26T00:43:06.090Z
This would be true if disabled opcodes were being made OP_SUCCESS for SegWit v0 spends but we are only making them OP_SUCCESS for SegWit v1 spends and future SegWit versions. Assuming Taproot is activated, unupgraded clients will treat SegWit v1 spends as anyone-can-spend whether they include a previously disabled opcode or not.
Michael Folkson
CC BY-SA 4.0
2020-10-26T09:47:21.797Z
Yeah i assumed you were not talking about Segwit but raw Script OPs
Antoine Poinsot
CC BY-SA 4.0
2020-07-29T11:44:49.363Z
2020-07-29T11:44:49.363Z
Antoine Poinsot
<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki#specification" rel="nofollow noreferrer">BIP 342</a> does exactly this. (Thanks Pieter)</p>

CC BY-SA 4.0
2020-07-29T18:23:37.897Z
2020-10-26T01:05:38.957Z
2020-10-26T01:05:38.957Z
Michael Folkson
<p>Given OP_VER (0x62) was never used onchain, is disabled and is not considered useful can its meaning be stripped and it be made OP_SUCCESS for the purposes of introducing a new different opcode in future?</p>
<p>As Andrew Poelstra <a href="https://diyhpl.us/wiki/transcripts/london-bitcoin-devs/2020-02-04-andrew-poelstra-miniscript/" rel="nofollow noreferrer">describes</a> &quot;..there was an opcode called OP_VER, OP version. I can see some grimaces. It would push the client version onto the stack. This meant that when you upgraded Bitcoin say from 0.1 to 0.2, that’s a hard fork. Now script will execute OP_VER and push 0.1 onto the stack for some people and 0.2 onto the stack for other people. You’ve forked your chain. Fortunately nobody ever used this opcode which is good. &quot;</p>

<script><bitcoin-core-development><taproot><opcodes>
Given OP_VER was never used, is disabled and not considered useful can its meaning be stripped and it be made OP_SUCCESS?
Michael Folkson
# Given OP_VER was never used, is disabled and not considered useful can its meaning be stripped and it be made OP_SUCCESS?

(Asked by: username_0 on 2020-07-29)

Given OP\_VER (0x62) was never used onchain, is disabled and is not considered useful can its meaning be stripped and it be made OP\_SUCCESS for the purposes of introducing a new different opcode in future?

As Andrew Poelstra [describes](https://diyhpl.us/wiki/transcripts/london-bitcoin-devs/2020-02-04-andrew-poelstra-miniscript/) "..there was an opcode called OP\_VER, OP version. I can see some grimaces. It would push the client version onto the stack. This meant that when you upgraded Bitcoin say from 0.1 to 0.2, that’s a hard fork. Now script will execute OP\_VER and push 0.1 onto the stack for some people and 0.2 onto the stack for other people. You’ve forked your chain. Fortunately nobody ever used this opcode which is good. "

**Tags:** script, bitcoin-core-development, taproot, opcodes


---

## 2 answers

### Answer by username_0 on 2020-07-29. Score: 4 | Accepted answer

[BIP 342](https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki#specification) does exactly this. (Thanks Pieter)


---

### Answer by username_1 on 2020-07-29. Score: 2

Since it was set to an error by Satoshi and not a SUCCESS, this would be a hardfork for all clients in-between no matter if this was already used onchain before.

Just imagine a miner with the new software (which redefines VER as SUCCESS) mining a transaction containing such an OP. All the clients between `0.3.5` and the new one would refuse the block, while all the updated ones would accept it: chain split.

> **Comments:**
> **username_0**: This would be true if disabled opcodes were being made OP_SUCCESS for SegWit v0 spends but we are only making them OP_SUCCESS for SegWit v1 spends and future SegWit versions. Assuming Taproot is activated, unupgraded clients will treat SegWit v1 spends as anyone-can-spend whether they include a previously disabled opcode or not.  
> **username_1**: Yeah i assumed you were not talking about Segwit but raw Script OPs  

---

