mirror of
https://github.com/bitcoin/bips.git
synced 2024-11-19 01:40:05 +01:00
bip-111 convert formatting to mediawiki
This commit is contained in:
parent
b1d5a37f58
commit
94db3f90c3
@ -1,11 +1,13 @@
|
||||
BIP: 111
|
||||
Title: NODE_BLOOM service bit
|
||||
Author: Matt Corallo <bip@bluematt.me>, Peter Todd <pete@petertodd.org>
|
||||
Type: Standards Track (draft)
|
||||
Created: 20-08-2015
|
||||
<pre>
|
||||
BIP: 111
|
||||
Title: NODE_BLOOM service bit
|
||||
Author: Matt Corallo <bip@bluematt.me>, Peter Todd <pete@petertodd.org>
|
||||
Status: Draft
|
||||
Type: Standards Track
|
||||
Created: 2015-08-20
|
||||
</pre>
|
||||
|
||||
Abstract
|
||||
========
|
||||
== Abstract ==
|
||||
|
||||
This BIP extends BIP 37, Connection Bloom filtering, by defining a
|
||||
service bit to allow peers to advertise that they support bloom filters
|
||||
@ -14,24 +16,24 @@ identify old nodes which allow bloom filtering of the connection despite
|
||||
lacking the new service bit.
|
||||
|
||||
|
||||
Motivation
|
||||
==========
|
||||
== Motivation ==
|
||||
|
||||
BIP 37 did not specify a service bit for the bloom filter service, thus
|
||||
implicitly assuming that all nodes that serve peers data support it.
|
||||
However, the connection filtering algorithm proposed in BIP 37, and
|
||||
implemented in several clients today, has been shown to provide little
|
||||
to no privacy[1], as well as being a large DoS risk on some nodes[2].
|
||||
to no privacy<ref>http://eprint.iacr.org/2014/763</ref>, as well as being a large DoS risk on some nodes<ref>[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2013-July/003044.html] is one example where the issues were found, though others independently discovered issues as well. Sample DoS exploit code available at https://github.com/petertodd/bloom-io-attack.</ref>.
|
||||
Thus, allowing node operators to disable connection bloom filtering is a
|
||||
much-needed feature.
|
||||
|
||||
|
||||
Specification
|
||||
=============
|
||||
== Specification ==
|
||||
|
||||
The following protocol bit is added:
|
||||
|
||||
<pre>
|
||||
NODE_BLOOM = (1 << 2)
|
||||
</pre>
|
||||
|
||||
Nodes which support bloom filters should set that protocol bit.
|
||||
Otherwise it should remain unset. In addition the protocol version is
|
||||
@ -57,8 +59,7 @@ services required; current implementations simply check only that
|
||||
NODE_NETWORK is set.
|
||||
|
||||
|
||||
Design rational
|
||||
===============
|
||||
== Design rational ==
|
||||
|
||||
A service bit was chosen as applying a bloom filter is a service.
|
||||
|
||||
@ -70,23 +71,15 @@ sufficient NODE_BLOOM nodes available and SPV clients have upgraded,
|
||||
allowing node operators to fully close the bloom-related DoS vectors.
|
||||
|
||||
|
||||
Reference Implementation
|
||||
========================
|
||||
== Reference Implementation ==
|
||||
|
||||
https://github.com/bitcoin/bitcoin/pull/6579
|
||||
|
||||
|
||||
Copyright
|
||||
=========
|
||||
== Copyright ==
|
||||
|
||||
This document is placed in the public domain.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
[1] http://eprint.iacr.org/2014/763
|
||||
[2] http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2013-July/003044.html
|
||||
is one example where the issues were found, though others
|
||||
independently discovered issues as well. Sample DoS exploit code
|
||||
available at https://github.com/petertodd/bloom-io-attack.
|
||||
== References ==
|
||||
<references>
|
||||
|
Loading…
Reference in New Issue
Block a user