Questions tagged [spv]

refers to Simplified Payment Verification, a scheme by which thin clients can check whether the network trusts a transaction.

Filter by
Sorted by
Tagged with
2 votes
1 answer
104 views

Legitimate merkle paths for SPV

How does a light client via SPV make sure that the requested merkle path is not fake? I know that the client has its own copy of the block headers, so it can trust the merkle root from there. It then ...
ieggel's user avatar
  • 123
2 votes
2 answers
261 views

Missing transactions from full node

I am running a full node (bitcoin-core) that connects to the peers network. I am also running and SPV node with a wallet (bcoin). I have made 2 different send transaction from the SPV wallet with very ...
stopiky's user avatar
  • 21
1 vote
2 answers
50 views

Why would I prefer a full client over a light client that depends on a centralized server?

There are Bitcoin wallets like "Sparrow" which use a central service for maintaining the Blockchain, so I don't have to download 400GB to start using Bitcoin. Now, why should I use Bitcoin ...
user avatar
1 vote
1 answer
132 views

Running Bitcoin SPV Node

How can I run a Bitcoin SPV node? Am I able to run SPV nodes with Bitcoin core? If so, can I use JSON-RPC by sending requests to full nodes? I couldn't find a good way to retrieve transaction data ...
xor's user avatar
  • 87
1 vote
0 answers
21 views

Speed of Merkle Root proofs in SPV

Is it really more efficient to use the Merkle Root proofs system to verify that a transaction is included in a block for SPV clients compared to Download the block and check if the transaction is ...
SadPepo's user avatar
  • 71
0 votes
1 answer
64 views

What are the detailed rules for Merkle tree generation? Specifically the order of the leaf nodes

As far as I know, the first one is the coinbase transaction
KHJUAF403456ZS3K564WAEF's user avatar
1 vote
1 answer
449 views

How to run Bitcoin-Qt over RPC to another machine

I have a full node running bitcoind on computer A. On computer B I have bitcoin-cli setup to connect to computer A over RPC. Computer A is a headless machine. I don't want to re-download the chain ...
Brandon's user avatar
  • 160
1 vote
1 answer
134 views

What guarantees the validity of merkle root used in the merkle inclusion proof?

I understand Merkle roots can be used for Merkle inclusion proofs, where a client/validator can quickly check if a transaction is part of the block without requesting all the transactions in the block....
Finlay Weber's user avatar
0 votes
1 answer
131 views

How to use SPV to validate transactions NOT (yet) on the blockchain?

The SPV system (as described in the Bitcoin whitepaper) allows: "It is possible to verify payments without running a full network node." You only need the headers for the entire valid ...
davidbak's user avatar
  • 261
0 votes
2 answers
102 views

Why bitcoins storing on a smartphone are considered vulnerable?

Let's suppose, someone stores all their bitcoins in an Android or iOS wallet. he/she never stores a seed on the phone he/she uses different addresses for change wallet and gadget are password ...
user avatar
4 votes
1 answer
263 views

SPV wallet connecting to personal bitcoin node

I have decided I want to run a bitcoin node both to support the network, learn more about how it works and also so I can participate while minimising trust in external parties. I have a bitcoin core ...
Grub's user avatar
  • 141
1 vote
1 answer
161 views

Best Practice for Using Btc

I have recently learned about best practice for storing private keys with hardware wallets. I understand the necessary information including backups from seed phrases, the concept of cold storage, ...
Prince M's user avatar
  • 340
1 vote
1 answer
92 views

How is BIP 158 wallet rescanning supposed to work with xpub keys?

A light client implementing BIP158 downloads filters and checks its addresses against that filter. If one matches, it downloads the block. Now, let's say we have an HD wallet (BIP32), and/or an xpub ...
cloudhead's user avatar
  • 189
1 vote
1 answer
384 views

Why binary trees? Is there any particular benefit to using binary trees instead of some higher radix?

Bitcoin stores transactions in binary Merkle trees. They take O(log2 n) to traverse. If I used something like a ternary tree, where each node (including the root) references three branches/leaves ...
Expectator's user avatar
1 vote
2 answers
85 views

Why does a thin node need to know if a transaction is present in specific block's merkle tree?

