Our Blogs.
17 minutes reading time (3355 words)

Bitcoin, a new approach

blog-cmccrea-bitcoinexplanation

By now you've heard of Bitcoin and it's incredible run-up in price from $1000 per coin in January 2017 to around $20,000 in December 2017. You may even know of Bitcoin as a way to pay for things over the Internet as a kind of digital money. I've been hearing about bitcoin and cryptocurrency for more than a few years now but never understood what all the hype was about. A friend of mine then got into bitcoin when he purchased some special computers to mine the coin. This piqued my interest enough finally dig into researching Bitcoin. In late May 2017, I began reading websites, blogs, forums, twitter, reddit and watching as many youtube videos I could find on the subject. 

Although Bitcoin is known as a digital currency, I was surprised to find that Bitcoin is actually much more than just an alternate form of currency. I believe Bitcoin represents a paradigm shift in how we store data. This is to say that Bitcoin represents an important change that occurs in our history when the usual way of thinking or doing something is replaced by a new and different way. Currently, Bitcoin is attempting to be used as an alternative to currency. But I believe Bitcoin has shown us something far more important...the technology that Bitcoin is built upon is a new way to use the Internet and store data.

A Brief History of Bitcoin

Bitcoin was created on January 3rd, 2009, under the name Satoshi Nakamoto. I say 'under the name' because not much is known about Satoshi Nakamoto. It is assumed that Satoshi is an alias and not the creator's real name. It has also been speculated that a group of people could have created Bitcoin and released it under this one name. No one has ever met Satoshi Nakamoto. 

Satoshi only conversed with people on the Internet through email and message boards or forums. Any attempt by others on the forums to learn about where Satoshi was from or what his background was going unanswered. All we do know is that Satoshi supported Bitcoin for a little more than 2 years until his last message on April 23, 2011, where he selected one of his peers to lead the support of the Bitcoin code. Since that time no one has received a message from Satoshi and Satoshi has not posted any messages on any forums or message boards.

So what is Bitcoin?

Bitcoin is not something physical you can touch. Bitcoin is a computer code that was written in order that digital money could be used over the Internet in transactions that would be faster and cheaper than using traditional currency. The computer code that Satoshi released includes some very complicated math called cryptography. Satoshi released the Bitcoin code to a group of cryptography enthusiasts on a public message board for cryptography. It made sense to release the code for Bitcoin to this group as they would understand his work better than most.

Cryptography is a way to use complicated mathematical equations (algorithms) and secret keys to encrypt (protect) and decrypt (decode) data. Satoshi released the code for Bitcoin completely for free. All the code that is necessary to understand Bitcoin is open for anyone (who can understand it of course) to read.

This means that when Satoshi released the Bitcoin Code, others on the cryptographic mailing list could read how Bitcoin would work just by reading Satoshi's code. These cryptographers or "Cypherpunks" as they were called, reviewed the code, liked what they saw, and began adding to the code and supporting Bitcoin. Over time, other individuals "discovered" Bitcoin and also began to use and support it.

Although it sounds very mysterious that the creator of Bitcoin is shrouded in mystery and has since removed themselves from the public, the legacy of what Satoshi created is what's most important and the fact that what Satoshi gave to the world has not only survived but in fact thrived. Consider the following:

  • The code released for Bitcoin is still supported today. Hundreds of developers around the world support the Bitcoin code.
  • The code that runs Bitcoin is estimated to run on over 1 million computers today. By comparison, Google is estimated to run on around 900,000 computers and Facebook is estimated to also have hundreds of thousands of computers in its data centers. If you measure by a number of computers, Bitcoin is not a small operation.
  • Bitcoin has sustained itself without help from the third party or outside security systems protecting it.
  • Despite crashes in the price of Bitcoin over the years...Bitcoin has survived and thrived over the last 9 years of ups and downs.
  • Bitcoin has spurred the development of a new paradigm shift in how we will use the Internet.

