What is Blockchain Technology?
You might have heard of “blockchain” being the technological breakthrough underpinning Bitcoin and other cryptocurrencies. Which is true, but not the whole picture. Blockchain represents a new way of communicating and verifying information, and it can do a lot more than just currencies.
Blockchain technology is the application of several existing technologies (private key cryptography, peer-to-peer network, and distributed computing) to create a system of record, which stores and validates transactions in an immutable fashion.
That’s quite a lot of technical jargon, and it’ll help to break down some of those concepts.
Private Key Cryptography
This is covered in more detail in “What are wallets”, but the essentials are this: A private key is a very strong password, created by a computer, that lets you authenticate records. Every private key is paired with a public key, which is used as a unique identifier.
In a blockchain, your private key is used to sign every record you submit to it. It’s the functional equivalent of logging into a system to make changes, except that the security is not centrally managed – there’s no master database of users, for example.
In Bitcoin (as an example), private and public keys are used to identify and verify senders and receivers for Bitcoin transactions.
In layman’s terms, a peer-to-peer network is a way of letting a group of computers communicate with each other, without relying on a central server to relay messages.
The most common peer-to-peer technology you might be familiar with, is BitTorrent – mostly because it keeps ending up in the news for the wrong reasons. BitTorrent is a protocol that lets computers find and connect to each other over the internet, without relying on a central hub – which makes it very difficult to shut down.
This resilience is one of the best features of blockchain technology. Centralized client-server applications come with a nasty side-effect: the more you centralize something, the greater the risk of damage from a failure.
This was demonstrated quite vividly in February 2017, when a single command from a single Amazon technician broke S3, which then brought down thousands of applications around the world.
By contrast, there’s no single point of failure in a blockchain network. Computers could drop off the network every single day without taking it down. This is one of the benefits of using a peer-to-peer system.
If anything, this is the killer feature of blockchain applications – the fact that the computing is distributed.
All the work done to secure the blockchain is distributed. Every computer on the network is doing the same calculations independently. No single computer is deciding what the “right” version of the blockchain should be – instead, the workload is distributed, and the network decides based on consensus. This means that the blockchain itself cannot be manipulated by a single actor.
Even if someone tried to do that – for instance, by creating a version of the blockchain’s protocol that let them modify any record in the ledger – it would be useless unless the rest of the network consented to their changes.
Putting it all together
So these three technologies (Private Key Cryptography, Peer-to-Peer Networking, and Distributed Computing) are the building blocks that underpin blockchain technology. Together, they’re used to create a distributed ledger – the shared database of validated transactions.
But how is this different from any other old database?
System of Record
You’re probably familiar with the concept of a database. Most of the data that runs the world is kept in some form of database – be it a petabyte-scale Facebook warehouse, or a spreadsheet on your desktop.
Databases are really just a way to structure and store data – to validate and secure it is a whole other set of problems, especially when you’re dealing with sensitive or valuable data. How do you ensure that all the records that are in your database, are supposed to be there?
For example, your bank statement. It’s a record of transactions between yourself and other parties, and you use it as the trusted database for your finances. At any point, you can reconcile that statement against the statements of those other parties, and all the numbers (should hopefully!) line up.
Traditionally, creating this trusted database has been achieved by the application of lots of additional systems and processes – authentication, authorization, reconciliation, audit logs, verification, and so on. Taken together, those are used to create a “system of record” – a database which contains facts that all parties agree on.
Blockchain technology also creates a system of record, but takes a radically different approach. Instead of centralizing the verification and reconciliation work, it distributes it to every participant in the network. In order to use a blockchain, you need to participate in updating and securing it.
Storing and Validating transactions
This is where that “distributed computing” part comes in. Every computer that participates in a blockchain is incentivized to do the work of validating and securing those transactions.
Transactions are validated based on the rules of the blockchain. For Bitcoin (and most other cryptocurrencies), that validation is basic accounting: For any transfer, does the sender have the balance of coins necessary?
Other blockchains might have other rules for validation. A good example is NameCoin, a distributed DNS system that lets users submit DNS-like records to a blockchain. In that case, anyone who holds the correct private key can make arbitrary changes to their DNS record – there’s no ledger balance to consider in validating that transaction.
After transactions are validated, they’re stored. A bunch of transactions are rolled up into a single “block”, and that block is then tied to the chain in an immutable fashion. The work required to do that is run on every computer in the network, but usually only one of them will come up with the correct solution first.
That solution is then broadcast to the rest of the network, and if it checks out, the network will consent to the new block.
Which brings up the last point – “immutable fashion”.
An Immutable Record
If the software is open-source, and it’s just down to computer consensus, how do you ensure that the records in the ledger cannot be modified? Surely someone could just go back to an earlier record in the ledger, make a change to it, and the change would carry all the way forward?
Not quite – and it has to do with the way the chain is assembled. It’s hard to explain without getting into hash functions, but the basic premise is this: Every new block in the chain depends on two things:
- The integrity of the previous block in the chain,
- A large amount of computational power expended to ensure that integrity
The longer the chain gets, the harder it gets to do that. If the chain was only a few blocks long, it might be possible to calculate a different version of the chain, and distribute that to the network – the cryptographic equivalent of cooking the books.
But every new link in the chain makes it that much harder to forge. In the case of Bitcoin, the network is designed to produce a new block every 10 minutes, and every new block requires thousands of petahashes of power to calculate – so every 10 minutes, it becomes exponentially more difficult to manipulate the chain.
On top of that, the network is designed to incentivize honesty. Using Bitcoin as an example again, the first node that can correctly solve the hashing puzzle is rewarded with the right to create new coins. Trying to upload a fraudulent or inaccurate solution would simply get rejected by the rest of the network.
Why is blockchain technology important?
There are basically three answers to this question – none of them involving the price.
First – blockchain technology is a viable solution to the Byzantine General’s Problem. It’s an old problem in computer science: How do you know you can trust the messages you’re getting, if you can’t trust the middlemen carrying them?
By solving that problem, it creates a new type of communication: Trusted communication in a trustless landscape. This could end up solving a slew of problems with the way the internet currently works, and build a far more resilient (and user-friendly!) network as a result.
Secondly – blockchain technology enables digital scarcity. It seems like an odd thing to call out as a benefit, but scarcity has a lot of benefits. Computers and the internet made information cheap and easily reproducible, which initially came with a lot of upsides, especially in the realm of content distribution.
But there are downsides, too. If anything can be copied, then it loses value. Blockchain technology makes it possible to create truly unique digital assets, which opens the door to a new kind of value exchange.
This is especially important in an information economy, where so much time and effort is spent creating what are essentially data assets. It’s now possible to create a digital asset that’s every bit as rare and unique as a physical item, and we’ve already seen the first real-world application of this breakthrough: digital currencies.
Finally – blockchain technology is open source. This enables anyone to fork it, modify it, and improve it. This, coupled with the immense interest in Bitcoin recently, creates an environment of unrestricted innovation. There’s no telling what’ll come next!