mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
d804a753af
* Merge #13134: net: Add option `-enablebip61` to configure sending of BIP61 notifications 87fe292d897e09e176ac7e254144466c319cc9ac doc: Mention disabling BIP61 in bips.md (Wladimir J. van der Laan) fe16dd8226d924f44432c5b5014aa49ff45c82ff net: Add option `-enablebip61` to configure sending of BIP61 notifications (Wladimir J. van der Laan) Pull request description: This commit adds a boolean option `-peersendreject`, defaulting to `1`, that can be used to disable the sending of [BIP61](https://github.com/bitcoin/bips/blob/master/bip-0061.mediawiki) `reject` messages. This functionality has been requested for various reasons: - security (DoS): reject messages can reveal internal state that can be used to target certain resources such as the mempool more easily. - bandwidth: a typical node sends lots of reject messages; this counts against upstream bandwidth. Also the reject messages tend to be larger than the message that was rejected. On the other hand, reject messages can be useful while developing client software (I found them indispensable while creating bitcoin-submittx), as well as for our own test cases, so whatever the default becomes on the long run, IMO the functionality should be retained as option. But that's a discussion for later, for now it's simply a node operator decision. Also adds a RPC test that checks the functionality. Tree-SHA512: 9488cc53e13cd8e5c6f8eb472a44309572673405c1d1438c3488f627fae622c95e2198bde5ed7d29e56b948e2918bf1920239e9f865889f4c37c097c37a4d7a9 * 0.17 -> 0.16 Signed-off-by: Pasta <pasta@dashboost.org> * tx1 -> base_ tx fixing 13134 Signed-off-by: Pasta <pasta@dashboost.org> * move added bip61 message checking up Signed-off-by: Pasta <pasta@dashboost.org> * Dash specific code, only send reject messages if bip61 is enabled Signed-off-by: Pasta <pasta@dashboost.org> * Fix invalidtxrequest.py Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
7.4 KiB
7.4 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). Starting v0.16.0, whether to send reject messages can be configured with the-enablebip61
option.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).