4

I found out that SPV has no mempool, but although SPV client is participating in transaction verification. So, what happens when node verifies transaction? Is SPV client checking only owner's outgoing transactions? That depends on what you mean by "verification". SPV clients cannot and do not verify the validity of transactions themselves; they ...


3

Why would a thin node want to know information like this ? They quite possibly don't care about exactly which block the transaction was included in, but they most certainly care about knowing the transaction was included in the blockchain at all. It just so happens that there is no easy way to prove the latter without proving which block it is included in. ...


2

But the Merkle Root is not enough to prove a transaction is in a block. All the sibling-values up the Merkle Tree are needed. Where do these values come from if they aren't already stored? Any full node that has a complete copy of the block can construct a merkle proof that proves a requested transaction identifier (txid) connects to the merkle root in a ...


2

As the name suggests, it is the block hash, not the merkle root hash. It is the hash of the block header which includes the merkle root hash. To learn whether your tx is included in a block, you will need to fetch the block with that hash and then search for your transaction within that block. You can do this by using the getblock RPC after receiving the ZMQ ...


2

Bitcoin Core, in its BIP37 implementation, will compute the Merkle proofs on the fly. It does not store the blocks' Merkle trees anywhere (only its root is stored).


1

Merkle proofs are not for blocks nor is there a singular "the merkle proof." Merkle proofs are for transactions. They prove that a particular transaction is contained within a particular block. A merkle proof begins with the transaction that is being proved. Then each branch in the merkle tree that cannot be derived from the transaction is provided,...


1

TL;DR: A Merkle branch provides costly-to-fake indicator that a transaction is actually part of the blockchain. The cost of forging a Merkle branch is sufficiently high to deter some attacks on low-value transactions, but trivial to validate by the thin client. Full nodes and thin clients are distinguished by whether they independently process the whole ...


1

We have a unique merkle root for each block in Bitcoin. Next block's merkle root does not use the merkle root of the previous blocks as a proof. As a result we do not have old merkle tree hash and new merkle tree hash. Also, the way of pairwise hashing is different. If you look at Figure 2 in your link, the certificates d4 and d5 are at a higher level than ...


Only top voted, non community-wiki answers of a minimum length are eligible