1

Forgive the noob question, but I have just started seriously looking into block chain and bitcoin.

I tried to implement a very, very basic version of what I understood the block chain to be to understand it better, and eventually found out that bitcoin does not store account balances. It instead references previous transactions for inputs and outputs.

This then led me to reading about the Merkle tree, and how all transactions are derived from the root of the Merkle tree. Does this mean that block chain technology does not actually represent a chain, but rather a tree structure where a certain number of transactions in a specific sub-tree constitute a block of transactions? Or have I just misunderstood it? The very fact that its called blockchain technology is throwing me off.

  • 1
    Every block contains a merkle tree of transactions. It is indeed a chain of blocks – Ivano Donadi Sep 5 '17 at 11:33
  • So, does that mean a new block is created at the root of every subtree, comprising of the root and the children? But the very root of the tree branches out into two, correct? Wouldn't that imply it is no longer a chain? – Zaid Humayun Sep 5 '17 at 11:39
  • I meant like: --[merkle-tree]--[merkle-tree]--[merkle-tree]--- ,where every [] is a block, and it contains the merkle tree of the transactions included in the block. – Ivano Donadi Sep 5 '17 at 11:43
  • 1
    Okay, so the merkle-tree is not directly interconnected? They all terminate within the blocks they belong to? – Zaid Humayun Sep 5 '17 at 11:56
  • Yes, one indipendent tree for each block – Ivano Donadi Sep 5 '17 at 11:59
1

Each block contains a merkle tree of new transactions and the hash of the previous block. New transactions can consume the outputs of previous transactions and create new unspent outputs for future transactions.

Bitcoin currently does not maintain any kind of universal or canonical tree of all unspent outputs. Individual nodes are free to maintain a database of UTXOs (unspent transaction outputs) using any method they prefer.

The blocks do literally form a chain since each block contains the hash of the previous block.

Ripple works in a somewhat simpler way. There are accounts with balances that are arranged in a Merkle tree. Each ledger contains the hash of the previous ledger, a Merkle tree of transactions and the deltas to the state each transaction created, and the hash of the new Merkle tree of system state.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.