BUIP094: (passed) BCH November upgrade - Re-enable OP Codes

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,693
BUIP094: BCH November upgrade - Re-enable Op Codes
Date: 14 August 2018
Proposer: solex

Motivation
Bitcoin Cash is advancing through decentralized development. Perhaps this was easier early-on, but now the dust has settled from the fork and a year has passed, there are many different voices pushing and pulling development priorities. The upcoming 15 November 2018 general upgrade is a major event, hence it would help if Bitcoin Unlimited, as an organization, had an official position on the major elements of the upgrade. This position is determined by the membership.

Objective

The purpose of the BUIP is to determine whether the BU membership supports re-enabling the following op codes for the scheduled November upgrade (this is a forking change).

Summary of Proposed Changes

Re-enabling op Codes:

OP_MUL
OP_LSHIFT
OP_RSHIFT
OP_INVERT

For further information, see https://www.yours.org/content/use-cases-for-re-enabled-op-codes-8b150b6a0deb

Budget

N/A

Impact

This BUIP has the potential to fork BU off the BCH blockchain. This BUIP is not intended to facilitate a chain split. BU does not desire unintended forks in the BCH blockchain, so the BU client will remain compatible with the final specification of the November upgrade.
 
Last edited:

AdrianX

Well-Known Member
Aug 28, 2015
2,097
5,797
bitco.in
Thanks, @sickpig I've had a quick read but I'm still not sure who would use these and how they would use them and what the benefits that could be had by enabling them are.

could someone please give me an example of how they would be used and how a miner would process them and why they should be in the blockchain?
 

digitsu

Member
Jan 5, 2016
63
149
There is likely more use case for this than OP_DATACHECKSIGVERIFY honestly. These op codes are basic operators. Asking why they are needed is like asking whether or not we need basic binary operators in a programming language. DCSV however, is a more complex function, which may or may not have uses, but whatever those uses may be, they cannot have the breadth that a basic language operator has.
 

torusJKL

Active Member
Nov 30, 2016
497
1,156
Could we implement it but give miners the choice to deactivate them?
(Together with signaling what they did opt-in/out)

BU stands for unlimited coices and whether one wan'ts to support op codes or not should be a choice made by the one running the software.
 

freetrader

Moderator
Staff member
Dec 16, 2015
2,806
6,088
@digitsu - I'll just note here for the record that Craig Wright / nChain have claimed that DATASIGVERIFY would infringe on one of their (undisclosed afaik) patents.
 
  • Like
Reactions: AdrianX

torusJKL

Active Member
Nov 30, 2016
497
1,156
Apparently it is patent WO 2017/145006 A1 (filed on 14.02.2017 and published on 31.08.2017)
Title: Agent-based turing complete transactions integrating feedback within a blockchain system


Edit: typo in patent number.
 
Last edited:

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
I am going to vote "no" for this and expect that BUIP098 passes. But in general, I support the addition of these opcodes. They are very reasonable, general purpose operations useful in any scripting language.
 
  • Like
Reactions: torusJKL and Norway