I understand what a merkle root is and how merkle proofs work. It's all about thin nodes checking whether a specific transaction ID is in a specific block. So, thin node says: I have a transaction ID -...
Nika Kurashvili's user avatar
1 vote
1 answer
258 views

SPV client TCP connection in python

I am trying to implement an SPV client in python (for my own learning). I want to start by making a simple TCP connection to a full node, but I either cannot get a response to my version message, or ...
anne1234's user avatar
0 votes
1 answer
851 views

ElectrumX server as a Tor hidden service

I am trying to run an ElectrumX server on my PC. I run it on a docker container with the following Dockerfile configuration: FROM python:3.7-alpine3.11 LABEL maintainer="Luke Childs <...
Taghi's user avatar
  • 11
1 vote
1 answer
212 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
  • 459
1 vote
1 answer
67 views

How Does the SPV merkle path form of multiple transactions in Merkle block looks like?

While I'm studying about the Bitcoin, I've wondered how many merkle paths should be contained in merkle block. From the point of view of Merkle path, it is generated as the form of containing hashes ...
Ilak's user avatar
  • 11
1 vote
1 answer
43 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
0 votes
0 answers
80 views

Can I get all block header data like the SPV node?

It hasn't been long since I studied Blockchain. I only need header data, not all block data, for study purposes. As far as I know, the SPV node stores only the block's header information. Can i get ...
seonguk park's user avatar
2 votes
1 answer
332 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
1 answer
611 views

How to getheaders from blockchain?

I have run a full node on linux now I can run commands with bitcoin-cli like: bitcoin-cli getbestblockhash it returns: 0000000000344240308f54ded700542571b3df9efe05fab92e669099e20e0d92 or bitcoin-...
Hamid Naghipour's user avatar
2 votes
1 answer
2k views

Step by step to make a SPV bitcoin node

As I know, there is a light node version called SPV. for now I have started a full node and it has downloaded 82222 blocks, but I don't want to have a full node with full blockchain, my purpose is to ...
Hamid Naghipour's user avatar
4 votes
1 answer
93 views

Is the contest period really necessary for cross-chain transactions in 2-way-peg sidechains?

According to the first sidechain article (Link), the cross chain transaction process can be briefly describe as follows: Alice has a wallet on sidechain S1. She wants to send some coins to sidechain ...
Cong's user avatar
  • 41
1 vote
2 answers
199 views

How do people using thin clients know the correct merkle path of transactions they've sent without knowing the full block?

User A send a transaction to user B. Those transactions are bundled together into a merkle tree. User A and B can both use the transaction plus the merkle root, plus the merkle path to prove the ...
Matthew Czarnek's user avatar
2 votes
1 answer
494 views

RSA accumulator vs Merkle Proofs

For proof of inclusion (used by SPV nodes) Bitcoin relies on Merkle proofs. Why Merkle trees were chosen and not RSA accumulators, as they can be used to provide a shorter proof? What are the ...
whomaniac's user avatar
  • 135
1 vote
2 answers
64 views

Passing incomplete information to an SPV node

I am wondering how SPV handles the following scenario: A transaction has been confirmed by some block X, and funds address y. At some later block, the transaction's output are spent again SPV node ...
whomaniac's user avatar
  • 135
3 votes
2 answers
4k views

Does every node have a whole copy of the blockchain?

As I read in this blog article, in a blockchain "each node has a copy of all transactions ever made". This to me seems impossible, bitcoin has existed for a long time, and the memory size of ...
AleWolf's user avatar
  • 133
1 vote
0 answers
81 views

Unused Output Tree in the Blockchain

I have been reading about the security of thin clients and I came across the section that discusses the proposal of Unused Output Tree in the Block chain. Unused Output Tree in the Block chain (UOT)...
user3299116's user avatar
0 votes
0 answers
35 views

Bloom Filter Response Processing In terms of Full-node

A SPV node have to work somethings to see whether his transaction is exist or not. Construct his filter with hash of transactions {his transactions, other1, other2, ..., otherN} filterload is filled ...
Hyunsoo's user avatar
  • 363
2 votes
2 answers
295 views

How can I run a light (SPV) node on Linux?

I tried to sync the blockchain and, though I have ample free disk space (>500 GB on my computer, the chain is ~265) I've been having a hard time. So, how can I use an SPV node to send transactions and/...
Number File's user avatar
1 vote
0 answers
43 views

