Difference between revisions of "Genesis upgrade"
AlexGraham (talk | contribs) |
AlexGraham (talk | contribs) |
||
Line 25: | Line 25: | ||
* Number of CheckSig Operations per MB of Block Space - The consensus rules that limits the number of checksig operations per megabyte of block space has been removed. | * Number of CheckSig Operations per MB of Block Space - The consensus rules that limits the number of checksig operations per megabyte of block space has been removed. | ||
− | |||
==Transaction Consensus Rules== | ==Transaction Consensus Rules== | ||
Line 33: | Line 32: | ||
* Maximum Number of CheckSig Operations per Transaction | * Maximum Number of CheckSig Operations per Transaction | ||
− | * nLockTime | + | * nLockTime and nSequence - After Genesis activation, the functionality of the nLockTime field of a transaction and the nSequence fields of transaction inputs revert to their original purpose. The rules defined here only apply to transactions that are confirmed after Genesis activation. |
− | |||
− | |||
==Script Language Rules== | ==Script Language Rules== |
Revision as of 10:07, 27 January 2020
Genesis is a major update to the BitcoinSV mining client which is used by the majority of miners on the BitcoinSV network.
The upgrade is seen as a return to the original Bitcoin protocol, and includes the removal of all limit based consensus rules, and their replacement with miner configurable settings that give node operators the autonomy needed to set their own limits as they determine are practical.
The full specification is available here.
A short summary of the specification is given here.
Genesis is scheduled to go into effect on or around the 4th of February 2019.
See also:
https://bitcoinsv.io/2020/01/15/changes-for-the-genesis-upgrade/
https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html
The four following areas of the protocol and specification contain the changes implemented by the Genesis upgrade
Block Consensus Rules
- Block Size - The size of a block in bytes of the serialized form of the block including the block header and all of the transactions confirmed by the block.
- Number of CheckSig Operations per MB of Block Space - The consensus rules that limits the number of checksig operations per megabyte of block space has been removed.
Transaction Consensus Rules
- Maximum Transaction Size - The size of a transaction is the size in bytes of the serialized form of the transaction. The maximum size of a transaction is 1GB (1,000,000,000 bytes). This limitation is expected to be lifted in the future.
- Maximum Number of CheckSig Operations per Transaction
- nLockTime and nSequence - After Genesis activation, the functionality of the nLockTime field of a transaction and the nSequence fields of transaction inputs revert to their original purpose. The rules defined here only apply to transactions that are confirmed after Genesis activation.
Script Language Rules
- P2SH sunset - The P2SH capability is being removed by the Genesis upgrade and the presence of a p2sh script template in an output will invalidate a transction.
- OP_RETURN functionality - the functionality of the OP_RETURN operation is being restored. OP_RETURN will cause termination of the script and the validity of the script is determined by the value of the top item on the stack.
Standard Local Policies
Standard Local Transaction Policies
- Maximum Acceptable Transaction Size Policy
- Transaction Evaluation Timeout
Standard Local Script Language Policies
- Numeric Value Length
- Stack Memory Usage
Standard Local P2P Network Policies
- Propagation of non-Standard Transactions