Questions tagged [merkle-tree]
A hash-tree used to allow efficient and secure verification of contents of large data structures. Merkle-Trees are employed in Bitcoin to prove existence of transactions in a block.
174
questions
0
votes
2
answers
79
views
What is TXID?Is it used to calculate merkleroot [duplicate]
I downloaded the block template where each transaction contains 'data', 'txid', 'hash'. I read in some articles that the Merkelroot is calculated using 'txid'. Is true? Why txid not hash, and what's ...
0
votes
1
answer
59
views
How to calculate Merkle Root? Need to reverse?
I downloaded the necessary information and made the coinbase. Then I calculated the merkle root... But I always get an error message when I submit a block: "bad-txnmerkleroot". Tere is my ...
3
votes
1
answer
145
views
Are all transactions, whether SegWit or non-SegWit, part of the commitment in a coinbase transaction?
A merkle root in a block header is a way to commit all transactions in that block. However, since it does not cover transaction witness data, another commitment needs to be made in a coinbase ...
0
votes
1
answer
71
views
What am I doing wrong in calculating Merkle root of the block with only 2 transactions (block #99997)?
I want to learn how to calculate the Merkle root so I started from a simple example, a block with only 2 transactions (block #99997). However, I ran into a problem.
Mempool online block explorer says ...
2
votes
1
answer
129
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 ...
1
vote
1
answer
86
views
Understanding Bitcoin - Usage of Merkle Trees
I'm currently learning about the Bitcoin blockchain.
I've come across the concept of Merkle trees in the context of Bitcoin. I understand that Merkle trees are used to verify the integrity of the data,...
3
votes
3
answers
639
views
What are MATT opcodes?
There is plenty of discussion in the Bitcoin-dev mailing list about MATT opcodes, and I would like to know what these are.
0
votes
1
answer
88
views
Who's exploiting Merkle Root?
What kind of software is going to use a merkle root to know if a transaction is in a block ? I know Thin nodes are doing this but this is a little bit useless since major branches are required.
Why ...
0
votes
0
answers
51
views
Bulletproofs vs Merkle paths for inclusion proofs
In this blog post, Andrew Poelstra comments that bulletproofs can be used for efficient merkle inclusion proofs.
How would these proofs compare in size and verifying time to simple merkle paths? Take ...
0
votes
0
answers
62
views
How do I retrieve address balances to build a Merkle sum tree?
Curious about building my own proof of solvency program. I understand how the Merkle sum tree works in theory but I am having issues understanding the practical ways of getting the information I need.
...
2
votes
1
answer
56
views
Are pool provided merkle branches trustable?
I'm a beginner is this field. Can someone explain to me how mining pool provided merkle branches are valid?
Normally, when we make the root, it starts from top to bottom, a single change in order can ...
1
vote
2
answers
159
views
How is the merkle root verified if the mempools may be different?
How is the merkle root verified if the mempools are different? I already understand how its calculated. If a node has a mempool of transactions, and a miner has only some of those transactions and ...
1
vote
0
answers
22
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 ...
1
vote
1
answer
96
views
Merkle root for Taproot key path spending?
I'm referring to a page of Taproot test vectors provided in BIP 341.
In the section called keyPathSpending and then inputSpending under that, there are 7 JSON objects that provide parameters to test ...
0
votes
1
answer
32
views
How do Bitcoin miners/nodes access previous transactions?
I started reading about how bitcoin transactions are processed and I came across the Merkle Tree. I learned that one of its purposes is to prevent nodes from storing the entire bitcoin transaction ...
1
vote
1
answer
125
views
The true reason bitcoin needs merkle proof for SPV wallet?
I know exactly what merkle tree is, and I know it is used to verify a transaction is in a block with just a hundred of bytes flowing through my network cable (btw do I really lack that megabytes ...
1
vote
0
answers
63
views
Understanding bitcoin merkle tree construction at code level
I have a high level understanding of how merkle trees are constructed for a Bitcoin block, but I am interested in building a little CLI tool in golang that actually takes a list of transactions for a ...
0
votes
1
answer
40
views
Is merkle hash tree also at network level?
From my understanding of the Bitcoin network, Merkle Hash Tree is used on a block level, where each transaction is a leaf of the tree (except the situation that if transaction count is odd, the last ...
0
votes
1
answer
70
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
142
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
2
answers
225
views
MerkleRoot requires transaction hash to build a merkle tree.... Is that the "hash" key/value within the getblocktemplate response or the "data"?
I've created a function for parsing Json Objects and values and just when I think nothing can stop me, just when I feel like I'm the king of the blockchain and I can finally join in on the mining race ...
0
votes
1
answer
119
views
Merkle tree recalculation during transaction lookup
When full-node receives a request from SPV client to check if given transaction exists in the blockchain - does it always re-calculate the merkle tree on the fly in order to return merkle path + block ...
0
votes
0
answers
423
views
Ternary Merkle Tree - concatenation and Merkle Proof?
Unlike binary Merkle trees, ternary have 3 leaf nodes. I wanted to understand how do we eventually get to the Root Merkle node -- is it by concatenating in the pair of 3 (considering 3 leaves in every ...
1
vote
1
answer
104
views
How can a block validate a merkle-root if it is all hashed?
I am trying to understand how another block validates the transactions through the merkle root. Shouldn't it be impossible to know what hashes the merkle root is hashed from because you can't reverse ...
1
vote
1
answer
156
views
Why store Merkle tree of transactions rather than global ledger state?
I'm implementing my own Cryptocurrency similar to Bitcoin from scratch in C++ (just for learning and deeper understanding) and had an interesting design question.
My understanding is that the Merkle ...
0
votes
1
answer
89
views
Can taproot script trees have nodes with a single child?
I am writing some code implementing taproot address creation where a script path is present and I have a quick question surrounding the reference code.
The BIP-341 reference method taproot_tree_helper(...
2
votes
1
answer
323
views
Merkle root of empty block
Based on https://en.bitcoin.it/wiki/Getblocktemplate :
Collect your coinbase transaction (modified or not) at the front of the "transactions" list provided by the server. Apply a double-...
0
votes
1
answer
260
views
Questions on Merkle root hashing for Stratum pools
These questions are partially inspired from this post on Merkle root hashing by pool operators. My understanding is that for Stratum mining the only hashing the pool has to do is produce the Merkle ...
2
votes
1
answer
126
views
What hardware do pool operators use for calculating the hashmerkleroot?
I've reviewed the response here: How do pool operators do their hashing? and acknowledge that the ratio of hashing required by pool operators is incomparable to the miners.
I still wonder what ...
0
votes
1
answer
55
views
For a block containing 'x' number of unverified transactions, how many SHA256d hashes are performed to obtain the hashmerkleroot?
I've been trying to understand this for a few days now.
I understand that the hashmerkleroot is the root node of a fully perfect binary tree. I also understand that the sha256d hashes would be the non-...
0
votes
2
answers
189
views
Merkle tree hash - Computing hash manually doesnt match the one computed by SHA256D64
I am trying to go through the code to check the merkle tree hash computation done by BlockMerkleRoot in bitcoin core. The hash computed using online tools by appending transaction hashes is different ...
0
votes
2
answers
372
views
Proof-of-inclusion: Merkle Tress, derivation paths
My assumption is that when transaction proof of inclusion occurs, it takes place only at full nodes, since this may happen when a block is mined (as a node has to evict transactions from its mempool ...
0
votes
1
answer
60
views
Appending txns to merkle tree on PoW efficiency, true hash rate
As I understand, when miners add transactions to their candidate block from their mempool, they append the txn to the merkle tree, which requires more hashing, as well as the hashing/maths involved ...
1
vote
1
answer
463
views
How are txns sorted correctly in Merkle trees between nodes and validated via Proof of Work
I am interested in exactly what happens to transactions in the pending block (block that is being mined at the time). From what I understand, transactions are the stored as a Merkle tree hash inside ...
1
vote
1
answer
52
views
Is the hash of ZMQ channel blockhash a merkleroot hash?
I am using the ZMQ interface of my node to keep track of wallet activity like incoming transactions. I want to know the number of confirmations of my transaction but, to do that, I would need to know ...
1
vote
1
answer
37
views
What exactly happens to leaves when forming nodes?
If you hash TXIDs with sha256 twice, you get the leaves of the merkle tree. As far as I understand the two outputs of the TXIDs are concatenated / paired. What does that mean? Are they added together?
1
vote
1
answer
121
views
Does the Merkle Root get constantly updated inside the block or does it only get added once the block is completed?
So, pretty much just the title. I'm just wondering how the Merkle Root works exactly. I know it's the result of pairing transactions and then hashing them until the last transaction in the block, but ...
1
vote
0
answers
226
views
Endianess of txids when calculating Merkle Root from getblocktemplate
I am trying to solve a merkle root from a previously mined block.
Specifically this block...
https://www.blockchain.com/en/btc/block/000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506
...
0
votes
0
answers
56
views
How Can i Extract a Z value of a specific Bitcoin Transaction that Belongs to a merkel tree/root transaction?
am trying to find a z value of a transaction that is signed in a merkle tree/root block , i coudn't find a raw tx id in hex of that specific transaction that signed with specific address while a raw ...
8
votes
1
answer
2k
views
Adding instead of concatenating hashes in Merkle trees
Why aren't the hashes combined using a commutative operation such as addition instead of concatenating them? Any possible vulnerabilities or security flaws?
thanks for your time and efforts.
1
vote
1
answer
211
views
Are hashes of Merkle tree roots unique throughout whole blockchain?
The "Mastering Bitcoin" book says that each block header contains a 32B long hash of the Merkle root for all the transactions it contains.
If I extract all these Merkle roots from all the ...
1
vote
1
answer
398
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
1
answer
56
views
Question about Merkle path verification
I think I understand Merkle verification, but I just want to make sure. Consider this following picture where all the blue nodes were sent to me
My question : if the document that I want to verify is ...
3
votes
1
answer
625
views
Do full nodes store the complete merkle tree or do they regenerate it when creating a merkle proof?
I understand what the merkle root is for. And I understand that blocks don't store the merkle tree.
Question 1) Is there any place that the complete merkle trees get stored? I don't mean the merkle ...
1
vote
1
answer
211
views
Is this Merkle hash root problem existent in Bitcoin?
In the Wikipedia article about Merkle trees, I was just reading this, unable to understand where the problem lies:
Second preimage attack
The Merkle hash root does not indicate the tree depth, ...
1
vote
3
answers
143
views
How/where is the mapping of a transaction to a particular block stored?
According to the Bitcoin white paper, a block contains the fields "Previous Hash", "Nonce", and "Root Hash". The root hash is a merkle tree root node of all the ...
2
votes
1
answer
265
views
How does a Merkle proof differ from the Merkle tree?
I'm not sure how Merkle tree and Merkle proof are different. I thought Merkle proof is the same as the Merkle root in each block. However, it seems like Merkle proof contains all Merkle roots of all ...
7
votes
1
answer
309
views
How do merkle trees ensure credibility to blockchain, when full node wrongly denies a presence of a txn in a block?
How can Merkle Trees ensure that a full node doesn't lie to a thin node that a txn t is not present in a block B if infact B contains t? How can a thin node tell if the full node is lying if the full ...
8
votes
1
answer
262
views
CVE-2012-2459 , possible code and performance improvement, is my logic correct?
ok so, in my effort to create a fullnode from scratch both for learning purpose and need (not a topic for discussion, thanks), I was looking at the code that check Merkle Root to not be vulnerable to ...
2
votes
2
answers
328
views
Merkle root with one transaction
I am trying to build a merkle root which contains only the coinbase transaction from bitcoind.
After creating the coinbase transaction, do I need to convert it to little endian, hash it twice and then ...