I believe that, for some people, the term Block is a sort of holy notion. However, there exist yet some block-free blockchains such as Libra (Sometimes referred to as Zuck Buck).

Unlike previous blockchains, which view the blockchain as a collection of blocks of transactions, the Libra Blockchain is a single data structure that records the history of transactions and states over time.

It seems that the Block concept is a sort of tradition, neither more nor less. Would you please clarify the reason behind the invention of Blocks?


Would you please clarify the reason behind the invention of Blocks?

When determining who owns what money, the ordering of transactions becomes important. If I only have $10, and then tell both Alice and Bob that I paid $10 to them, who will rightfully own the $10? Some sort of clock/timestamp is needed, in order to determine who received the payment first, and thus has rightful claim to spend it in the future.

If you just trust some central party to tell you who owns what, then this isn't really much of a problem. The central server can update the ledger according to the order in which they see transactions published, and all the users can follow along.

However, it becomes very tricky to establish a reliable timestamp/ordering of transactions across an untrusted network. How do you know which history is correct? How do you know all of the other nodes will agree with what you think is correct? These problems are formalized as the Byzantine General's problem, and the invention of Bitcoin provided a novel solution to it.

Since we need a way to order transactions, each block can be thought of as 'one tick of the clock', and with each tick of the clock, the state of the ledger is updated. This sort of step-by-step update of the ledger is integral to the function of a monetary network, it is difficult to imagine how a ledger might be maintained if there were not some sort of method to order transactions chronologically.

So in a very general sense, this is 'why blocks were invented'. If you want to just trust some network admin(s) to tell you the state of the ledger, then perhaps you can forgo blocks entirely, but you will also forgo many of the important and interesting properties of the Bitcoin network (as is the case with Libra).

  • Thank you. There exists no FIFO ordering on Bitcoin (even Merkle tree does not guarantee FIFO). Because, suppose that I spent Bob's 10$ first. Later, the transaction of Alice got chosen to be mined before Bob's transaction (for any reason). So, Alice will get the money. If I did not misunderstood you, you mean that the cause of blocks is not ordering but double-spending, right?
    – Newbie
    Nov 10 '19 at 13:46
  • @Mohamad-JaafarNEHME Ordering of transactions is what prevents double spends, the two are related.
    – chytrik
    Nov 10 '19 at 18:10

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