Blockchain will celebrate its 10-year anniversary this year. After the anonymous inventor, Satoshi Nakamoto created the Blockchain to establish the first decentralized cryptocurrency called Bitcoin, the newly created industry has not been sitting still.
In only 10 years, we have moved from a single implementation to hundreds of cryptocurrencies and non-currency related Blockchains. While many of them are either direct copies or only tweaked versions, we have also seen major extensions and improvements of the Blockchain protocol. It is a world full of very complicated techniques and algorithms, however I will try to briefly explain the basics. Afterwards I shall discuss the extensions and improvements of Blockchain in order to understand where we are as an industry.
The genesis generation of Blockchain
The Blockchain has allowed the world of IT to move towards decentralization. When independent parties interact, they often require a third neutral party to observe and enforce the agreement between the parties. For example, you trust your bank to keep your money safe, and you probably trust(ed) Facebook to keep your personal data private. With the decentralized power that the Blockchain provides, we can move away from needing these trusted third parties. The Blockchain will provide that same trust and enforcement, but will not be able to abuse it, as it is not a single entity.
Bitcoin is an implementation of Blockchain technology. Through a selection process, which is called the consensus mechanism, the Blockchain network allows a random contributor to the network to gather the latest payments and put them in a block of data. The Bitcoin consensus mechanism is called “Proof of Work” and is, in essence, a very complicated puzzle. Once this puzzle has been solved, it allows you to create the latest block and claim a reward.
After the block has been created, the entire network will verify that the block has been created according to the rules. To clarify, they check if the block has only valid transactions and that the solution from the puzzle is correct. This process makes sure that the system remains fair and nobody can illegitimately create money or spend someone else’s money. Once the block is deemed valid, it gets added to the chain of previous blocks in order to create a single chain of events that make up the history of the Blockchain. This makes sure that all the participants can verify later blocks based on the same history.
Unfortunately, the original Blockchain implementation comes with a few important flaws, such as the heavily debated scalability issue, where Bitcoin can only support 7 transactions per second. This issue has sparked a lot of projects with different solutions. While the problem is very important to solve, I personally believe that increasing the usage of Blockchain is also very important. Where Bitcoin is, currently, just a way to create a decentralized currency, other projects try to have a go at creating decentralization in other industries. Enter Ethereum.
The smart generation of Blockchain
The second generation of Blockchain applications has been kickstarted by Ethereum. Ethereum is a cryptocurrency Blockchain project, just like Bitcoin. In addition, Ethereum is also called a virtual supercomputer that executes and validates small computer programs called “smart contracts”. These contracts can be made by anyone with some programming experience, which can add rules to money.
Counterintuitively, these “smart contracts” aren’t actual contracts. They allow programmers to create a script that will be executed on the entire network. This makes sure that the script’s rules are always enforced, just like real contracts. The smart contracts can be used to add logic to money, but also for any other logic that normally needs to be enforced by a third party. Such as services offered by Cloud Services, PayPal and Ticketmaster.
The most popular usage of these smart contracts ended up being the Initial Coin Offerings (ICO), which is a decentralized fundraiser for projects, where people purchase tokens in the hope that these tokens increase in value when the project is finished. Unfortunately, this has exposed the dark side of an unregulated process, where many people get scammed out of their money. The ICO creators never make the promised product and just run with the money, which causes the token to crash in value.
Overall, Ethereum is a great addition to the Blockchain industry and has, since its invention in 2013, sparked many other projects interest in supporting smart contracts. It has allowed companies to research use cases of Blockchain outside the financial world, such as asset tracking and identity systems. Since a Blockchain is basically irreversible, we can trust that data on the Blockchain will stay the same. This allows companies to remove trust issues, by placing their data on a smart contract.
The generation beyond Blockchain
The scaling debate remained unresolved for a long time, and some projects have looked for solutions beyond the general Blockchain. The first projects are starting to get realized using a Direct Acyclic Graph (DAG). This is technically not a Blockchain but is built upon on the ideology of the Blockchain and improved on it. An example of the DAG is the IOTA cryptocurrency, tailored for the Internet of Things (All small devices and sensors, connected to the internet). The Tangle, which is a DAG implementation, is a web of blocks consisting of single transactions that have completed their own proof-of-work, which is a requirement to prevent spamming the network (Figure 1). To add a transaction to the tangle, you first need to check if two older transactions are valid. This involves the same kind of checks as the original Blockchain algorithm. In Figure 1 we see transaction A, confirming B and D, which each has confirmed other transactions.
Figure 1: A small part of the Tangle. The blocks represent transactions, with the arrows indicating the confirmations. The number in the bottom right is the weight of the transaction and the top left is cumulative weight. Source: iota.org
This new protocol comes with a few huge upsides. Firstly, this protocol has very few issues with scaling. The more transactions that get sent over the tangle, the faster transactions are confirmed, leading to an inverse scaling problem. This means that the tangle has slow confirmation times if the network is not used enough. IOTA has temporarily fixed this problem by using a coordinator, which helps select unconfirmed transactions, making the system more efficient. However, the coordinator is a centralization of the system, which is why many people are skeptical of IOTA until the coordinator is removed.
The second improvement is the fact that transactions have zero fees. This allows the use of the protocol for micropayments of just a few cents, while not having to pay any fees. The cost of a transaction is in the proof-of-work that the sender must perform. This opens up a big set of applications, where people could pay small amounts of “confidence fees” to, remove advertisements from websites for example. In addition, streaming payments are possible, where you only pay for what you get, such as charging your car (Figure 2).
Figure 2: Example of streaming payments. You pay for each unit of electricity, which makes sure you cannot leave without paying. Source: iota.org
Besides IOTA, a few other cryptocurrencies are built on the idea of a DAG. Nano comes to mind, which creates a lattice of personal Blockchains per user, that all interact with each other. They strive to be the real payment processor, with zero fees and no scaling issues. This makes them very strong competition of Bitcoin as well as other cryptocurrencies that focus on being a worldwide currency. In theory, Nano should be the clear winner, however, all cryptocurrencies need to mature before big conclusions can be made about which protocol is superior.
The world of Blockchain development has been evolving fast since its inception. Many new protocols are being developed, which allows the use the Blockchain on more and more projects. I have discussed the three main generations in the Blockchain development, each with new traits. Despite new ones, each previous generation of Blockchain development stays relevant. The first generation is experimenting with second layer solutions to improve the scaling issues (More info will be provided in a future blog). The second generation introduced smart contracts, which has created a new platform of applications to replace third parties. And the latest generation is future proof and can be used on a global scale. IOTA and Nano are both very promising projects and may accelerate inventions that are normally seen in science fiction.