Bitcoin Forum
April 25, 2024, 02:49:15 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Should I offer NODE_BLOOM?  (Read 321 times)
73blazer (OP)
Member
**
Offline Offline

Activity: 111
Merit: 17


View Profile
April 14, 2020, 01:09:25 AM
Merited by ABCbits (1), DireWolfM14 (1), Heisenberg_Hunter (1)
 #1

I've been running core for years on mainchain and testnet.

I just upgraded from 18 to 0.19.1. I noticed my inbound connections were far lower than normal. Usually was in the hundreds and was just in the 10-20 range after 15 minutes back up, and I noticed an inordinate number of peers connecting and going immediately away.
So I read NODE_BLOOM is off by default now in 0.19+ versions which is why my connection counts are down.

I never really minded it before,  I did had to set my firewall's bandwidth manager to make that traffic low priority because it would use alot of my upload bandwidth and cause other things I really need to be slow, which worked just fine for years, that's what the bandwidth manger feature in my firewall is for, let it use it when nothing else wants to, when something important comes along, choke off the bitcoin node traffic. Worked fine for years.

 I'm fairly technical generally but not really up on the technical details of bitcoin clients and code. From reading the release notes the developers kinda make out NODE_BLOOM as evil. Apparently this was accounting for a large percentage of my node's traffic, so are these evil? Are these just other peers taking more than their giving? Are clients wanting to use NODE_BLOOM doing things incorrectly and shouldn't be doing it?  Should I turn it back on? I turned it back on for testnet.

What's the general consensus on nodes who allow or don't allow NODE_BLOOM?

1714056555
Hero Member
*
Offline Offline

Posts: 1714056555

View Profile Personal Message (Offline)

Ignore
1714056555
Reply with quote  #2

1714056555
Report to moderator
1714056555
Hero Member
*
Offline Offline

Posts: 1714056555

View Profile Personal Message (Offline)

Ignore
1714056555
Reply with quote  #2

1714056555
Report to moderator
1714056555
Hero Member
*
Offline Offline

Posts: 1714056555

View Profile Personal Message (Offline)

Ignore
1714056555
Reply with quote  #2

1714056555
Report to moderator
You can see the statistics of your reports to moderators on the "Report to moderator" pages.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714056555
Hero Member
*
Offline Offline

Posts: 1714056555

View Profile Personal Message (Offline)

Ignore
1714056555
Reply with quote  #2

1714056555
Report to moderator
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4163


View Profile
April 14, 2020, 01:46:38 AM
Merited by darosior (3), ABCbits (2), Carlton Banks (1), pooya87 (1), Heisenberg_Hunter (1)
 #2

Bloom filter is a feature introduced in BIP37 which focuses on allowing SPV clients or lightclients to be able to obtain the transactions relating to their addresses without a lot of bandwidth usage. It is not an evil implementation at all but it's just that at that point in time, it was the most suitable way for lightweight clients to obtain their information.

When the reference client obtains a set of bloom filters, it would try to scour through the blockchain to find transactions relating to the address and/or UTXO and send it back to the light client. While this is not exactly resource intensive, it would be a potential attack vector for DOS attacks. To help to phase out BIP37 to pave the way for better implementations, the developers has made it an option for users to disable it to reduce their resource usage and they predict the current SPV clients can still function with the current number of nodes with bloom filter.

Peers connecting to you for bloom filters are not necessarily bad but they do not contribute to the network as any other full node would. You would still be helping SPV clients if you choose to allow peers to submit bloom filters.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
darosior
Sr. Member
****
Offline Offline

Activity: 279
Merit: 435


View Profile
April 14, 2020, 09:02:04 AM
Merited by Carlton Banks (1)
 #3

To complete the first answer, here a PoC; https://github.com/petertodd/bloom-io-attack.

Quote
What's the general consensus on nodes who allow or don't allow NODE_BLOOM?
Up to you, really. I personally run the client on my laptop with `-peerbloomfilters` for some reasons, but that's the only one.
darosior
Sr. Member
****
Offline Offline

