delvingbitcoin

64 bit arithmetic soft fork

64 bit arithmetic soft fork

Original Postby ProofOfKeags

Posted on: January 11, 2024 16:46 UTC

The programming community is currently deliberating on the introduction of a new opcode, OP_ENABLE64BIT, which would enable arithmetic opcodes within a script to accept inputs up to 8 bytes in size.

There are concerns regarding the expansion of the state variable of the script's virtual machine (VM). Typically, opcodes within the VM interact with the main and alternate stacks or halt the execution of the VM, which can be represented by a state transition function, as shown:

exec_op : (MainStack, AltStack) -> (MainStack, AltStack) 

However, introducing OP_ENABLE64BIT would necessitate the addition of a third component, the VMInterpreterState, altering the current structure of the VM. This could significantly broaden the potential for consensus issues due to the increased complexity of the VM's state. The suggestion to implement this opcode marks a radical shift in the formalism of the VM. Those in favor of such developments must consider the implications on the script's reliability and the risk of introducing new avenues for bugs that may affect consensus.