You've already forked specification
a92fa7435c
Formated all the files.
55 lines
2.4 KiB
Markdown
55 lines
2.4 KiB
Markdown
# HF-20190515
|
|
|
|
layout: specification
|
|
title: 2019-MAY-15 Network Upgrade Specification
|
|
date: 2019-02-28
|
|
category: spec
|
|
activation: 1557921600
|
|
version: 0.5
|
|
|
|
## Summary
|
|
|
|
When the median time past [1] of the most recent 11 blocks (MTP-11) is greater than or equal to UNIX timestamp 1557921600, Bitcoin Cash will execute an upgrade of the network consensus rules according to this specification.
|
|
Starting from the next block these consensus rules changes will take effect:
|
|
|
|
* Enable Schnorr signatures.
|
|
* Allow Segwit recovery.
|
|
|
|
The following are not consensus changes, but are recommended changes for Bitcoin Cash implementations:
|
|
|
|
* Automatic replay protection for future upgrade
|
|
|
|
## Enable Schnorr signatures
|
|
|
|
Support Schnorr signatures in CHECKSIG and CHECKDATASIG per [2019-05-15-schnorr](/protocol/forks/2019-05-15-schnorr).
|
|
|
|
## Allow Segwit recovery
|
|
|
|
In the last upgrade, coins accidentally sent to Segwit P2SH addresses were made unspendable by the CLEANSTACK rule.
|
|
This upgrade will make an exemption for these coins and return them to the previous situation, where they are spendable.
|
|
This means that once the P2SH redeem script pre-image is revealed (for example by spending coins from the corresponding BTC address), any miner can take the coins.
|
|
|
|
Details: [2019-05-15-segwit-recovery](/protocol/forks/2019-05-15-segwit-recovery)
|
|
|
|
## Automatic Replay Protection
|
|
|
|
When the median time past [1] of the most recent 11 blocks (MTP-11) is less than UNIX timestamp 1573819200 (Nov 2019 upgrade) Bitcoin Cash full nodes MUST enforce the following rule:
|
|
|
|
* `forkid` [2] to be equal to 0.
|
|
|
|
When the median time past [1] of the most recent 11 blocks (MTP-11) is greater than or equal to UNIX timestamp 1573819200 (Nov 2019 upgrade) Bitcoin Cash full nodes implementing the May 2019 consensus rules SHOULD enforce the following change:
|
|
|
|
* Update `forkid` [2] to be equal to 0xFF0002.
|
|
|
|
ForkIDs beginning with 0xFF will be reserved for future protocol upgrades.
|
|
|
|
This particular consensus rule MUST NOT be implemented by Bitcoin Cash wallet software.
|
|
Wallets that follow the upgrade should not have to change anything.
|
|
|
|
## References
|
|
|
|
[1] Median Time Past is described in [bitcoin.it wiki](https://en.bitcoin.it/wiki/Block_timestamp).
|
|
It is guaranteed by consensus rules to be monotonically increasing.
|
|
|
|
[2] The `forkId` is defined as per the [replay protected sighash](/protocol/forks/replay-protected-sighash) specification.
|