Bitcoin SPV not able to fetch transactions [closed]

I am developing a Bitcoin wallet SPV and using 3rd party SDK for the same. However, I tried to create wallet and it gets successfully created and I can also restore those wallets but amount and ...
Paresh Thakor's user avatar
0 votes
0 answers
130 views

How do lightweight nodes and SPV wallets calculate balances?

Can they do it? Or they "talk" to a full node for that purpose and are used only for mining purposes? Thanks in advance for your answers.
evannemo's user avatar
1 vote
1 answer
41 views

Why a specific bitcoin value of a tx message appears in source IP address and then comes to same IP address as the destination address?

Sometime back, I created two wallets on two distinct cellphones. I sent a specific bitcoin value (A bitcoin) from one cellphone to another one. During this process, I captured the entire traffic. ...
Saeed's user avatar
  • 125
1 vote
1 answer
304 views

Curl bitcoin protocol for learning?

I'm trying to understand bitcoin RPC Peer to Peer protocol to implement SPV on a web-application that should receive crypto payments. The problem is that on the examples I found, examples are about ...
eloyesp's user avatar
  • 202
7 votes
1 answer
448 views

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 ...
johnsmiththelird's user avatar
12 votes
1 answer
1k views

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's user avatar
  • 1,060
0 votes
0 answers
107 views

Do SPV nodes sync "headers-first"?

Headers-first sync is defined somewhat by BIP 130 and expanded upon with compact block relay in BIP 152. I believe this is the commit in which it was added to Bitcoin Core. The result is that Bitcoin ...
pinhead's user avatar
  • 4,992
-1 votes
1 answer
1k views

How to setup a testnet full node on Windows 10?

I'm trying to implement an SPV and I'd like to test it on a testnet full node but can't really understand how to do it from what I've found.
Omaewamushindeiru's user avatar
1 vote
1 answer
328 views

Lightning node on a Bitcoin SPV

is there a way to run a Lightning node on a Bitcoin SPV node at the moment? I've read that both lnd and c-lightning need a Bitcoin Fullnode at this time. This might seem ignorant but i don't want to ...
xDreamCoding's user avatar
2 votes
1 answer
239 views

How do I connect my `bcoin` wallet to `bitcoind`?

I have bitcoind running in regtest mode. I want to connect my bcoin wallet to it and retrieve all UTXOs relevant to the sender's address. How can I do that?
Deb's user avatar
  • 123
0 votes
1 answer
173 views

How to create an application which constructs a transaction using `bcoin` (javascript)?

I am new to development. I am working on a project and I am trying to use bcoin. I want to create an application which has a UI, where the user will be asked to enter Destination address and amount. ...
Deb's user avatar
  • 123
2 votes
0 answers
59 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,501
0 votes
1 answer
120 views

How does an SPV client forms a transaction which is then Broadcasted?

As per my understanding, an SPV client only keeps a track of the block headers in its own database. So when a user tries to send bitcoins using that particular SPV client, how is the transaction ...
Deb's user avatar
  • 123
0 votes
2 answers
130 views

How could a lightweight wallet determine the validity of 0-conf transaction?

I found that a lot of people are interested about security of 0-confirmation payments. But, it seems that most discussions focused on double-spending (like broadcasting two or more conflicting-but-...
Chris Chen's user avatar
2 votes
1 answer
180 views

Is the idea of fraud proofs possible in reality?

I once read this on Twitter, which is said by Luke Dashjr, a Core dev: The original design was to have full nodes create proofs of invalid blocks, to alert SPV nodes to them. SPV nodes would then ...
Chris Chen's user avatar
2 votes
1 answer
310 views

Could bitcoind support SPV mode by setting different args

There are multi nodes type could be used in bitcoin network. Could bitcoind support running different types of nodes by different sets of args? I found many discussion here, but seems no clear ...
Carpemer's user avatar
  • 301
0 votes
1 answer
88 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
0 votes
1 answer
245 views

SPV clients querying the full node

Is there a way currently where an SPV client can send a TxID to a full node which is present in the UTXO set of the full node and have the full node not scan its entire blockchain to fetch the ...
archita's user avatar
  • 13