A blockchain is a special kind of database where data can only be added (and not removed or changed). True to its name, a blockchain resembles a chain of blocks – these are what we call the chunks of information added to the database. Every block holds a pointer back to the previous one and generally contains some combination of transaction information, timestamps, and other metadata to confirm its validity.
As they’re linked in this manner, entries cannot be edited, deleted or modified in any way, as this would invalidate all of the blocks that follow them.
A blockchain may all appear somewhat underwhelming at this point – you may be wondering what kind of advantage this system offers over a regular spreadsheet. Where blockchains thrive is in allowing users to coordinate around a shared source of truth, without necessarily trusting each other. With a distributed network, there is no single party that can hijack a well-built blockchain.
To run and independently verify the state of a blockchain, a user must download specific software. Once up and running on the user’s machine, this software interfaces with instances on other machines, with the purpose of uploading/downloading information (such as transactions or blocks). A new user downloads a block, check that it was created within the rules of the system, and relay this information to peers.
What we now have is an ecosystem that can be made up of hundreds, thousands, or tens of thousands of entities that all run and synchronize an identical copy of the database (we call them nodes). This renders it highly redundant and available around the clock.
A blockchain's integrity is undermined if false financial information can be recorded. At the same time, there is no administrator or leader in the distributed system that maintains the ledger – so how do we ensure that participants are acting honestly?
Satoshi proposed a Proof-of-Work system, which allowed anyone to propose a block to append to the network. To propose a block, they must sacrifice computational power to guess at a solution set out by the protocol (this involved repeatedly hashing data to produce a number that falls below a particular value).
We call this process mining. If the miner correctly guesses the solution, the block they had constructed (made up of unconfirmed transactions sent to them by peers) would extend the chain. As a result, they would receive a reward denominated in the blockchain’s native token.
Hashing with a one-way function means that given the output, it is virtually impossible to guess the input. But given the input, it is trivial to verify the output. In this way, any participant can verify that the miner has produced a ‘correct’ block, and rejects those that are invalid. In this case, the miner receives no reward, and has wasted capital in trying to forge an invalid block.
In cryptocurrency systems, a reliance on public/private key cryptography also ensures that parties cannot spend funds that they do not own. Coins are tied to private keys (known only to the owner), and only a valid signature certifying their movement allows them to be spent.
Proof-of-Work is the most tried-and-tested scheme for achieving consensus amongst users, but it is by no means the only one. Alternatives such as Proof-of-Stake are increasingly being explored, although they have yet to see proper implementation in their true form (though hybrid consensus mechanisms have been around for some time).
The basic idea behind an immutable chain of data can be traced back to the early 90s. Researchers W. Scott Stornetta and Stuart Haber published a paper entitled How to Time-Stamp a Digital Document, which discussed efficient practices for timestamping files such that they could not be edited or otherwise tampered with.
Stornetta and Haber’s approach was imperfect, however, and still required trust in third parties to implement. Blockchain technology incorporates innovations from other computer scientists, and Satoshi Nakamoto is credited as the father of the system we described in previous paragraphs.
Interested in learning more about blockchain history? Read our article on the History of Blockchain.
Cryptocurrency was the tip of the iceberg. Many saw the potential for decentralized computing following the advent of decentralized money. Just as first-generation blockchains like Bitcoin introduced a shared database of transactions, second-generation offerings like Ethereum brought about smart contracts. These are programs that run atop of blockchains, to manage the conditional movement of tokens.
With smart contracts, no central server runs the code, meaning that the central point of failure at the hosting level is disintermediated. Users can audit the software (given its public availability), and developers can design contracts in such a way that they cannot be shut down or modified.
Some applications for blockchains may include:
Blockchain technology caters to a vast range of use cases. Below, you’ll find some further reading on Binance Academy:
Public blockchains are permissionless systems, meaning that there is no authentication procedure to go through before you can become a participant. With Bitcoin and other cryptocurrencies, the user needs only to download open-source software to join the network.
Given the accessibility of these ledgers, it’s incredibly challenging to ban participation, and near-impossible for the entire network to be taken offline. Such accessibility makes them an attractive tool for users of all kinds.
While their most popular applications lie in financial transactions, there are many other sectors where their deployment may be beneficial in the future.