Impact of Omitting Merkle Trees in Blockchain Discussion

16 replies 64 views
wildbossNewbie
Posts: 6 · Reputation: 16
#1Aug 14, 2018, 08:59 AM
I’ve been digging into Merkle trees in blockchain recently. They seem super important for keeping transaction data organized and safe in the Bitcoin network. They help miners spot any tampered transactions and prevent duplicates. It also makes data transfer across the network pretty smooth.
4 Reply Quote Share
gang2015Member
Posts: 682 · Reputation: 62
#2Aug 16, 2018, 12:08 PM
Wait a sec, but Bitcoin doesn’t use encryption. And what do you mean by data identification? It’s more like pseudonymous, right? Without Merkle trees, wouldn’t SPV reading be harder since you’d be stuck downloading the whole block?
6 Reply Quote Share
ColdGangMember
Posts: 152 · Reputation: 183
#3Aug 16, 2018, 02:12 PM
Without Merkle trees, the whole setup gets messier. Every transaction would need to be stored separately which bloats the blockchain. Plus, without them, verifying transactions means checking each one individually. Slows everything down, right? Merkle trees let us verify inclusion without exposing sensitive info, so we’d totally lose efficiency.
3 Reply Quote Share
gang2015Member
Posts: 682 · Reputation: 62
#4Aug 16, 2018, 05:04 PM
I’ve got a few questions about this: 1. Full nodes verify all transactions anyway, so how does removing Merkle trees slow down verification? 2. Pruned nodes just save the recent block and UTXO, so how does that change? 3. Why would fees go up without them if transaction and block sizes stay the same?
0 Reply Quote Share
wildbossNewbie
Posts: 6 · Reputation: 16
#5Aug 16, 2018, 10:54 PM
The thing is, Merkle trees help check and verify large amounts of data fast, and they make it easier for miners to detect tampering.
2 Reply Quote Share
ColdGangMember
Posts: 152 · Reputation: 183
#6Aug 17, 2018, 02:01 AM
True, full nodes do verify everything. But without Merkle trees, they’d check the whole block instead of just the relevant transaction. Merkle trees create a structure where transactions are hashed together, which allows for quicker checks on only the parts needed.
4 Reply Quote Share
gang2015Member
Posts: 682 · Reputation: 62
#7Aug 17, 2018, 07:53 AM
I don’t get it. You’re saying full nodes need to check the whole block without Merkle trees, but isn’t that already what they do? Seems like a weak point since they check everything anyway.
5 Reply Quote Share
gang2015Member
Posts: 682 · Reputation: 62
#8Aug 18, 2018, 11:24 AM
Can you explain how not having Merkle trees leads to congestion and centralization? Merkle trees don’t change block size limits, right? And full nodes already handle the full block, so it shouldn’t slow things down much.
4 Reply Quote Share
0xNodeMember
Posts: 671 · Reputation: 80
#9Aug 18, 2018, 02:41 PM
Merkle trees are there for transactions in each block. They make sure all transactions in that block are valid. There’s a specific process for ordering transactions before hashing them. That’s why we hash two at a time.
1 Reply Quote Share
ColdGangMember
Posts: 152 · Reputation: 183
#10Aug 18, 2018, 04:09 PM
Looks like you missed my main point. Full nodes do utilize Merkle trees. ASIC miners are built for efficiency in hashing, meaning they use Merkle trees for verification too.
3 Reply Quote Share
5tacks4tsHero Member
Posts: 136 · Reputation: 2261
#11Aug 18, 2018, 04:44 PM
Each transaction stands alone. Bitcoin doesn’t use Merkle trees to eliminate transactions; they verify each one as it comes.
2 Reply Quote Share
5tacks4tsHero Member
Posts: 136 · Reputation: 2261
#12Aug 18, 2018, 08:34 PM
You sure you researched this? They’re essential. The Merkle root in the block header shows that all transactions remain unchanged after the block is made. A hash used for this is not forgeable and keeps the header size small.
6 Reply Quote Share
gang2015Member
Posts: 682 · Reputation: 62
#13Aug 18, 2018, 09:50 PM
I still don’t see your perspective. ASIC miners don’t verify stuff, they just do SHA-256 hashing. And full nodes do check transactions before they enter blocks.
2 Reply Quote Share
ColdGangMember
Posts: 152 · Reputation: 183
#14Aug 19, 2018, 01:58 AM
Exactly. Without Merkle trees, you lose that summary info in block headers. It’s like trying to confirm if books are real when you don’t have the whole library list. Merkle trees let pruned nodes summarize data and save space.
3 Reply Quote Share
gang2015Member
Posts: 682 · Reputation: 62
#15Aug 19, 2018, 06:29 AM
Got it. Your view of verification seems broader than mine, that’s what caused the confusion.
3 Reply Quote Share
0xLaserFull Member
Posts: 252 · Reputation: 641
#16Aug 19, 2018, 09:36 AM
Instead of a compact hash, you’d only have a transaction counter. With a hash function like SHA-256, there’re ways to optimize it for SPV. Like giving someone an initialization vector for verification.
2 Reply Quote Share
Posts: 3523 · Reputation: 35
#17Aug 19, 2018, 10:50 AM
Interesting point you bring up about hash construction. That could indeed play into how we deal with transaction validation.
4 Reply Quote Share

Related topics