At its core, blockchain is a distributed ledger. But what does that mean? And how is it different to a centralized ledger? What exactly is a blockchain?
Let’s illustrate by contrasting a blockchain with a bank.
Your bank maintains a central database (a “ledger”) of all their customer details. This may store account numbers, balances, transactions, and more. Whenever you interact with your account (such as by withdrawing money or making a transfer), your bank updates its records.
Only the bank has access to the ledger, so if they decide to make a change, there’s not much you can do about it.
Now imagine if a hacker gained access to this database. They could change balances, delete transactions, and more. Your bank may be able to restore the data from backups, and there may be many databases serving this data, but it’s ultimately controlled by one central entity.
Distributed ledgers are much smarter. Rather than one person or company having sole responsibility of the ledger, many people have copies of a distributed ledger, and there are often few restrictions on who can join.
Each user (known as a “node”) stores a copy of the data—all the way from the beginning of the ledger until now. The whole lot. For every transaction, several nodes verify it, and then all nodes update their records so that everything stays up to date and in sync.
Each new transaction gets bundled up with many other transactions into a “block”.
These blocks provide some serious benefits. There’s no centralized authority that can manipulate the record. If a hacker or nefarious node started changing records in one ledger, all the other nodes would reject it since the new records would not match the data stored by everyone else.
The only way to manipulate data is for every single node to collude together, which is highly unlikely. In the case of Bitcoin, there are roughly 10,000 different Bitcoin nodes spread out across the whole world as of this writing.
Blockchain Validation: Public and Private Keys
As you saw above, a blockchain is a decentralized store of data, and the most common type of data stored is transactions.
If I send Gavin one BTC, I’m telling every node that’s what I’m doing, and they all record the transaction if it’s allowed. By checking the ledgers, nodes may refuse the transaction if I don’t have enough Bitcoin to send, or if I’m not the account holder.
Each transaction must pass validation, and that’s where blockchain technology becomes a bit more complicated. Every blockchain “wallet” (think of this like a blockchain bank account) has a public key and a private key.
The public key isn’t sensitive, but the private key is. Only the true account holder should have access to the private key (and if anyone gets hold of it, your account could be taken over). If you want to keep your coins super safe, then you should look into our suggestions for the best cryptocurrency cold wallets.
When sending Gavin the one BTC mentioned above, my wallet presents the public key along with a digital signature. This digital signature is unique and is only generated with the private key. By using the signature and public key, other nodes can verify that this is a legitimate transaction, all without ever revealing the private key.
This is a simplified example—the cryptography behind the public/private key system is much more complex. Public and private keys aren’t numbers like bank accounts. Rather, they use Secure Hash Algorithm 256 (SHA-256) and RACE Integrity Primitives Evaluation Message Digest 160 (RIPEMD-160).
Never heard of these algorithms? No worries. You don’t need to understand them in-depth to use cryptocurrencies. Just know that these algorithms run the internet as we know it, encrypting web pages through SSL and TLS and more. In the future, other encryption algorithms may be used for blockchains.
Just know that all this encryption and verification comes at a cost. Every node needs a lot of computing power to verify all the transactions that ever happen and update its ledger accordingly.
This is where mining comes into play: users can earn small transaction fees as payment for verification.
By running the ledger this way, miners running nodes get paid, and every transaction gets verified. It’s an elegant system.
But it’s not all perfect.
During periods of high transaction demand, the fees can go up. If there aren’t enough nodes to go around, users can actually pay more to get their transactions processed sooner than others, and miners end up favoring the higher-paying transactions. Those who pay lower fees will still get processed, but at a much slower rate—unless the fee is too low, in which case nobody will bother verifying the transaction.
Aside from transaction fees, miners can also get paid in shiny new Bitcoins. By paying miners a fraction of a BTC on top of the transaction fee, new Bitcoins are drip-fed into the market. These unmined Bitcoins get more difficult to mine as time goes on, until one day there won’t be any unmined coins left, and miners will only get paid in transaction fees.
When Is a Blockchain Not a Blockchain?
While many blockchains only store transaction details, it’s possible to store all kinds of data on a blockchain: medical records, secure messages, smart contracts, and more.
It’s also possible to build your own blockchain, even one that’s private—provided you have enough nodes to run it. You could remove encryption, changes the rules, or decentralize it.
Many would argue that these changes would mean the system is no longer blockchain, but therein lies the problem: with no formal specification or definition of “blockchain,” there’s no governance of the word. Many blockchain projects exist solely to scam people. Other blockchain projects piggyback off the blockchain name, using it to boost their bottom line with no real innovation.
There’s no agreement on these matters. We would argue that the traditional Bitcoin model is the best way forwards: a public blockchain, accessible by all, and not centralized. What do you think?