refers to Simplified Payment Verification, a scheme by which thin clients can check whether the network trusts a transaction.
Questions tagged [spv]
120 questions
74
votes
2 answers
What is an SPV client?
I've seen SPV client mentioned in several places.
What exactly is a SPV client? How is it different from a standard client?
kirian
- 3,279
- 1
- 24
- 36
21
votes
1 answer
Have any SPV users lost money because they accepted forged bitcoins?
I'm making a list of real-life examples of occasions where bitcoins were lost to various known attacks. One of these known attacks is that lightweight (SPV) wallets can't verify whether a transaction only spends UTXOs (a requirement full nodes…
David A. Harding
- 11,626
- 2
- 44
- 71
19
votes
5 answers
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 Bitcoin address X.
User A can do getheaders and…
Jonas Schnelli
- 5,992
- 1
- 20
- 33
12
votes
1 answer
What's the distinction between BIP 157 and BIP 158? Are they supported by Bitcoin Core?
BIP 157 and BIP 158 are both concerned with Compact Block filters. What is the distinction between them, and which of them does Bitcoin Core currently support?
jnewbery
- 1,050
- 5
- 22
11
votes
1 answer
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 interested in, into a BF and sends it to full node. What I…
4xx
- 111
- 1
- 3
10
votes
2 answers
Is there a light (SPV) version of bitcoin core (bitcoind)?
I'm trying to develop an SPV Bitcoin client which makes use of a library requiring bitcoin core (a running bitcoind service).
However, from what I understand, Bitcoin Core is full node, meaning that it stores the whole blockchain.
My question is:…
FedFranz
- 642
- 5
- 16
9
votes
1 answer
What are the main technical hurdles to implementing UTXO commitments?
Commits of the UTXO set in the block header would enable more secure lightweight clients and caps on the number of blocks that need to be downloaded and validated in the Initial Blockchain Download, which is vitally important for Bitcoin's longevity…
Amin
- 1,482
- 11
- 19
8
votes
2 answers
How does a node find a transaction in the blockchain?
If a (light) SPV client asks a full node for the Merkle branch containing a specific transaction (or the value of an address), how does the full node find this transaction (or the UTXOs) in the blockchain?
Does the full node scan linearly through…
Pold
- 183
- 4
7
votes
1 answer
Could Neutrino technically as side-effect, incentivize centralization of the bitcoin network?
TWO questions on Neutrino::
1) Could Neutrino technically as side-effect, incentivize centralization of the bitcoin network? Or other formulation: ...hinder higher degree of decentralization?
Why I am asking: This article by Dorier pointed me to…
johnsmiththelird
- 837
- 1
- 6
- 12
7
votes
1 answer
Is the SPV client model scalable?
SPV clients typically connect to full node peers and set filters on what information they download. How many SPV peers can a single full node support, typically?
Is it reasonable to expect millions of SPV node users connecting to ~6,000 full nodes?
morsecoder
- 14,008
- 2
- 42
- 92
7
votes
2 answers
How does an SPV node verify an unconfirmed transaction?
Alice pays Bob 1 BTC with a simple pay-to-address type transaction. Three seconds after Alice broadcasts her transaction, Bob's Simplified Payment Verification (SPV) wallet displays a message saying the transaction was received.
How exactly does…
Rich Apodaca
- 2,311
- 2
- 14
- 34
7
votes
2 answers
Is Electrum's SPV (thin-client) implementation not P2P (as opposed to Multibit's)?
As far as I know, when I use Electrum I'm just choosing servers to trust that hold the blockchain.
But in this recently published article I read this about Multibit:
It uses a slightly weaker trust model than Bitcoin-Qt. In SPV mode, with clients…
knocte
- 1,764
- 1
- 17
- 32
6
votes
1 answer
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 peer from "know[ing] which transactions belong to…
Brother Bitcoin
- 135
- 1
- 6
6
votes
2 answers
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 many false-positives will also be returned to the…
lxgr
- 281
- 1
- 4
6
votes
2 answers
How to create a SPV client?
What are the steps a SPV client takes in order to sync?
Connect to a peer
Set bloom filter for wallet addresses
Download all block-headers since latest checkpoint
Request every block again with filters set
Update wallet balance based on returned…
Maestro
- 1,967
- 1
- 18
- 29