Skip to main content

Questions tagged [bip37-bloom-filter]

Bitcoin SPV nodes can lower their bandwidth requirements by setting a Bloom filter on each P2P connection they have with other Bitcoin nodes. For instance, an SPV node can set a filter so that it only receives transactions which send coins to its wallet.

Filter by
Sorted by
Tagged with
0 votes
2 answers
617 views

How long does it take for Multibit to synchronize an old wallet?

I'm trying to restore my old wallet which I had created on Multibit around 2016 and held a fraction of a bitcoin, as far as I can remember. I have not touched the wallet for years until today when I ...
blnks's user avatar
  • 101
2 votes
1 answer
56 views

Size of seed used in murmur3 hash BIP0037

I'm trying to implement a seeded murmur3 hash using the bip37 standard for use in bloom filters. In hash.cpp in bitcoin core, the seed is an unsigned int value. However my understanding of bip37 to ...
Chiru's user avatar
  • 171
1 vote
1 answer
230 views

How do SPV clients acquire transactions from other nodes and verify that they are part of the blockchain?

I explored SPV clients as a subject from a lot of different resources, but there are a few of things that are keeping me confused: I found out that SPV clients have no mempool even though SPV clients ...
ddavi031's user avatar
  • 479
1 vote
1 answer
46 views

Provide Services to many Lightweigh Nodes (SPVs) and Save The Communication History

I am investigating on privacy violations of the current communication protocol between lightweight clients and full nodes in the Bitcoin network, which utilizes Bloom filters. I run a full node on my ...
Taghi's user avatar
  • 11
2 votes
1 answer
362 views

How to fetch all UTXO from a SPV wallet using bitcoin-filter.js (or other lib)?

I am using bitcoinjs-lib to create private key (WIF), addresses and sign the transactions. I would like to fetch all transactions (UTXOs) associated with a wallet. I found these libs: bitcoin-filter ...
le0's user avatar
  • 187
2 votes
0 answers
60 views

Why should SPV nodes operate on the P2P network?

I understand there are advantages for the SPV client to acquire header-chain and subsequent inclusion proofs over the p2p network: Peer discovery P2P node interface is public Reuse of P2P messaging ...
James C.'s user avatar
  • 2,521
0 votes
1 answer
95 views

Arbitrary access to already confirmed transactions

This link mentions that "[getdata] can be used to retrieve transactions, but only if they are in the memory pool or relay set - arbitrary access to transactions in the chain is not allowed..." But ...
archita's user avatar
  • 13
1 vote
1 answer
647 views

How exactly does SPV work?

Here is what I have so far: A mobile connects to a node using rpc. The mobile then asks the node, to give him a set of transactions for a set of public keys. The node, then looks for any ...
Kyle Graham's user avatar
1 vote
1 answer
128 views

How could the Bitcoin protocol be modified so that pruned nodes could still participate in BIP 37 SPV?

