“Blockchain” is all the rage, but why?
Many people will have varying answers to that question, and a lot of those answers carry validity. The technology that underpins Bitcoin is gaining hype because its proposing to help solve problems in many different fields that dramatically affect our lives. The purpose of this post is not to give a broad overview of all the reasons blockchain is innovative, you can google that if you have not heard of them. This post is to provide you with an additional viewpoint that is often overlooked or not expressed explicitly.
The goal of this post is to show you how Blockchain, in particular the Ethereum blockchain, fundamentally changes the idea of trust.
In order to understand how something is disrupted, you must first understand the original thing. So let’s take a look at the traditional trust model which is based on the “client/server” relationship. As the internet has grown and developed to allow businesses to communicate and service their clients all over the world, the infrastructure that enabled this growth always imposed a specific relationship between the service provider and the client. That is, in order to interact with a service that leveraged the internet, you had to create and store credentials and all relevant information with them on their servers, and you were forced to trust them with that information. This imposed relationship centralized people’s personal information, making it vulnerable to attack, as well as adding cost to the business for securing and maintaining it.
To use a service, you had to put your trust in the people that ran that service.
All innovation and progress since the internet began worked towards strengthening this relationship. We’ve made it faster and more secure. We’ve added layers of convenience to users, but at the end of the day if two users of a service want to communicate, they MUST go through the service’s mediation. It was not planned to create centralized points of failure and mandatory mediation of communication, it was just how the internet worked… until the blockchain was invented.
With the first wide scale implementation of blockchain technology, Bitcoin showed us that a new trust model has emerged that doesn’t rely on trusting people to properly store and mediate your communication. Instead, the trust is put solely into the system, which has strong security promises baked into the way it works. The cryptography that blockchain is built upon allows for true peer-2-peer value transfer, a central data store with universal access, built in tamper evidence, sovereignty of your digital identity, and many other things. The trustless nature of how the entire network agrees on the state of the blockchain and validates the new information being added ensures no one can hijack the network or change the data stored within. Ethereum’s implementation of smart contracts then adds another layer of trustlessness, allowing businesses to create more complex services while not having to be responsible for the personal data of their users.
When creating a new business or service, you are now faced with a new question. What is the trust model of this service and the people that interact with it. The client/server infrastructure of the internet forced you to have a single trust model which you built around. Blockchain technology has enabled a variety for you to choose from that best suits your needs.
Blockchains: Bitcoin to Ethereum
Now by this point, you should have asked “OK, I get it. A blockchain is useful and innovative, but what IS IT?” I’ll let the creator of the Ethereum blockchain start the explanation:
A blockchain is a magic computer that anyone can upload programs to and leave the programs to self-execute, where the current and all previous states of every program are always publicly visible, and which carries a very strong cryptoeconomically secured guarantee that programs running on the chain will continue to execute in exactly the way that the blockchain protocol specifies. — Vitalik Buterin
The main crux of this post is to discuss how something called blockchains and smart contracts enable new trust models in client/business interaction, but we need a bit of background before we can get there. First, we need to learn a bit about Bitcoin, the very first blockchain. We’ll then discuss how Ethereum was created to be a bit different. These will certainly not be exhaustive descriptions of the details for each of these systems, only a baseline to get your mind in the right place.
For the interested, Bitcoin and Ethereum network stats can be seen in the slides linked at the bottom of this article.
Bitcoin started it all
Bitcoin was first introduced by a person or persons under the pseudonym Satoshi Nakamoto. His publishing of the paper “Bitcoin: a Peer-to-Peer Electronic Cash System” in late 2008 was the first specification of a protocol that uses blockchain technology. In early 2009, he published the software that implemented his ideas and specification, and the network grew to what it is today. It was the first solution to creating digital scarcity and solved the “double spend” problem of exchanging digital tokens, without the need for a 3rd party to mediate the transaction. As you can tell from the title, the purpose of the network was to create a digital cash system to allow for people send and receive money freely across the globe, in a cheap, secure, and fast way.
Ethereum expanded the space
Vitalik Buterin wanted to expand the role of Bitcoin to go behind financial transactions, and enable smart contracts to take decentralized applications to a whole new level. He fell upon difficulties getting things changed in the Bitcoin protocol, and set out to create something brand new, which grew to become Ethereum. The Ethereum whitepaper was released on Ethereum’s smart contract language, Solidity, is considered a Turing complete language which means you can program just about anything you want using it, theoretically. This expansion of the language, combined with robust developer tools and a blockchain protocol designed to be a platform for applications has quickly propelled Ethereum into the number two slot in terms of market capitalization. While Ethereum can transfer tokens of value akin to Bitcoin, its main purpose is the creation and deployment of automated code execution, or a public work computer with transfer exchange built in. This is done through the an innovation called “smart contracts.”
Now we can finally talk about smart contracts! The idea behind smart contracts is relatively simple, because we already have an intuitive idea about what a contract is. What makes them “smart”?
When explaining the concept of a smart contract to other people, I’ve found that comparing them to robots helps. a “robot” is basically a programed entity with a given amount of functionality. It then goes out and performs that functionality exactly as it was programmed to, with whoever has access to it.
That’s exactly what an Ethereum smart contract does, but it lives in the Ethereum blockchain. That means its functionality is locked and any interaction with it is recorded and auditable. When deployed to the Ethereum blockchain, it is given an identity for others to contact it, which for all intents and purposes, makes it just as equal to you and me in terms of its capability. It’s like a robot that lives in the Ethereum network, that can manage money, contact other people or smart contracts if a particular event happens, perform calculations, and much more!
Services and applications that are built up on smart contracts are called decentralized applications, or dApps. dApps use the blockchain as a “back-end” instead of a traditional server and database, and operate based on the open and public rules of the blockchain they live on.
Applications of dApps
I would like to stress that a dApp should feel like a normal application, but its blockchain back-end enables a few things that are difficult in traditional client/server based applications, like:
- No single point of failure
- Immutable functionality
- Transparent, immutable, and auditable history
- Token exchange without central authority
What’s your trust model?
Up till now, we have discussed how the open and public Ethereum blockchain expands upon the traditional trust model that the client/server infrastructure of the internet shepherds. While working in the former, you put all of your trust into the blockchain system. If using the later, all of your trust is placed into the people that run the system. Life is not black and white, and luckily neither are your options when it comes to how you can place your trust. The protocol of the Ethereum network is a completely open-source project which can be copied over for private or semi private purposes, but with certain trade offs. This is typically referred to public vs. private blockchains.
The Ethereum main net is a completely open and trustless network, a true public blockchain. The token associated with the network, the Ether, is used to fuel transactions, and the computations that smart contracts perform, and has a relative value. Anyone who builds on or uses the Ethereum main net must use Ether to do so. As a public blockchain, all data stored within is public as well, despite being able to restrict access to changing the data. Any smart contract built on the network can also leverage any smart contracts that are currently deployed, created a drastic synergistic effect as the number of dApps grow. But because the network is completely trustless, maintaining a fault tolerant and attack resistant is relatively slow and expensive (per transaction cost) when compared to traditional databases. Trustlessness is not easy or cheap (yet).
But what if you can trust all of the people in the network, obviating the need for trustlessness? What if you need the contents of the blockchain to be permissioned and private? Then a private blockchain may be a potential use case for you to scale the speed and cost, but you pay the cost of losing the synergy of the entire network, and may be better served on a traditional database, depending on your use case. This is a very hot topic, and the subject for a later article.
What if you have a group of entities that need to agree on the same set of data, but also require some scale and privacy. If there is no incentive to destroy the network or cheat the data within the blockchain, expanding the private blockchain to be maintained by many people allows for more efficient communication and auditing amongst a consortium of people, as well as a central source of truth.
This section is to bring you back to reality. You may have heard more about Blockchain lately, and less about Bitcoin. It is important to keep in mind the relative differences of the space in order to understand how much attention you should pay to various projects or blockchains. One metric to do so is simply the market capitalization of the token supply of a blockchain, i.e. how much money is the network worth? Below is a chart showing the top 10 cryptocurrencies by market capitalization as of mid April, 2017.
We can see that in terms of money, Bitcoin is vastly ahead of everyone else. Why? Well for one, Bitcoin is older. Bitcoin started in 2009 whereas Ethereum started in 2015. That is 6 years of infrastructure building, brand awareness, investment, and development that has happened before Ethereum even got started.
These technologies are often considered infrastructure level protocols, necessary roads that need to be laid in order for true innovation to take place. This is akin to all the protocols that make the internet run and allow for companies like Facebook and Google to exist. If we view the value of a blockchain based on its ability to enable applications, then Ethereum and the smart contracts platform it creates is the industry leader.
The genie is out of the bottle with blockchain. Now that we have the technology you can be sure it will remain relevant to how we interact, communicate online, and transfer value. That being said, it needs to be understood that the entire space is nascent, and attempting to project what the blockchain landscape will look like in the future is ill-advised.
About the Author
Corey Petty is a Blockchain Analyst at Novetta Solutions, and holds a PhD in Computational Chemical Physics from Texas Tech University which focused on efficiently scaling software across supercomputers. After graduating, he co-founded The Bitcoin Podcast and spent his time studying all aspects of the blockchain community, immersing himself in the technology and the people that build it. Corey also helps produce the BlockChannel Podcast
This post is a distillation and summary of a recent Novetta Tech Talk performed at the Jailbreak Brewery. The slide deck of which can be found HERE [INSERT LINK HERE]. If you would like to come to the next Novetta Tech Talk, check THIS [INSERT LINK HERE] out.