<p>Those opcodes can be used in non-standard scripts as part of a Pay-to-Script-Hash address. They can be in the redeemScript of the P2SH address and be standard. </p>

<p>Furthermore, standardness is not something that is set in stone; it is not a consensus rule, rather it is node policy. So in the future, we may create new script types which become standard that use other opcodes. Such scripts may be non-standard now (as P2SH and Segwit were in the past) but can become standard in the future. Those opcodes exist so that we can make scripts which perform smart contract-like things without needing a fork.</p>

CC BY-SA 3.0
2017-10-21T02:49:01.790Z
2017-10-21T02:49:01.790Z
Ava Chow
<p>I figured out that we can use OPCODE to create a redeem script which is hashed for P2SH. So it seems that we can create our own smart contract: However Bitcoin script does not have enough OPCODEs to create smart contract that can do with Ethereum.
Some people have proposed to add some OPCODEs to Bitcoin.</p>

CC BY-SA 3.0
2017-09-20T21:13:22.810Z
2017-09-20T21:13:22.810Z
ogw_yuya
<p>In my understanding, miners wont accept non standard scripts. Then why are there several opcodes which cannot be used in custom scripts because they are nonstandard?</p>

CC BY-SA 3.0
2017-10-21T02:12:18.663Z
You should probably change the title of your question to something like "Why are there so many opcodes in Bitcoin Script, but they are not usable". The current question title is too broad and does not really reflect your question intentions.
rny
<script><non-standard-transaction>
Why are there so many opcodes in Bitcoin Script, but they are not usable
ogw_yuya
# Why are there so many opcodes in Bitcoin Script, but they are not usable

(Asked by: username_0 on 2017-09-06)

In my understanding, miners wont accept non standard scripts. Then why are there several opcodes which cannot be used in custom scripts because they are nonstandard?

**Tags:** script, non-standard-transaction

> **Comments:**
> **username_1**: You should probably change the title of your question to something like "Why are there so many opcodes in Bitcoin Script, but they are not usable". The current question title is too broad and does not really reflect your question intentions.  

---

## 2 answers

### Answer by username_2 on 2017-10-21. Score: 3 | Accepted answer

Those opcodes can be used in non-standard scripts as part of a Pay-to-Script-Hash address. They can be in the redeemScript of the P2SH address and be standard.

Furthermore, standardness is not something that is set in stone; it is not a consensus rule, rather it is node policy. So in the future, we may create new script types which become standard that use other opcodes. Such scripts may be non-standard now (as P2SH and Segwit were in the past) but can become standard in the future. Those opcodes exist so that we can make scripts which perform smart contract-like things without needing a fork.


---

### Answer by username_0 on 2017-09-20. Score: 0

I figured out that we can use OPCODE to create a redeem script which is hashed for P2SH. So it seems that we can create our own smart contract: However Bitcoin script does not have enough OPCODEs to create smart contract that can do with Ethereum.
Some people have proposed to add some OPCODEs to Bitcoin.


---

