Blockchain is a data structure for proving that certain events happened in a specific order.
Blockchain consists of a chain of timestamped blocks of events. Events are often called transactions.
Why timestamps? To not only order events relatively, but also pin them to the real time as it’s way more useful and in some cases necessary to make plain ordering work (e.g in Bitcoin to readjust difficulty).
Why chains? To cryptographically link past events to the current events, preserving their order under the latest timestamp.
Why blocks? Because it is relatively expensive to timestamp an event, so almost every blockchain protocol groups multiple events in a single block that gets timestamped.
Why timestamps are expensive? It takes time to reach an agreement in a distributed system. The more distributed and less well-connected the system is, the longer it takes.
What blockchain is not
Blockchain is not a “shared” or any other kind of database, blockchain is only a proof. Blockchain is typically used as a mechanism to update one’s database. The illusion of a shared database is created by multiple computers updating their databases using the same blockchain, and arriving to the same contents. Usually only a specific slice of such databases is replicated (for instance, in Bitcoin it is the set of all unspent coins), while the rest of the data is more user-specific or even private (account names, transaction annotations etc).
Blockchain is not a product in itself. Blockchain is a cryptographic proof and as such works only within specific assumptions. For instance, Bitcoin proves that a certain amount has changed hands under assumption that it is prohibitively expensive to double-spend (or reverse) that transfer and that the network is well-connected in order to detect such attempts early. Likewise, commercial/federated blockchain network assumes that the operators protect their infrastructure well from abuse and do not fork the chain. Blockchain is only a component in a larger integrated system.
Blockchain is not a transport mechanism. Transport mechanisms are necessary for delivery and replication of blockchains. Blockchain is not where “money flows”, it’s a place where money already moved and we have a proof of it.
Blockchain is not a “distributed system” in a traditional sense. Most distributed systems distribute load. Blockchains distribute vulnerability. For example, Bittorrent network and distributed/sharded databases distribute traffic and processing costs so that any single node does not have to service all requests. In a blockchain network nodes replicate and verify the same information in order to minimize vulnerability to any single node or entity.
On blockchain scalability
Traditional distributed systems are designed to scale the computational throughput, blockchains are designed to scale social interactions. Bitcoin nodes re-verify all same data and miners burn unforgivable amounts of electricity, but in return people in random jurisdictions can transact directly without numerous intermediaries and associated trust issues. As a result, the measurable costs in terms of money and time are significantly lowered and immeasurable _business opportunities_ are unlocked when more transactions become cost-effective at all.