An Introduction to Blockchain Technology
In 2017, you would have to be living on a remote tropical island (Isla del Coco) without internet access or periodicals to not have heard about bitcoin. Even at 9 years old, it’s still nascent, yet it has spurred a frenzy (bubble some would say) the likes of which the world has not seen since the dot-com era. In this post, I will not delve into bitcoin, cryptocurrencies and whether they have intrinsic value or not. Here I will briefly explain the underlying model which bitcoin and cryptocurrencies use as it will have a profound and lasting impact in decades to come as it is applied to information technology: this model is called blockchain.
Cryptocurrencies at Gorilla Logic
In my case, with a background in economics and software, I’m passionate about cryptocurrencies (the intersection of both of these) and what the impact of a global, almost frictionless medium of exchange and store of value could have on humanity, and how it may upend one of the most ancient beliefs we have: that money has fundamental value.
At Gorilla Logic, we have a couple hundred of driven and sophisticated engineers working in Boulder, Colorado, across the United States, and in our state-of-the-art Nearshore Development Center in San José, Costa Rica. Engineers such as these are an intellectually curious bunch who research and write code for work and fun! Lately, their need for understanding this nascent technology has led to a group of people coalescing via chat, participating in meetups, and discussing blockchain in the office.
We have come up with a series of blog posts that will aim to:
- Explain why blockchain is an important technology.
- Demonstrate real world examples of blockchain implementation with smart contracts.
- Explore where blockchain could lead.
On the Importance of Record-Keeping
Records are extraordinarily important; birth certificates, bank balances, and commercial transactions, to name a few, all require a record to be kept along with unique attributes of each. Records must be unique, safe, incorruptible, persistent and normalized. They must be accessible when needed, be it at a moment’s notice or infrequently. Record-keeping mechanisms must scale. There must be millions of different ways to keep and manage records. Imagine how a developed country keeps their birth certificates versus how a lesser developed country would. Some countries use state of the art digital systems developed by a vendor while others must have millions of paper files decaying over time. The individual, as the owner of the record, has little access to it, if any at all. There are no guarantees about their security or fidelity and owners must invest considerable time and resources into getting records when needed.
What is The Blockchain?
The modern blockchain implementation is an open, distributed network designed for append-able record-keeping that can negotiate, settle and verify agreements between two parties in a persistent and transparent way without intermediation by third parties.
In other words, the blockchain is an open and transparent mechanism designed to transact, in a practical and neutral way, without the chance of being maligned during the process.
A cryptocurrency transaction example: cryptocurrencies are bearer instruments. No one person has or keeps cryptocurrencies as they would keep money, they just hold the private keys that verify that an amount of any cryptocurrency belongs to the bearer. This is because cryptocurrencies live in their respective blockchains and the bearer verifies ownership vía a private key.
So, if I want to pay a person for their goods or services with a cryptocurrency, I would enter their unique address to whichever repository (wallet) of cryptocurrency they use in my own repository (wallet), verify that I’m the bearer of my cryptocurrency by entering my private key, and order the transaction to take place. The transaction will propagate (make its way) to the decentralized network where a multitude of independent nodes will verify the legitimacy of this transaction by performing mathematical functions, and if this succeeds (not a bogus transaction) it would be recorded in the blockchain in a permanent and incorruptible manner. Thus the transacted cryptocurrency will have a new owner, or bearer.
Why is Cryptography Important for The Blockchain?
Cryptography is the protocol used to encrypt data in such a way that only the person holding the key is able to decrypt the data. This is important for two primary reasons:
Legitimacy and transparency: A blockchain logs records, or transactions, and allows for verification and transparency thus providing legitimacy. On the blockchain, all recorded transactions persist through time transparently, which means they can be viewed by anyone, at any time. Blockchains utilizing cryptocurrency, provide more anonymity. For example, they record transaction amounts as well as other key attributes of the transaction but have no way of recording what was actually transacted, providing a degree of anonymity as the buyer and seller are recorded via their alphanumeric wallet addresses.
Uniqueness and ownership: For cryptocurrencies, cryptography is also important because it makes each instance of a currency not only belong to someone but also unique. This is the reason why bills have serial numbers, for each to be unique. Bills each have a nominal agreed upon value and uniqueness. Otherwise, we could all print money, but that wouldn’t make anyone wealthy, as the overabundance of money would drive its value lower than whatever medium it would be printed upon. Imagine an app that could be used to create QR codes that would replace money nowhere other than on your phone – the money would become worthless.
Blockchain technology is becoming mainstream. IBM, as well as other vendors, have their own private blockchain. Ethereum Smart Contracts has a public blockchain, and it can be used to create a blockchain of your own. Even Microsoft is making Ethereum Solidity available in Visual Studio.
We can now imagine a world in which your records (birth certificates, licenses, accounts, deeds to name a few) will be kept on a blockchain where you, as the beneficiary of the record, will decide when a third party has the ability to view those records. Imagine the efficiency of not having to renew your passport but rather have it live in a blockchain where you can grant access to a customs officer wherever you are visiting or having the deed to your house transferred automatically and seamlessly to its new owner after the requisites of sale have been met.
Imagine if money, which large swaths of the world do not yet have access to because of banking and government hurdles, was instantly available to anyone with a simple device or an app on a phone…
Stay tuned for part 2 and 3 of this series where we will talk about Understanding Smart Contracts, implementation of Solidity Language in combination with Truffle and the useful Zeppelin Framework, and if you have questions or comments about blockchain, or how Gorilla Logic can help develop your blockchain project, please contact us.