I don't remember the first time I heard about blockchain. I do, however, remember when I began to hear about it frequently. A couple of years ago, I was working on building tools for community land rights, when our partners and people at conferences began to ask us about it. A colleague and I sat down and said, "we need to figure out this blockchain thing," because we didn't even know how it was relevant, let alone what problems it might be able to fix. Before we started our research, I used to describe blockchain as "the technology that powers Bitcoin." Although this is accurate, it's not very instructive because most people haven't really considered how Bitcoin works.
A blockchain is a distributed set of data that uses cryptography to verify and secure that information. Each piece of data in a blockchain is called a block, and the blockchain is the entire set of that data.
A blockchain is a distributed set of data that uses cryptography to verify and secure that information.]Rather than having a central database server to store the data, everyone involved in the blockchain has a copy of the information. This enables each involved party to verify that an individual block is accurate using hashing and cryptography. Each block is created from a hash of some information. Anyone who has that same information can create the same hash to verify the block; however, they cannot go backward from the hash to re-create the data the block is about. Each person updating the blockchain uses a key that verifies that they are who they say they are.
Public vs. private blockchains
We have said everyone has a copy of the blockchain, but we haven't talked about who is "everyone." In a public blockchain, it could literally be everyone, as anyone can participate. Bitcoin and other cryptocurrencies are examples of public blockchains. Anyone can obtain Bitcoin (although whether they have enough knowledge or if it is practical is another story). They can purchase Bitcoin through another currency, sell something and get paid in Bitcoin, or mine Bitcoin themselves.
Private blockchains define who can participate. A participant can either be approved by whoever set up the blockchain or through a set of rules that define if someone is approved. Private blockchains permit uses that might not work in a public blockchain, such as a bank verifying someone's identity.
Advanced blockchain applications
Advanced blockchain moves beyond simply recording and verifying transactions. Ethereum is an example of an advanced use case. Because code can be executed on the Ethereum blockchain, it enables applications beyond those of a simple blockchain. One such use case is smart contracts. Let's say you want to buy an item from me, but we don't know each other. Instead of just trusting each other, we could utilize blockchain technology to enable the transaction by using the following steps:
- You put the agreed upon payment into an account.
- Code is executed verifying that the payment is there.
- I ship the item to you.
- You verify that the item arrived.
- Payment is released into my account.
All these steps could be turned into algorithms and run to verify each step in the transaction. When individuals sell something small, it's uncommon to make up a traditional contract, although they could. Much more complicated contracts, such as buying a house or executing a will, could be codified in the same way, using algorithms that verify the execution of the contract.
Future blockchain applications
Blockchain shows a lot of promise, but it is not without warnings. When many people participate in a blockchain, the transaction costs can become quite high. Bitcoin is already running into these issues. Many non-cryptocurrency applications are being tested in promising pilots, but none has yet reached scale.
One thesis discussed by Oxford Internet Institute professor Vili Lehdonvirta is that blockchain will have its own governance issues, and if governance issues are fixed, blockchain might not be needed at all. He might have a point, as many of the issues I saw in the land rights sector were attempts to skirt existing governance issues like corruption. If those issues were fixed, there would be little need for the technology.
Governance challenges are something many of us in open source are all too familiar with. Unfortunately, there are seldom easy solutions.
Get the highlights in your inbox every week.