Blockchain – Hype or the Next Internet?

Blockchain mining

Part 1: Blockchain – Hype or the Next Internet?
Part 2: Blockchain – Hype or the Next Internet? Part 2
Part 3: Blockchain – Hype or the Next Internet? Part 3

Now that the top was blown off the top of cyber currencies such as bitcoin, Ethereum, and many other altcoins (circa February 2018), let’s jump on the hype, push it down, and continue the very important discussion of enterprise blockchain.

The following are my musings and experiences with blockchain over the past year. I offer my insights and opinions because I continually run into many people within my circles that that have no idea what blockchain is, or if they do, they look at me and say something like, “Oh bitcoin? Yeah, that’s a scam.”

In the following series, I’ll share why enterprise blockchain has leveled up my geek-o-meter two more notches, but more importantly I look to help enlighten anyone I can on why blockchain matters. Although I am going to provide a basic overview of blockchain and will even discuss cyber currencies, I do not seek to go deep into the math or technical white papers. Looking for a good Blockchain intro? You can always check out Wikipedia. Further, I am not a financial adviser and I’m in no way suggesting or recommending anyone “invest”, or rather “gamble” in cryptocurrencies. Full disclosure, yes, I do own some cryptocurrencies; I want skin in the game.

Blockchain as a new foundational protocol

I’ll cut to the chase, I look at blockchain like TCP, an underlying technology or idea that has uses far beyond what we see today. As email was one of the first TCP killer apps, Bitcoin, the very hyped cryptocurrency that essentially invented blockchain, is blockchain’s first killer app. I wish I could say I was the first to come up with this analogy but that distinction belongs to others.

Keep this in mind as we investigate what this means for business, transactions, and even our lives moving forward.

My blockchain story

My story into blockchain is different than most I talk to. Like many others, I heard of bitcoin around 2011, but with little foresight in this case, I ignored the “fad” and moved on with my tech passion at the time, SharePoint 2010. In the paragraphs and posts that follow, I provide my take on blockchain, what it is, and just as importantly, what it isn’t. I do not seek to break new ground, you can use my references and resources I quote to learn this on your own accord, rather I want to help you jump start your journey or help fill in gaps in your current experiences with blockchain based on my experiences and investigations.

In the middle of 2017, as I found Microsoft investing more into blockchain technology, my inner geek wanted to know what “mining” was all about. You might have heard of bitcoin mining before as well, maybe not, but don’t worry, we will explain “mining” shortly. I was interested in mining not because I wanted to mine, rather I wanted to understand how an algorithm could be built that would become harder or easier to solve over time as more or less miners joined the fray. For those that have also read Satoshi Nakamoko’s original papers, I bet you would agree that what he/they came up with was genius yet simple. This is what I think speaks to a geek like me.

Every so often someone comes along and pulls ideas together to create something truly amazing.

Like TCP before it, that groundbreaking mashup of ideas is blockchain.

Blockchain 101

Ok, ok, we are getting way ahead of ourselves. Mining and mining algorithms? Satoshi Nakamoto? Microsoft is jumping onto the band wagon? Yes yes, let’s build more foundation first.

Blockchain seeks to solve a problem of accountability of a chain of events in a distributed manner. Bitcoin provides a good example, so let’s start there.

The problem: How can you have a monetary system that does not rely on a central authority?

Possible solution: Create a network of X number of nodes that do not trust each other, yet all store and share a combined ledger. These nodes then make up a network that acts as a global, distributed central authority. For this to work, a protocol must be created, that those that choose to participate agree to, that provides a mechanism for a trust of a chain of events.

Blockchain is this protocol

Blockchain achieves its aims by providing blocks of events in a decentralized network with full transparency and openness. Primary pillars to implement this protocol include public/private key encryption and hashes, a distributed ledger, and proof of work (POW). The first two pillars are the standard for blockchain, be it crytocurrency or enterprise blockchain (more on this later), while proof of work has evolved to address the needs of a particular blockchain network and goals.

Public key encryption and proof of work have been around for over 20 years now, while the idea of a ledger is of course near timeless. What’s truly remarkable is how Satoshi Nakamoto (who is this? More on “him” in a later post) combined these ideas into a new revolutionary technology.

Distributed ledger

A distributed ledger is mostly self-explanatory, that being a single ledge of all transactions across all participants in a linear fashion that has been distributed over a wide network of nodes. All nodes are continuously tracking and verifying all new entries to ensure that there have been no shenanigans.

Blockchain accomplishes this by creating a block of transactions every so often. Each block contains a hash of the previous block, i.e. a pointer to the previous block, a timestamp for itself, and the list of transactions the block wishes to record. This block is then submitted to the network so it is recorded to the distributed ledger. If we use bitcoin as an example, a new block is added about once every 10 minutes, and of course each new block always points to the block before it.