It's interesting to note that outside the core group of developers who maintain the Bitcoin Code, no company or group "protects" Bitcoin. The developers who support and update the code that runs Bitcoin will write new code and update existing code so as to not introduce vulnerabilities...but once the code is released to the many computers that run Bitcoin, there is no added security built on top of the Bitcoin code to protect it.

There are currently over 17 million Bitcoins created since 2009 with a hard cap of 21 Million Bitcoins eventually being created. If you were to sell all 17 Million Bitcoins today, that would represent Billions of dollars. When you think of protecting billions of dollars you think of our banks or large financial institutions.

They secure their servers that hold our precious data in largely protected data centers and hire teams of security experts to lock access to our data. Millions of dollars are spent to protect these large institutions from hackers, and yet breaches still occur. Every day Bitcoin is under attack. Every day hackers are trying to find a way into the Bitcoin system to steam Bitcoin. The system Bitcoin is built upon represents billions of dollars if converted to real currency. But Bitcoin has no added external protections in place to protect it. I'm not saying that Bitcoin is un-hackable. But to date, no one has been successful in getting into the Bitcoin system and change values to their advantage.

How does Bitcoin work and how did Satoshi achieve this? 

To understand Bitcoin, it's important to understand what makes up Bitcoin. There are 4 main pillars to the Bitcoin system:

  1. A decentralized peer-to-peer network (Bitcoin protocol)
  2. A public transaction ledger (the blockchain)
  3. A set of rules for independent transaction validation and issuance of new Bitcoins (consensus rule)
  4. A mechanism for reaching consensus (proof of work).

The Bitcoin Protocol 

The Bitcoin protocol is the network of computers that run the Bitcoin code. Although there is no central authority running Bitcoin computers that doesn't mean that there are no computers running Bitcoin. It means that there is no one organization that is in charge of running the code for the Bitcoin network.

Satoshi released the Bitcoin code to everyone as free open source code, which means that anyone can run it. And that's exactly what happened. The first people to run the code were Satoshi and his peers on the cryptographic mailing list who were techy and understood how to set up and run the Bitcoin code. Over time more individuals became interested in Bitcoin and they too started running the Bitcoin code on their computers. Today there are over a million computers all over the world that have been set up to run the Bitcoin code, thus creating and supporting the Bitcoin Protocol.

Since these computers can be set up and owned by anyone and are distributed around the world, Bitcoin is described as being a decentralized system and therefore does not have a single point to access it. All Bitcoin computers share in the responsibility of running and making decisions on the Bitcoin network. 

The Public Transaction Ledger 

 So what are these Bitcoin computers doing exactly? One of their functions is to record data on a ledger. Ledgers are not new. The world has used ledgers for thousands of years to record data. What Satoshi did with Bitcoin was to set up a system that shared the ledger that Bitcoin uses across every Bitcoin computer and keeps this ledger in sync across all computers that run the Bitcoin code. So why is this ledger called a blockchain? Imagine if you recorded every time you went to fill your car with gas. Each time you fill your car you record in a spreadsheet the date, the price of gas, how many litres you pumped and the total cost. Every row in your spreadsheet represents each visit to the gas station. Over time the number of rows increases. 

To make the finding of data in your spreadsheet easier you could break up rows into groups to help you identify dates when you filled your car with gas. These groups can also be called blocks of rows and they form a chain of data that can be referenced. That essentially is what a blockchain is. It's a database or ledger system that records data and separates that data into blocks in a linear fashion based on time. And that's what the Bitcoin Blockchain is...it's a distributed ledger (shared on many computers) that creates Blocks of transactions on the Bitcoin network where these Blocks are created every 10 minutes and the transactions are a record of data that happened during that 10-minute interval.

Rules for Independent Transaction Validation 

