As described in my last posting on the ‘Essence of the Blockchain’, the block-chain is just a public ledger supported by the power of the cryptographic hash function.
From a “genesis” block, a chain of blocks propagates onwards. Due to the one-wayness of the hash function, it can never be reversed and the contents of a prior block can never be changed. However we can add new blocks on to the end of it.
The biggest problem in creating a block-chain is one familiar to anyone with long hair. Split ends. What’s to stop the chain being forked and split in numerous different directions? The whole point of a public ledger is that there should only be one of them. If anyone can create a fork and hence create their own block-chain how do we know which is the one true block-chain?
What we need is a way to effectively “seal” the end of the block-chain so that it cannot be forked. Some kind of serum or conditioner maybe.
This is the tricky bit. The BitCoin solution is particularly clever. Recall that BitCoin is an application of the block-chain to the creation of a virtual currency. The trick is to motivate a group of “miners” to take part in an expensive process that effectively seals the end of the chain. But why should they? How do we motivate them? Simple, pay them some BitCoin!
So there is a feed-back at work here. The method of sealing the end of the chain is fundamentally associated with the application of the chain.
And that’s the biggest issue in block-chain research today. How do we come up with clever ways of sealing the end of the chain that will (probably) depend on the purpose of the chain, but hopefully won’t require as much work.
In BitCoin its “proof-of-work” (iterating a hash function billions of times) which the group of miners use to seal the chain. A common alternative suggestion is “proof-of-stake”, where a valid miner can demonstrate that they have already invested heavily in the construction of the chain to its current point.
Can you think of another way? I would love to hear your comments and feedback below.