Activity: 279
Merit: 435


View Profile
April 14, 2020, 12:26:15 PM
Last edit: April 15, 2020, 05:07:07 PM by darosior
 #4

This is a bit off-topic, but i thought bloom filter is pretty much dead because it's easy to find out actual Bitcoin address in a SPV wallet?
For some definition of "easy". edit: see https://bitcointalk.org/index.php?topic=5240259.msg54225326#msg54225326
But still the reason for their deprecation is the risk of DOS, not advising against their use because of the privacy tradeoffs.

Are there any SPV wallet which still use bloom filter nowadays?
Absolutely! The only non-centralised alternative is the very bandwidth-costly BIP157 (aka neutrino) used by Lightning Lab's mobile wallet and Wasabi.
The most used one is surely "Android Bitcoin Wallet".
73blazer (OP)
Member
**
Offline Offline

Activity: 111
Merit: 17


View Profile
April 14, 2020, 01:30:37 PM
Last edit: April 14, 2020, 01:44:19 PM by 73blazer
 #5


Are there any SPV wallet which still use bloom filter nowadays?

Source : https://eprint.iacr.org/2014/763.pdf

Apparently there are, because if I turn them on my "inbound" connections go from 20-50 to 120-200 . And over a typical days time I would serve out 30-40GB where in the last 24hrs on 0.19.1 with them off i've served 8gb.

After reading some of the responses and their material and other info about it, I think I now kinda get it. While the bip allows the client to be lite, it's heavy on the node's it's attaching to because it asks for more than it needs in an attempt to obfuscate which stuff it really wants to know about. So, taking more than it gives...to the community, in a sense. And the whole reason it asks for more is rather moot because if a node wanted to, it can figure out what ithe client is really after anyway.

Correct me if I'm wrong, but after reading some material on it, the privacy risk seems to be the clients and not mine, the risk is if I was running a node with intent to do something with that info the SPV clients expose to me.

I've just read certain things and opinions, like:
 - your not a full node unless your offering bloom filters.
 - CUtting it off is playing government it's an allowed bip and not offering it is attempting to encourage others behavior, aka, trying to tell them what to do
 - your node will be overrun with DOS attacks

stuff like that. Surely, it's up to me. Was just trying to edumacate myself to the best of my ability to decide. I appreciate the education and responses!
peleion
Newbie
*
Offline Offline

Activity: 4
Merit: 1


View Profile
April 14, 2020, 07:00:55 PM
 #6

Are there any SPV wallet which still use bloom filter nowadays?
Source : https://eprint.iacr.org/2014/763.pdf

I believe you must have bloom on your node if you use Bisq
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
April 14, 2020, 11:32:23 PM
 #7

Apparently there are, because if I turn them on my "inbound" connections go from 20-50 to 120-200 . And over a typical days time I would serve out 30-40GB where in the last 24hrs on 0.19.1 with them off i've served 8gb.
That sounds like a DOS attack, to be honest.  I usually see weeks pass without a single connection from an actual SPV client,  though there are bunch of shitty spy things that pretend to be them.  It absolutely shouldn't be making remotely that kind of difference.


uh, also, 125 is the maximum connections.

Quote
Correct me if I'm wrong, but after reading some material on it, the privacy risk seems to be the clients and not mine, the risk is if I was running a node with intent to do something with that info the SPV clients expose to me.
The only issue it exposes you to are DOS attacks and any bugs in that functionality... though bugs seem fairly unlikely at that point.  The DOS attack issues have been exploited in the wild, so for a rarely used and not very useful functionality.
73blazer (OP)
Member
**
Offline Offline

Activity: 111
Merit: 17


View Profile
April 15, 2020, 02:43:48 AM
Last edit: April 15, 2020, 03:08:26 AM by 73blazer
 #8