So what kind of data is being recorded on the Bitcoin Blockchain anyway? Bitcoin computers have two main jobs.

  1. They solve a mathematical puzzle. Satoshi wrote into the code a rule that there will only be 21 million bitcoins. Each and every Bitcoin is created by solving a puzzle. This mathematical puzzle is a complicated math equation that each Bitcoin computer competes to solve. If a Bitcoin computer is successful in solving that puzzle first, that Bitcoin computer is rewarded with new Bitcoin the code creates. Bitcoins are created by the many computers around the world that run the Bitcoin code.
  2. These Bitcoin computers also verify the movement of Bitcoins. When a Bitcoin is created, it is saved in a Bitcoin wallet. A Bitcoin wallet is an application that stores the Bitcoin. When Bitcoins are moved from one wallet to another, a fee is charged for this move to occur. This fee goes to the Bitcoin computer that solved the mathematical puzzle.

So when a Bitcoin computer solves the mathematical puzzle, they receive two rewards. They help create new Bitcoin and are rewarded with this new Bitcoin they created, and secondly, they are rewarded with the fees paid by individuals to move an individual's Bitcoins around the network. This process to create new Bitcoins and move transactions between wallets occurs every 10 minutes. This 10-minute interval represents a new block on the Bitcoin ledger.

The mechanism for reaching consensus or Proof of Work

Okay, we have a distributed system of computers around the world, recording data on a distributed ledger all competing to be paid to support this Bitcoin network. But how are decisions made? When a bank or financial institution puts data into their database there is more than likely a single point from where decisions are made to allow updates into their database. A Bank or Financial institution has its servers inside a data center and they know where this new transaction comes from. A Bank's website that allows you to deposit money into your account is created by the Bank, served up by the Bank's servers and all transactions from this website go into the Bank database. All the computers used in this transaction are owned and controlled by the Bank. If a fake Bank website was created the fake website would not be allowed to access the Bank database.

Bitcoin doesn't have one central authority making all decisions. Any of these over a Million Bitcoin computers that run the Bitcoin code on the Bitcoin network are independent of each other and any one of them can make an update to the Bitcoin ledger. This is a critical point to understand. Each and every Bitcoin computer has potentially the same power as all the other Bitcoin computers to make updates to the Bitcoin ledger and each and every Bitcoin computer has the responsibility to confirm if other Bitcoin computers can be trusted when they make updates to the Bitcoin ledger. There is no inherent trust between the Bitcoin computers as Bitcoin computers are added or removed to the Bitcoin network by anyone at any time throughout the world.

The Bitcoin code that runs the Bitcoin network on each computer has built within it the decision-making ability to decide if the Bitcoin computer that solved the mathematical puzzle and won the award to create new Bitcoin and confirm transactions can be trusted. This is the distinguishing factor between a centralized process a Bank or financial institution uses compared to the decentralized system that Bitcoin is built upon. Each Bitcoin computer has the ability to agree or come to a consensus that updates to the Bitcoin ledger are true and warranted.

Putting it all together 

I hope I've been able to describe how Bitcoin represents a true paradigm shift in how we store data on the Internet. Bitcoin was the first to be able to put these pillars together and Bitcoin was the first to set up a self-sustaining system that requires no outside help from a centralized process. No one computer or central authority needs to be involved to make sure the data being written to the network is allowed. All Bitcoin computers share in this responsibility. If an attack on the ledger is instigated by one of the Bitcoin computers to make an unauthorized update to the Bitcoin ledger, that Bitcoin computer is ejected from the Bitcoin network.

The Bitcoin network is a self-sustaining system of untrusted computers all talking to one another over the Internet and coming to a consensus together on when updates are to be made. To date, this system has worked. Bitcoin has existed on its own, running the Bitcoin code on each computer, sustaining itself for 9 years and to date, no successful attack of the Bitcoin ledger has occurred.

Hopefully, now you have a better understanding of how Bitcoin works and why it has so far been successful. But has it been successful? That's still to be determined. The reality is that Bitcoin and it's protocol and innovation on Blockchain, consensus and confirmation system is a system where ideas are being tested and failure is the norm. It is through these failures that we learn which tech idea not to take and to build on top of the failed ideas that warrant a change to make them work. This is the power of opening the code as open and free to everyone that runs Bitcoin and having many people review and make updates to that code.

