Whenever, or wherever, we discuss blockchain technology the obvious question pops up. Why should we use a blockchain? Especially debating the pros and cons with fellow developers and database admins there seem to be many more use cases for traditional databases that have many advantages in terms of speed, flexibility and operational costs.
Here is an example that especially made me wonder if a project was using blockchain technology for its original intent, or just for the public exposure: https://nltimes.nl/2018/03/01/worlds-1st-babies-born-blockchain-birthed-netherlands. The idea here is that a blockchain is used to lower the administrative burden of a health insurer in maternity care.
There are many more projects and proof of concepts out there that seem to use blockchain technology simply as a way to get funding and attention. These types of projects, while probably fun and interesting for the developers and project leads (“we learned a lot!”) often also seem like a waste of investors’ or public money.
So the question is: what justifies the use of a blockchain? In order to answer this question, let’s take a look at the original intent. The whitepaper on bitcoin starts with this sentence:
“A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution.”
This means that for a transaction to take place, two parties are involved without a trusted third party (TTP) to handle, or at least independently confirm, the transaction. So how, if there’s no TTP, do we manage trust? How can we trust the other party that they are authorized to initiate a transaction? Well, we don’t. The total absence of trust is a foundational element of a blockchain.
The whitepaper mentions electronic cash being used for online payments. Digital signatures are a key part of the solution, as well as timestamping transactions, to prevent double spending. For this to work, we need computational resources. Not just a single computer, but quite a few to protect the network against attacks.
Given that there is no TTP and verification of transactions is done by a network of computers also means that the data, once stored in the blockchain, is immutable. Not only that, the data is also visible for everyone to look at.
Let’s dive a little deeper in each of these aspects to figure out if a blockchain presents an effective solution to a projects’ perceived goal.
If you are looking at a project or idea where the parties involved in a transaction have no reason not to trust each other, this can be a first sign that a simple database solution would work just as well, if not better. If there is a lack of trust but there’s a third party that the two parties agree upon as an intermediary or auditor, the same solution applies.
Effectively, a blockchain is a solution for situations where there’s no trust and no TTP. However, this does not necessarily mean that whenever we can find a TTP there’s no case for a blockchain. This is because TTPs may come and go. Bitcoin was introduced at a time when trust in the financial sector was at a low. Up until then, banks and insurance companies were largely trusted. Governments and their institutions too. All with exceptions of course. But trust in those institutions has faded (1). Several reports indicate that trust is in crisis around the world and that the general population’s trust in government, NGOs, media and business has declined.
This is not to argue that we should immediately convert every system that deals in transactions to a blockchain solution because “we cannot trust anyone”. We should, however, be thoughtful of the fact that trust, and therefore a TTP, may come and go and is therefore not an absolute given. There’s also a downside to using blockchains.
The disadvantage mostly mentioned is speed, or rather, lack thereof. The Ethereum network handles about 10 transactions per second at this time. Bitcoin does even less. Large payment processors like Visa handle thousands of transactions per second. Another commonly noted disadvantage is the resource intensive way transactions are validated. The “mining” of blocks for the blockchain uses computer processing power. This is not a problem per se, because traditional databases consume resources as well. The incentive for mining has, however, resulted in a perverse race to the top.
Given the number of projects (2) that try to solve these issues may prove that they are not fundamental flaws in blockchain technology. It does mean that selecting a specific blockchain platform for a project may prove a challenge in and by itself.
We know that in a blockchain a full copy of the data is stored on every node that participates in the network. As long as a majority of these nodes have consensus on the information stored in the database, it’s not possible for a single party to modify the data. There’s no way to rollback a transaction and no way to hide information. In a completely decentralized blockchain, like Bitcoin, all transactions are announced publicly. This doesn’t mean that there’s no privacy. Privacy can still be maintained by keeping public keys anonymous. The idea here is that we can see which two public keys are involved in a transaction but we have no way to know who is behind that public key. Unfortunately, given enough transactions it can become obvious who’s behind a public key. As an additional privacy measure, a new key pair could be used for each transaction to keep them from being linked to a common owner. Some linking is still unavoidable with multi-input transactions, which necessarily reveal that their inputs were owned by the same owner.
To overcome this issue, if it’s perceived as one, several blockchain platforms, Dash being one of the first, implement the feature of a masternode. These nodes perform special functions within the blockchain, one of which is increasing privacy of transactions. It is achieved by mixing inputs from one address with the inputs of two other addresses, without having the coins ever leave the original wallet. Notice that this increased privacy only works when dealing with interchangeable currency. For the receiver, it’s irrelevant to receive either 1 coin from 1 address or two half coins from 2 different addresses. For other assets, digitally stored in a blockchain, splitting them up is usually not a good idea (3).
So transparency in the data is either a goal of the project or at least not an objection.
The three aspects, lack of trust and lack of a trusted third party, availability of resources, and information transparency will impact the viability of a blockchain project. Typical examples where these criteria apply are:
Crowdfunding initiatives like Gofundme and Kickstarter are increasingly popular which suggests people want to have a direct say in product development. Blockchains take this interest to the next level, potentially creating crowd-sourced venture capital funds. In 2016, one such experiment, the Ethereum-based DAO (Decentralized Autonomous Organization), raised $100 million USD in two weeks. Participants purchased “DAO tokens” allowing them to vote on smart contract venture capital investments. It needs to be said that several people expressed concerns that the code was vulnerable to attack and the infamous DAO hack (4) proved this to be the case. It’s also important to note that the Ethereum network has no such bugs and has been working perfectly the entire time.
Supply chain auditing
Blockchains provide an easy way to certify that the backstories of the things we buy are genuine. Consumers want to know that the ethical claims companies make about their products are real. Since transparency comes with blockchain-based timestamping of a date and location of a product that corresponds to a product number.
Developing digital identity standards is proving to be a very complex process. There are many initiatives that have been trying to tackle this, but technical issues aside, a universal online identity solution requires cooperation between private entities and government. The ability to verify your identity is essential for financial transactions that happen online. Blockchains can offer enhanced methods for proving who you are, along with the possibility to digitize personal documents. Having a secure identity will also be important for other online interactions e.g. in the sharing economy. A good reputation, after all, is the most important condition for conducting transactions online.
Many more examples, not all of them valid when challenged against the mentioned criteria though, can be found here: https://medium.com/fluree/blockchain-for-2018-and-beyond-a-growing-list-of-blockchain-use-cases-37db7c19fb99
Blockchain technology can power a world in which contracts are stored as code in a transparent shared database, shielded from deletion, tampering and modification. The potential of the blockchain can translate into individuals, organizations, and machines interacting with each other with as little friction as possible. Every task, transaction or agreement would have a digital signature that can be identified, stored, shared and verified. Third parties like banks and governments, but also notaries and accountants might no longer be necessary. But implementing and applying the technology comes at a cost. And it’s therefore wise to analyze if any new project that wants to implement a blockchain does so because of valid criteria in terms of trust, transparency and resources.
To name a few: Litecoin, NEO, Ethereum’s Raiden Network, Bitcoin’s Lightning Network, Nano, Nem, Ripple, Cardano, Waves, Stellar, IOTA, and many more.
Another solution for maintaining privacy may be zero-knowledge proof (https://en.wikipedia.org/wiki/Zero-knowledge_proof). Protocols that implement this allow two parties (a prover and a verifier) to prove that a proposition is true, without revealing any information about that thing apart from it being true.