In the previous video we talked about the basic workings of the original blockchain concept, but over the past years it has been evolving fast, from the original Bitcoin protocol to the second generation Ethereum platform, to today where we are in the process of building what some call blockchain 3.0 In this evolution we can see how the technology is evolving from its initial form as essentially just a database, to becoming a fully fledged globally distributed cloud computer. In this module, we are going to trace the past present and future of blockchain technology.
The first blockchain was conceptualized in 2008 by an anonymous person or group known as Satoshi Nakamoto. The concept and technicalities are described in an accessible white paper, termed “Bitcoin: A Peer-to-Peer Electronic Cash System.” These ideas were then first implemented in 2009 as a core component supporting bitcoin where it serves as the public ledger for all transactions.
The invention of the blockchain for bitcoin made it the first digital currency to solve the double spending problem without the need of a trusted authority or central server. It was only later that we came to really separate the concept of the blockchain from that of its specific implementation as a currency in bitcoin. We came to see that the underlying technology had a more general application beyond digital currencies in its capacity to function as a distributed ledger tracking and recording the exchange of any form of value. The bitcoin design has been the inspiration for other applications and has played an important role as a relatively large scale proof of concept.
Within a few years, the second generation of blockchain emerged designed as a network on which developers could build applications; essentially the beginnings of its evolution into a distributed virtual computer. This was made technically possible by the development of the Ethereum platform. Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract functionality. It provides a decentralized Turing-complete virtual machine, which can execute computer programs using a global network of nodes.
Ethereum was initially described in a white paper by Vitalik Buterin, in late 2013 with a goal of building decentralized applications. The system went live on 30 July 2015 and has been very successful attracting a large and dedicated community of developers, supporters, and enterprises. The important contribution of Ethereum as the second generation of blockchains is that it worked to extend the capacity of the technology from primarily being a database supporting bitcoin to becoming more of a general platform for running decentralized applications and smart contracts, both of which we will discuss more in coming modules.
As of 2018 Ethereum is the largest and most popular platform for building distributed applications on, many different types of applications have been built on it, from social networks to identify systems to prediction markets and many types of financial applications. Ethereum has been a major step forward and with its advent it has become ever more apparent where we are heading with the technology, which is the development of a globally distributed computer, a massive globally distributed cloud computing platform upon which we can run any application at scale and speed, with the assurance that it has the security, resilience, and trustworthiness of today’s blockchains.
However the existing solutions that we have are like extremely inefficient computers, the existing blockchain infrastructure is like a really bad computer that is not able to do much except proofs of concepts. Getting to the next level remains still a huge challenge that involves some original and difficult computer science, game theory and mathematical challenges. Scalability remains at the heart of the current stage in the journey that we are on and this is what the third generation of blockchain technologies are trying to solve.
The mining required to support the Bitcoin network currently consumes more energy than many small nations being equal to that of Denmark and costing over 1.5 billion dollars a year in electricity. A Lot of this is being fueled by cheap but dirty coal energy in China where almost 60% of the mining is currently being done. This high energy consumption is simply not scalable to a mass adoption.
Ethereum and bitcoin use a combination of technical tricks and incentives to ensure that they accurately record who owns what without a central authority. The problem is, it’s difficult to preserve this balance while also growing the number of users. Current Blockchains require global consensus on the order and outcome of all transfers. In Ethereum all smart contracts are stored publicly on every node of the blockchain, which has trade-offs. The downside is that performance issues arise in that every node is calculating all the smart contracts in real time, resulting in lower speeds. This is clearly a cumbersome task, especially since the total number of transactions is increasing approximately every 10–12 seconds with each new block.
The volume of transactions is likewise an existing constraint. With cryptocurrency, speed is measured by TPS transaction per second. The bitcoin network theoretical maximum capacity is up to 7 transactions per second while the Ethereum blockchain as of early 2018 can handle about 15 transactions per second. By comparison Visa’s network is capable of handling more than 24,000 transactions per second, similarly, Facebook may have about 900,000 users on the site in any given minute meaning that it handles about 175,000 requests per second.
Another issue is that of cost, the fact that it cost some small amount to run the network so as to pay the minors for maintaining the ledger. What we have is OK for a limited number of large transactions such as sending money, but making a small transaction like purchasing a coffee could not be done by most blockchains. They simply cannot in their existing form deal with a very large amount of micro-transactions such as would be required to enable high volume machine to machine exchanges, it would prove too expensive to operate these kinds of economies that involve many small exchanges.
In response to these constraints, a third generation of blockchain networks are currently under development. Many different organizations are currently working on building this next generation blockchain infrastructure such as Dfinity, NEO, EOS, IOTA and Etherium itself and they each use different approaches to try and overcome the current constraints. Going into the details of how these different networks work is a bit advanced for this course so we will just give a very brief overview.
Lightning Network is a project that seeks to extend the capacities of existing blockchains. The main idea is that small and nonsignificant transactions don’t have to be stored on the main blockchain. This is called an “off chain” approach because small transactions happen off of the main blockchain. It works by creating small communities wherein transactions can take place without those being registered on the main blockchain. A payment channel is opened between a group of people with the funds being frozen on the main blockchain, those members can then transact with each other using their private keys to validate transactions. This is a bit like having a tab with a shop, where you just mark down what you have exchanged so that you don’t have to update the main record in the bank each time you make a purchase, the record stays local before at some time setting the finances and updating the main bank records.
This only requires two transactions on the main blockchain, one to open the transaction channel and one to close its, all other transactions happen just within that network without it being registered on the main blockchain. This both reduces the workload on the main blockchain and makes it possible to have a very many very fast transactions within the subnetwork. As of the start of 2018, there is a proof-of-concept running live on the bitcoin testnet but the system will not be fully operational until later in the year.
IOTA is another example. Whereas existing blockchains are sequential chains where blocks are added in regular linear chronological order the IOTA data structure is able to achieve high transaction throughput by parallelizing validation, the data structure is more like a network rather than a linear chain wherein processing can take place alongside each other.
The other big difference is that there are not specialized minors in this network, every node that uses the network functions as a minor, in the IOTA network every node making a transaction also actively participates in forming the consensus, that is to say, doing the mining. This means there is no centralization of mining within the network which is what creates bottlenecks and uses lots of energy, likewise, there are no transaction fees for validation and with IOTA because it is more user-generated the more people that use the network the faster it becomes, which is the opposite of existing systems.
There are lots of other possible approaches but suffice to say that blockchain should be understood as an emerging technology whose existing implementation is like a large-scale proof of concept running on a very inefficient system, but through lots of experimentation and iteration will hopefully in the coming years evolve into this globally distributed computer. As Melanie Swan writes in her book Blockchain a blueprint for a new economy “First, there were the mainframe and PC (personal computer) paradigms, and then the Internet revolutionized everything. Mobile and social networking was the most recent paradigm. The current emerging paradigm for this decade could be the connected world of computing relying on blockchain cryptography.”
To understand this better in the next section we are going to talk about the blockchain in the context of the broader technological changes that are currently underway as we built the next generation of the internet, what we call the decentralized web or web 3.0 How we understand the blockchain and where we are with it today is extremely transitory, in this respect what we are talking about in this course when we talk about the blockchain is really this emerging IT infrastructure for a distributed global cloud computer, the next generation of blockchain will just take us a step further on that journey. What we call the blockchain today is really just a very limited and often very inefficient version of this, we still have many very difficult problems to solve before we get there. Possibly that end state will look something like the blockchain of today but possibly it will look very different.