What does it mean to say the ideas are being tested and failure is the norm? 

Using a decentralized distributed system of computers like Bitcoin does make sense for tracking digital currency on the Internet. But is that all you can do with distributed computing systems that use a blockchain database? The short answer is maybe not. Since 2009, there have been thousands of projects created on the Internet that are taking the basic pillars of Bitcoin and trying to find new ways to use those pillars for solving other problems than creating a digital currency and tracking this digital money moving from wallet to wallet. These thousands of projects are creating their own coins called Alt Coins (alternative to Bitcoin). Alt Coins can do what Bitcoin does...they could be a form of digital currency to be used on the Internet. But Alt Coins can also do something completely different than Bitcoin. These Alt Coins have many different uses but typically Alt Coins are used for the following:

  1. They raise money through the selling of their Alt Coins in what is called an "Initial Coin Offering". An Initial Coin Offering or ICO is similar to a stock IPO. The money raised from the issue and selling off their Alt Coin go toward funding their new projects (writing and supporting the code, marketing, etc) as they build their business around their new solution.
  2. Alt Coins will be the currency used to run their new business. So if an Alt Coin is to be a service, you would pay for that service using their Alt Coin.


It's still to be determined if these Alt Coin projects will succeed in finding a solution using the pillars started by Bitcoin but it's clear that Satoshi's creation has created an entirely new ecosystem of technology and jobs that didn't exist 10 years ago. This new ecosystem is growing and growing very fast.

I would sum up this document by saying that Bitcoin and the pillars Satoshi put together are still something very new and evolving and we don't fully know how to use them to their full potential. The new code is being added to Bitcoin to make it better, faster, safer to use. And new projects are being created to think up new ways to solve problems using decentralized networks, blockchains and consensus protocols. The innovation we are seeing today is staggering in its possibilities and fast moving in its development. Like the early days of the Internet when webpages didn't provide much value for us and Internet companies were still trying to figure out how to use the Internet, Bitcoin and all the various Alt Coins are still trying to find new ways to store data and move data around over the Internet but it will take time.

Bitcoin and Alt Coins are, I would say, still in their infancy. Many of the Alt Coins out there today are barely more than an idea on the back of a napkin. Only time will tell if the plan they have will actually be useful.

You may have noticed that this article didn't speak to the rampant price speculation that currently exists with Bitcoin and the many Alt Coins. This document was not meant to give financial advice. What I can say is that speculating in crypto coins is a very risky adventure. Only speculate with money you are willing to lose. The potential for gains is huge as is the reality of losing what you invested. Speculating on purchasing Bitcoin and Alt Coins is an exercise in having incomplete information on a project, and as the project develops you update your position based on new information. I have invested in Crypto so if anyone wants more information on what I've learned I'm more than willing to share that knowledge in another email. 

My hope with this article is not to persuade you to buy coins but to hopefully show you the potential these coins represent and what the technology behind them could bring us. It matters not if you hate Crypto coins and never buy them or love Crypto coins and put real money into speculating on them...I just don't believe you should ignore Crypto.

Here's a final thought I would like to leave with you. What are the odds that the first idea works? Bitcoins model was the first project that allowed us to use the Internet in a new way but how bitcoin does it today doesn't mean it will be proven to be the best tech years down the road.

For example..look at email. The email was developed in the 1970's but it took over 20 years for it to take off. That's because the early email was terrible. It took years for email to evolve from being a manual command line tool to a point a click tool anyone can use. Bitcoin and Alt Coins are hard right now. Installing wallets and copying and pasting long crypto address keys is just not user-friendly and quite dangerous. Once applications come out that make crypto easier and safer to use we'll see greater user adoption. From Yahoo came Google, First there was MySpace and now we have Facebook. Who knows what new company or industry will be born out of this infant Crypto technology we see today.

Loosing sleep over website security? Part 2
 

Comments

No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Guest
Wednesday, 26 September 2018
If you'd like to register, please fill in the username, password and name fields.