According to Jameson Lopp (https://www.coindesk.com/spv-support-billion-bitcoin-users-sizing-scaling-claim/), allowing pruned nodes to advertise that they support BIP 37 would be impossible without "...
Ian MathWiz's user avatar
0 votes
1 answer
139 views

Bitcoin full clients checks all the blockchain every time they receive bloom filter?

I assume that an spv client like bitcoinJ requested transactions related to the client one week before and the client has been offline for a week. When the spv client come online, does it just request ...
yahoge's user avatar
  • 3
0 votes
1 answer
285 views

Is there an alternative to Bloom filters?

There have been a few papers, online publications and discussion about the negative effects of bloom filters on privacy. What are the alternative to using bloom filters? (bonus question: Are there ...
Penquin's user avatar
  • 671
0 votes
1 answer
525 views

What indexes does a Bitcoin Core node maintain to serve Bloom-filtered requests and SPV peers?

The Wiki makes this statement: It [getdata message] can be used to retrieve transactions, but only if they are in the memory pool or relay set - arbitrary access to transactions in the chain is not ...
Rich Apodaca's user avatar
  • 2,431
4 votes
2 answers
799 views

Does an SPV bloom filter get applied to full blockchain or just new transactions [duplicate]

When an SPV client starts up with no state, connects to a full node and sets a bloom filter what messages will it receive? Will it only get new transactions that match its filter or is there some way ...
sipsorcery's user avatar
11 votes
1 answer
3k views

The use of Bloom filter in SPV nodes

I know what Bloom Filter (BF) is, and I'm aware of this post and this paper. But I don't understand how it's used in bitcoin. I can imagine that an SPV node encodes the transaction(s) it's ...
4xx's user avatar
  • 111
4 votes
1 answer
306 views

70% of nodes accept Bloom filters, despite DoS attack vector?

Could someone explain why so many Bitcoin nodes allow Bloom filtering given that DoS attacks exist [1], [2] for such nodes? According to bitnodes.21.co, right now 3879 nodes out of the total of 5515 ...
Alin Tomescu's user avatar
  • 1,337
1 vote
1 answer
274 views

BIP 37 automatic filter update not inserting outputs

I'm having a problem with bloom filters when using the getdata message. As I understand BIP 37, setting the bloom filter on a connection using the loadfilter message with flag ...
F. Madsen's user avatar
2 votes
1 answer
98 views

How does the Bitcoin block propagation process recover when false positive happens?

I have read articles about how Invertible Bloom Filters (IBLT) work and I have some basic knowledge how Bitcoin works for block propagation using IBLT. But since IBLT would introduce false positive, ...
user avatar
5 votes
2 answers
535 views

SPV Bloom filter construction, are false positives taken from the blockchain or just due to matching with other addresses

It is my understanding that the false positive addresses generated by an SPV bloom filter do not need to necessarily be on the blockchain (ie. be addresses that have been used already). Is that a ...
Albert S's user avatar
  • 1,640
1 vote
1 answer
94 views

How does a filterload client that recieves an incoming transaction retrieve the transaction it's spending?

Suppose that your SPV client receives an incoming transaction. How can it tell whether it spends a real outpoint? If you knew the block, you could add the txid to filterload and request the block ...
Nick ODell's user avatar
  • 29.4k
-1 votes
1 answer
462 views

Can bloom filter be used to filter UTXO?

I am thinking about building an spv-like wallet using trusted nodes. It does not download blockchain. Instead, the wallet gets its utxo, transactions,balance data from abe. My question is, can the ...
Jerry's user avatar
  • 11
4 votes
2 answers
504 views

Are public keys and their corresponding hash values both added to a BitcoinJ Bloom filter?

The paper, On the Privacy Provisions of Bloom Filters in Lightweight Bitcoin Clients has this to say about Bloom filters in SPV: ...Indeed, in current implementations of SPV clients [BitcoinJ], ...
Rich Apodaca's user avatar
  • 2,431
5 votes
1 answer
481 views

Is there a way to index transactions so that filterload commands can be answered without iterating through all transactions in a block?

Some SPV clients use the filterload command to only receive transactions to involving addresses in their wallet. Doing this takes the remote node linear time (with respect to the number of ...
Nick ODell's user avatar
  • 29.4k
1 vote
1 answer
445 views

How do SPV get their transactions after being offline?

SPV nodes rely on their peers to send them transaction data that is relevant to them. When an SPV node sets up a bloom filter with one of their full node peers, doesn't that only tell the full node ...
morsecoder's user avatar
  • 14.2k
5 votes
1 answer
916 views

BIP32 wallet sync with Bloom filters

I'm working on my SPV library and I still have a hard time figuring how to approach the BIP32 + Bloom filters combination. Here's how I currently sync an existing HD wallet (after fast catch-up): ...
keeshux's user avatar
  • 386
6 votes
1 answer
794 views

Do thin clients leak which addresses you own?

According to this, thin clients use bloom filters to request "addresses and transactions they are interested in to the peer". And according to this, bloom filters are used to help prevent the SPV ...
Brother Bitcoin's user avatar
6 votes
2 answers
336 views

Do bloom filters protect against a persistent eavesdropper?

As far as I understand it, bloom filters can be defined with some target hashes and false-positive rate. When filtering the blockchain, all of the target transactions are guaranteed to be found, but ...
lxgr's user avatar
  • 281
19 votes
5 answers
11k views

How do SPV (simple payment verification) wallets learn about incoming transactions?

I try to understand a SPV implementation. I read the wiki pages on Protocol Specification and Thin Client Security as well as the white-paper's chapter 8 . What I don't understand: Assume user A has ...
Jonas Schnelli's user avatar
4 votes
2 answers
4k views

How do I switch from Bitcoin-QT to a lighter, faster (SPV) Bitcoin client?

So, keeping up to date with the blockchain is getting ridiculous in Bitcoin-QT, especially on my laptop. If I leave it off or away from the internet for even a short period of time, it takes forever ...
eMansipater's user avatar
  • 14.5k
14 votes
2 answers
351 views

What are the privacy implications of filtered blockchain downloads?

There is now "Bloom filter" support in the network protocol for sending only relevant transactions to lightweight clients. What are the privacy implications of the bloom filter? Does it leak any ...
Thilo's user avatar
  • 4,759
11 votes
1 answer
725 views

Does the official Bitcoin version 0.8. client still download the whole blockchain?

The release notes for version 0.8 of the "Satoshi" client say "Bloom filter" support in the network protocol for sending only relevant transactions to lightweight clients. Is this an optional ...
Thilo's user avatar
  • 4,759