dash/doc/bips.md
Wladimir J. van der Laan f175a2e351
Merge #11740: Implement BIP159 NODE_NETWORK_LIMITED (pruned peers) *signaling only*
de74c62 [Doc] Update bip.md, add support for BIP 159 (Jonas Schnelli)
e054d0e [QA] Add node_network_limited test (Jonas Schnelli)
bd09416 Avoid leaking the prune height through getdata (fingerprinting countermeasure) (Jonas Schnelli)
27df193 Always set NODE_NETWORK_LIMITED bit (Jonas Schnelli)
7caba38 Add NODE_NETWORK_LIMITED flags and min block amount constants (Jonas Schnelli)

Pull request description:

  Extracted from #10387.
  Does implement BIP159, but only the signalling part. No connections are made to NODE_NETWORK_LIMITED in this PR.

  The address relay and connection work (the more complicated part) can then be separated (probably in #10387).

Tree-SHA512: e3218eb4789a9320b0f42dc10f62d30c13c49bdef00443fbe653bee22933477adcfc1cf8f6a95269324560b5721203ed41f3c5e2dd8a98ec2791f6a9d8346b1a
2020-02-27 09:41:36 -06:00

7.3 KiB

BIPs that are implemented by Bitcoin Core (up-to-date up to v0.13.0):

  • BIP 9: The changes allowing multiple soft-forks to be deployed in parallel have been implemented since v0.12.1 (PR #7575)
  • BIP 11: Multisig outputs are standard since v0.6.0 (PR #669).
  • BIP 13: The address format for P2SH addresses has been implemented since v0.6.0 (PR #669).
  • BIP 14: The subversion string is being used as User Agent since v0.6.0 (PR #669).
  • BIP 16: The pay-to-script-hash evaluation rules have been implemented since v0.6.0, and took effect on April 1st 2012 (PR #748).
  • BIP 21: The URI format for Bitcoin payments has been implemented since v0.6.0 (PR #176).
  • BIP 22: The 'getblocktemplate' (GBT) RPC protocol for mining has been implemented since v0.7.0 (PR #936).
  • BIP 23: Some extensions to GBT have been implemented since v0.10.0rc1, including longpolling and block proposals (PR #1816).
  • BIP 30: The evaluation rules to forbid creating new transactions with the same txid as previous not-fully-spent transactions were implemented since v0.6.0, and the rule took effect on March 15th 2012 (PR #915).
  • BIP 31: The 'pong' protocol message (and the protocol version bump to 60001) has been implemented since v0.6.1 (PR #1081).
  • BIP 32: Hierarchical Deterministic Wallets has been implemented since v0.13.0 (PR #8035).
  • BIP 34: The rule that requires blocks to contain their height (number) in the coinbase input, and the introduction of version 2 blocks has been implemented since v0.7.0. The rule took effect for version 2 blocks as of block 224413 (March 5th 2013), and version 1 blocks are no longer allowed since block 227931 (March 25th 2013) (PR #1526).
  • BIP 35: The 'mempool' protocol message (and the protocol version bump to 60002) has been implemented since v0.7.0 (PR #1641).
  • BIP 37: The bloom filtering for transaction relaying, partial merkle trees for blocks, and the protocol version bump to 70001 (enabling low-bandwidth SPV clients) has been implemented since v0.8.0 (PR #1795).
  • BIP 42: The bug that would have caused the subsidy schedule to resume after block 13440000 was fixed in v0.9.2 (PR #3842).
  • BIP 61: The 'reject' protocol message (and the protocol version bump to 70002) was added in v0.9.0 (PR #3185).
  • BIP 65: The CHECKLOCKTIMEVERIFY softfork was merged in v0.12.0 (PR #6351), and backported to v0.11.2 and v0.10.4. Mempool-only CLTV was added in PR #6124.
  • BIP 66: The strict DER rules and associated version 3 blocks have been implemented since v0.10.0 (PR #5713).
  • BIP 68: Sequence locks have been implemented as of v0.12.1 (PR #7184), and have been activated since block 419328.
  • BIP 70 71 72: Payment Protocol support has been available in Bitcoin Core GUI since v0.9.0 (PR #5216).
  • BIP 90: Trigger mechanism for activation of BIPs 34, 65, and 66 has been simplified to block height checks since v0.14.0 (PR #8391).
  • BIP 111: NODE_BLOOM service bit added, and enforced for all peer versions as of v0.13.0 (PR #6579 and PR #6641).
  • BIP 112: The CHECKSEQUENCEVERIFY opcode has been implemented since v0.12.1 (PR #7524) and has been activated since block 419328.
  • BIP 113: Median time past lock-time calculations have been implemented since v0.12.1 (PR #6566) and have been activated since block 419328.
  • BIP 125: Opt-in full replace-by-fee signaling honoured in mempool and mining as of v0.12.0 (PR 6871).
  • BIP 130: direct headers announcement is negotiated with peer versions >=70012 as of v0.12.0 (PR 6494).
  • BIP 147: NULLDUMMY softfork as of v0.13.1 (PR 8636 and PR 8937).
  • BIP 152: Compact block transfer and related optimizations are used as of v0.13.0 (PR 8068).
  • BIP 159: NODE_NETWORK_LIMITED service bit [signaling only] is supported as of v0.16.0 (PR 10740).