| A blockchain is a digital and distributed ledger of transactions, recorded and replicated in real time across a network of computers or nodes (figure 1). Every transaction must be cryptographically validated via a consensus mechanism executed by the nodes before being permanently added as a new “block” at the end of the “chain.” There is no need for a central authority to approve the transaction, which is why blockchain is sometimes referred to as a peer-to-peer trustless mechanism. I see this kind of explanation a lot. It's misleading at best. A block chain is most definitely not a ledger, as is claimed by too many sources to count. A block chain is a tool allowing a group of users to produce a single, unique transaction log. To this end, transactions are grouped into blocks. A block references two pieces of information: (1) its ordered list of transactions; and (2) its parent block. Two or more blocks may claim the same block as a parent. Therefore, a collection of blocks can be assembled into a tree with one or more children pointing to a parent. Each user maintains its own copy of the tree. All paths through the tree are followed and scored. The path with the highest score is designated as the active chain. The active chain is what many people think of when they use the term "Blockchain." However, the structure of this chain is mostly boring and unremarkable. The most interesting thing about it are transactions. Like blocks, transactions link together. Additionally, transactions run programs that induce global state changes. The secret sauce of "Blockchain" boils down to incentivizing each user to choose the same active chain in an adversarial environment. The best-tested procedure uses "proof-of-work." If the relative order of events plays an important part in what you're trying to do, and you operate in an adversarial environment, then a block chain might help. Otherwise, there's not much a block chain can do for you. |