Revise Difficulty Adjustment Algorithm to further improve block times using a new PID control algorithm
New Bitcoin Cash network message for notifying nodes when an attempted double spend of an unconfirmed transaction has occurred.
A Proof-of-Work Target that Minimizes Blockchain Mining Variance
A non-interactive fungibility solution for transactional privacy.
Switch the standard denomination of Bitcoin Cash to 'bits' (1 millionth of a Bitcoin) and switch the ticker from 'BCH' to 'BIT'.
Enable representative tokens via GROUP
A simple, yet powerful way to provide more human friendly front ends. The main use is to identify the user by name -or nickname- and mobile phone so wallets have data from users and users can pay to human understandable names instead of cryptographic hashes.
A novel metastable consensus protocol family for cryptocurrencies.
A Token Layer Protocol on Bitcoin Cash
the consumer will make a special ZCF transaction that pays the merchant and simultaneously posts a security deposit. If the transaction is honest, the consumer can later reclaim his deposit. If he tries to double spend, he necessarily reveals a second signature over the same public key which is then used by miners to claim his deposit for themselves. Pretty clever!
The construction of a 32-byte hash that is uniquely defined for a UTXO set, that is, the set of all unspent transaction outputs that exist at a certain block in the blockchain
Add "cash" in addition to "bit" as a term for 100 (one hundred) satoshi or 1/1,000,000 (one one-millionth) of a bitcoin cash BCH (i.e. 0.000001 BCH). Further, we propose the unofficial ISO code "XCH" to represent a cash unit (millionth of a BCH unit). -- UPDATE: For French translations only.
Modified fee structure to allow for an order of magnitude decrease in fees for typical transactions (not strictly a consensus change, but an important change being included with the release).
With the exception of the coinbase transaction, transactions within a block must be sorted in numerically ascending order of the transaction id. This proposal is also known as Lexical Transaction Order. It simultaneously removes the existing Topological Transaction Order constraint.
Transactions that are smaller than 100 bytes shall be considered invalid. This protects against a Merkle tree vulnerability that allows attackers to spoof transactions against SPV wallets.
Transactions shall be considered invalid if an opcode with number greater than 96 (hex encoding 0x60) appears in a scriptSig.
Consider all blocks in size up to 128MB to be valid.
Re-activate the following additional opcodes: OP_MUL, OP_LSHIFT, OP_RSHIFT, and OP_INVERT.
Loosen the restriction on the number of instructions executed per script (currently 201) to 500.
OP_CHECKDATASIG and OP_CHECKDATASIGVERIFY check whether a signature is valid with respect to a message and a public key. OP_CHECKDATASIG permits data to be imported into a script, and have its validity checked against some signing authority such as an "Oracle".
For a transaction to be valid, only a single non-zero item must remain on the stack upon completion of Script evaluation. If any extra data elements remain on the stack, the script evaluates to false. This is the same as BIP 62 rule #6.
Support Base32 address format
Revise Difficulty Adjustment Algorithm
An efficient method of announcing new blocks
Re-enable the previously disabled opcodes which were part of the original Bitcoin design. This should enable smart contract compilers, and a variety of functionality on Bitcoin Cash.
Start accepting blocks up to 32MB by default.
To disincentivize the use of other methods to embed data into the chain, in particular via P2SH, the default datacarriersize is raised from 80 byte to 220 bytes, so it becomes the "cheapest" way of embedding data into the chain.
Update to inform other nodes of double spend attempts immediately to improve the reliability of 0-conf transactions.
BIP 135 extends the semantics of the signaling bits to cover arbitrary consensus changes, referred to under the general term 'forks'. The same range of version bits is used for signaling.
Enable representative tokens via OP_GROUP. Superseded by Representative Tokens via GROUP.