Questions tagged [spv]
refers to Simplified Payment Verification, a scheme by which thin clients can check whether the network trusts a transaction.
121
questions
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 ...
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 ...
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 ...
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 ...
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 ...
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
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 ...
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....
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 -...
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 ...
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 <...
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 ...
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 ...
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 ...
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 ...
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 ...
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-...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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)...
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 ...
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/...
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 ...
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.
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.
...
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 ...
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 ...
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?
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 ...
-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.
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 ...
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?
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. ...
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 ...
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 ...
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-...
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 ...
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 ...
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 ...
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 ...