I will repeat this. Each block always contains a hash, think of it as a pointer, to the block that precedes itself, creating a chain of blocks. What is extra ingenious about this approach is that as more blocks are added to the chain, it becomes increasingly more difficult to hack a given block because basically all subsequent blocks would also have to be hacked so the hashes match.

Public key encryption

Public key encryption is a battle tested method to encrypt data, but it also offers a useful method to digitally sign something. Blockchain uses public key encryption for this signing purpose to ensure that a given transaction should in fact take place. Say that Bob wants to send Mary one bitcoin. Bob can post a transaction request that he wishes to send Mary one bitcoin. He signs the message with his private key. Now everyone can verify that Bob did in fact make this request because only his public key validates the digital signature.

There is whole trove of material available on the math of how this all actually works. Start with Wikipedia and refer to the references. Known pitfalls exist like what happens when Jim steals or otherwise acquires Bob’s private key? Or what happens when Bob loses his private key? The short answer is that if a private key is stolen, an identity can be impersonated with little chance of being caught. When a private key is lost, no more transactions from “Bob” will ever occur again on the blockchain.

Remember: using public key encryption and its digital signature ability, we can ensure that a given transaction is valid for a given participant, because only that participant has the private key necessary for a proper signature.

Proof of work (POW)

Proof of work provides us the final pillar of blockchain, V1, such as bitcoin. Please note that there are now other strategies to fulfill POW duties. Let’s stick with POW for now. POW is a mechanism that is used by all the nodes within a given bockchain network to decide who gets to add the next block to the chain.

Again, a primary premise of blockchain is that a distributed set of nodes are maintaining a ledger, but none of these nodes trust each other. How then do they all decide who gets to add the next block on the chain?

POW is basically a mathematical problem that each node attempts to solve as quickly as possible. The mathematical problem is based on the transaction data of the block that a node wants to add to the chain. The problem is very difficult to solve, yet the answer is extremely fast to verify. Further, the problem must get harder and harder to solve as more nodes are added to the network and computational power increases. At least in the case of bitcoin, the protocol states that the problem should be solved by one node about every 10 minutes. The problem difficulty changes every so often to keep this timeframe in check.

The moment blockchain mattered to me

This “problem” is what drew me to blockchain. Very few people that work with cryptocurrencies care about POW, and most I found don’t even know it exists. I personally find POW fascinating.
In a nutshell, the problem requires a node to take the block it wants to add and tack on a random seed, say a number, get the hash of this block, and keep increasing/changing the number or seed until the hash starts with X zero’s.

That’s it.

Getting the hash of a block of bits is very quick, but figuring out the right order of bits that will start with say 100 zeros can take billions of attempts. Yet once the answer is found, anyone can verify that answer in milliseconds.

Genius.

Satoshi Nakamoto did not invent this idea, it was actually conceived around 1993 to help cut down on spam. The idea was that if an email message with a random seed number could be determined to have a hash with X leading 0’s, where X leading zeros took on average a second to determine (about one million tries), then it would be very difficult for spammers to send millions of messages if it took about one second to send a message. Normal email users wouldn’t notice a slight delay if all email clients required this POW, but spam would stop. Needless to say, the concept was not adopted for email, but the idea lives on.

Once a given node solves the problem, it publishes its block to all of the other nodes. Once 51% of the nodes agree that the block is valid and the POW is correct, the block is now added to the chain and all of the nodes again compete to add the next block. Blockchain does solve for cases such as when two nodes attempt to submit valid blocks at the same time, which I will pass over for now.

When a block is successfully added to the chain, the node that added the block is awarded a certain amount of credit or “coin.” These nodes are commonly called “miners”, as each time a block is added to the chain, more “coin” is added to circulation.

The example above is most specific to bitcoin, while other blockchain networks may use different mining and reward systems. In the case of bitcoin, over the next approximately 100 years, a total of twenty-one million bitcoin will eventually be mined. According to the protocol, this is set and unless 51% of the miners agree, that is the max number of bitcoin that will ever exist. Have you heard someone say they think one bitcoin will reach ~$50,000 USD in 2018? If you do that math, we’re talking about a one trillion USD market cap of all possible bitcoin that will ever be mined.

All taken together, we have Blockchain

To be fair, there were more direct precursors to blockchain than what was proposed in 2008. In 1991 and 1992, work was being done on cryptotlogically secure chain of events and in 1998, Nick Szabo proposed a decentralized digital currency he called Bit Gold. This work and others must have been known by the original creator(s) of blockchain and provided foundational work to build upon.

Let’s pause here to absorb Blockchain 101. In my next article, we’ll look at limitations of Blockchain, insights into enterprise Blockchain, Microsoft’s work in the space and more.
In the meantime, what are your thoughts regarding Blockchain? Do you see the potential I see? Are you all in? Or am I off-base and have just been sucked into the hype? I look forward to the discussion and debate.

Speak Your Mind

*