That sounds like a DOS attack, to be honest.  I usually see weeks pass without a single connection from an actual SPV client,  though there are bunch of shitty spy things that pretend to be them.  It absolutely shouldn't be making remotely that kind of difference.


uh, also, 125 is the maximum connections.

The only issue it exposes you to are DOS attacks and any bugs in that functionality... though bugs seem fairly unlikely at that point.  The DOS attack issues have been exploited in the wild, so for a rarely used and not very useful functionality.

I had upped the max with  -maxconnections=500 a while back. All I can say is I have the upload bandwidth to deal with it and it was managed via myfirewall as low priority so any other traffic would supersede it and choke it off. So I guess I never noticed how much it was using on a constant basis, only every time I looked it was 120+ connections inbound and serving 10's of gb/day.

I cut off mainchain with the bloom, it's now at 61 inbound after 1.5days in that mode and has served 24GB in that time Mabey all those SPV or possible DoS people were blocking out real nodes?
DoS attacks suck. But does seem like it's rather pointless in this context. I dunno, I leave it off for now. Sounds like SPV clients are on the way out anyway in favor of other lite methods, might as well show them the door. It's not Gov't, it's just my vote with my node.  Smiley Plus if I can use the bandwidth to serve other nodes thats serve the community, that's a better use of the bandwidth IMHO.
pooya87
Legendary
*
Offline Offline

Activity: 3430
Merit: 10499



View Profile
April 15, 2020, 03:18:39 AM
 #9

Sounds like SPV clients are on the way out anyway in favor of other lite methods, might as well show them the door.

if that's true then SPV clients are on a dark path. using methods such as what Electrum protocol provides is cool and convenient but it has a very big flaw: it lacks privacy. and that's something bloom filters could improve.
i feel like this is another feature that was (partially) removed from core just because it has flaws, instead of being improved.

Are there any SPV wallet which still use bloom filter nowadays?

i believe Breadwallet, mSIGNA and BISQ and a couple of others are relying on bloom filters.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4163


View Profile
April 15, 2020, 05:07:44 AM
 #10

if that's true then SPV clients are on a dark path. using methods such as what Electrum protocol provides is cool and convenient but it has a very big flaw: it lacks privacy. and that's something bloom filters could improve.
i feel like this is another feature that was (partially) removed from core just because it has flaws, instead of being improved.
IIRC, there were some noise about how deprecation of bloom filter could be detrimental to the SPV wallets. I concur with their statement that given the current node distribution, there should still be sufficient nodes available for SPV client for now. I believe that bloom filter have some fundamental privacy issues that can't exactly be solved. Efforts has been made to introduce new standards such as BIP157 and 158. I think it's still a good direction in forcing SPV wallets to be receptive in changing out bloom filter for something better.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
April 15, 2020, 08:49:02 AM
Last edit: April 15, 2020, 09:47:33 AM by gmaxwell
Merited by ABCbits (1)
 #11

if that's true then SPV clients are on a dark path. using methods such as what Electrum protocol provides is cool and convenient but it has a very big flaw: it lacks privacy. and that's something bloom filters could improve.
BIP37 has zero privacy.  https://en.bitcoin.it/wiki/BIP37_privacy_problems   Electrum also has extremely poor privacy but at least its upfront about that and actually works well, the BIP37 approach is pretty much the worst of all worlds-- it takes forever to scan the chain plus it identifies and links your addresses and it makes nodes DOS attack vulnerable in the process.
Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3071



View Profile
April 15, 2020, 01:11:07 PM
Merited by ABCbits (1)
 #12

One last question, when we're talking about NODE_BLOOM service, are we talking only services for SPV client which use BIP 37 or including SPV client which use BIP 157 (and BIP 158 as well)?

I think no, that would mean that enabling the NODE_BLOOM service bit on a given node would subject that node to the BIP 37 DOS risk even if the operator only wished to serve BIP 157 filters to SPV clients (and BIP 157 filters are not bloom filters anyway)

Vires in numeris
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!