What is a blockchain?
Let's keep it simple first: a blockchain is…a chain of blocks! Each block containing information about the last valid actions performed by users on the blockchain.
In its simplest use, a blockchain can be seen as a database.
But databases have been around for ages! So does blockchain bring anything new?
Yes, because it is tamper proof database which can be decentralized, public, and trustless (it can operate without trusted third parties), and this is new.
Once a new block has been validated on a blockchain, it can no longer be modified; its integrity is ensured by cryptographic mechanisms (math). Moreover, each new block contains the digital fingerprint of the previous block, so one can trace the whole chain back to the original block.
This database is not held by a single third party but is replicated nearly synchronously on many servers (or nodes) located in different buildings/cities/countries. It is therefore censorship resistant. If a node goes offline, the rest of the network still operates.
The more nodes there are, the more secure a blockchain is. Security is proportional to the degree of decentralization. Indeed, the more nodes there are in the network, the more it would be necessary to be able to deceive them to insert falsified data into the chain.
On most blockchains today, anyone can view the contents of a blockchain on any of the nodes (and/or download all its contents). All transactions and their histories are searchable (although there are some blockchains where this is not quite true, but this will be explained later 😉).
Anyone can deploy a node on a blockchain and thus contribute to the functioning of the network. The participation in the network is incentivized with a share of the network fees.
A distributed execution environment
Considering a more complex approach, a blockchain could be seen as distributed operating system (OS).
OK but what is an OS?
An OS is Windows, MacOS, Android, Ubuntu, etc.
Ok so a blockchain is like a Windows accessible by everyone and running on many different servers?
You get the rough idea, yes, but explaining it in detail would take more than a few lines and would depend on the blockchain studied.
The important thing to remember is that, as with Windows or Ubuntu, it is possible to develop specific programs (applications) that run on the nodes of this blockchain by taking as input/output data present (or made accessible) on the said blockchain.
The first blockchain is not bitcoin!
The first (albeit imperfect) instantiation of a blockchain dates back to 1995 and was published...in a newspaper:
- French article : https://www.lemonde.fr/big-browser/article/2018/09/01/la-premiere-blockchain-de-l-histoire-date-de-1995-et-elle-est-imprimee-sur-papier_5349082_4832693.html
- English article: https://www.vice.com/en/article/j5nzx4/what-was-the-first-blockchain