Wednesday, September 26, 2018

Grokking Blockchain: Everything You Need to Know

In recent years, we’ve seen a lot of change in the tech ecosystem, which shook the space up for good. A bunch of products were announced, setting benchmarks in their segments for years to come, platforms getting smarter and smarter, making discovery and content consumption, a whole new experience. Phones getting even closer to the computing power of desktops, and devices becoming ever more connected and contextually aware. The list of things which have become trend setters is so long that it’s virtually impossible to mention all of them. But in short, it’s safe to say that it is the best time to be alive, specially if you are a tech enthusiast.
Among the many things that have been receiving a lot of critical attention lately, one of the more popular ones happen to be Cryptocurrencies. If you’re not living under a rock, chances are you might have heard a lot of things about Cryptocurrencies, people becoming millionaires and billionaires overnight and how it’s going to change everything in the coming years. While a lot of those things are true and solve a lot of different problems about the current financial systems, cryptocurrencies like Bitcoin, Ethereum, and the likes are big enough topics to dedicate a separate article altogether to them. Don’t worry, the post detailing all about cryptocurrencies is in the draft and will be up shortly. But before you get into that segment, you need to get your feet wet with Blockchain.
Chances are that some of you might have heard about it but don’t completely understand what it is and then there would be people who are absolutely new to the term. If you fall in either of those camps, this post is just the thing you need. Sit back and grab a cup of coffee. This is “THE” post about Blockchain. We’re gonna tell you everything you need to know. Here is what you learn:
  • Blockchain is not Bitcoin
  • Brief history of BlockChain
  • How is the Blockchain network kept in sync?
  • What are the security measures in place?
  • Benefits of Blockchain technology
But before we begin explaining what blockchain is and how it works, there are a couple of widespread misconceptions that need to be clarified. It’s worth spreading this because Blockchain is going to be a fundamental foundation of some of the most sophisticated software systems that will be built in future.

1. Blockchain is NOT Bitcoin

Let us first debunk a popular myth about Bitcoins shall we?
This is a widespread misconception and this needs to be set straight right away. No, Blockchain is not Bitcoin, or Ethereum or Litecoin or any other Cryptocurrency.
In simple terms, if Bitcoin is a Tesla Roadster, Blockchain is the Lithium Ion Battery, if Bitcoin is Email, Blockchain is the Internet. It’s basically the underlying technology which powers the Cryptocurrencies that have gained popularity in recent months.
Again, we’re not gonna touch a whole lot on Cryptocurrencies but what you need to know is that blockchain is the fuel powering most of the major Cryptocurrencies, it’s the foundation that they’re built on.
Now that we’ve set the basic premise, here’s why you should absolutely be aware of what Blockchain is and how it works. You see, Blockchain is not a product, it’s a theory, a principle, or rather a well-defined foundation which will serve as a base for a lot of things in tech in the coming months and years. Agreed, cryptocurrencies are one of the “applications” of the blockchain. It’s definitely not the only thing the technology is capable of.
Hey, hold on! So much rant about Blockchain, at least tell us what it is first?
Right, sorry. So let’s first get the most dictionary Blockchain Technology definition of blockchain out of the way
A blockchain is a decentralized and distributed digital ledger that is used to record transactions across many computers so that the record cannot be altered retroactively without the alteration of all subsequent blocks and the collusion of the network.
That’s the definition a simple Google search would give you and I honestly just copy pasted that from one of the search results. Don’t worry if it just blew past you. I am gonna explain it to you in a way that makes total sense.
Consider the example of you sending some money to your friend. Let’s say you Steve live in New York and your friend Alice is in Mumbai. When you send the money, where do you send it to? You send it to her bank account.
(agreed there’s PayPal and things like that but for the sake of simplicity let’s stick to the bank example).
When you send the money, there are essentially 3 parties involved in the transaction, you as the sender, your friend as the receiver and the bank as the intermediary.
Why do you need the bank? Well for the simple reason that they will be the one who verifies that ” Steve sent Alice $32 “. Without the involvement of this intermediary, Alice could easily claim that you never received the money even though you did, in fact, send it to her (side note if that’s how Alice is, you need to stay away from that woman).Historically speaking this is how it’s been when it comes to transacting anything of value, be it money, stocks, real estate etc. These intermediaries in the form of banks and stock exchanges add a key ingredient to the transactions, trust. Think about it fundamentally, why do you keep your money in a bank? Because you trust the bank with the money, simple. Now think about this, the only thing that makes a $100 bill worth the 100 dollars is the US government backing that currency. But if you remove that element of trust from this idea, on the most fundamental level what is a $100 bill? It’s just paper and ink. So theoretically it is possible to reproduce it. This is how counterfeiting works and it’s not something new, you often get to hear about counterfeit currencies in circulation and how they have crashed economies in the past.
But what if there were a way of making such transactions without a third party intermediary? What if you could send money “directly” to Alice without relying on the bank to verify it? This is where Blockchain comes in.

2. Blockchain: The Inception

A little detour.
In 2008 a white paper was authored by a person or a group of persons (still not certain) under the name of Satoshi Nakamoto. In this white paper, he detailed a system of a peer to peer transaction mechanism called Bitcoin that would enable payments to be made directly, without an intermediary. This was the first time that the concept of a cryptocurrency in the form of Bitcoin was discussed. And while the idea of Bitcoin was truly innovative, the mechanics of how it worked was what truly classified as revolutionary. This was how Blockchain was conceived and agreed, Bitcoin was the first mainstream application of Blockchain, it has a potential of changing everything that revolves around trust and currently has the involvement of an intermediary.
It’s game changing!
Now getting back to our example of transacting money between Steve and Alice. Let’s remove the bank from the scenario and see how Blockchain takes its place.
When I mentioned the definition of blockchain earlier in the post there were two words that were highlighted, decentralized and distributed digital ledger. Here’s how they will fit into the puzzle.
Earlier when Steve sent money to Alice, the bank verified who the sender waswho the receiver was and how much was the transaction worth.
Assume that this bank kept this record on an Excel sheet. There may be multiple transactions that occur via this bank on a daily basis so there are multiple rows in the Excel sheet, each row representing an individual transaction. Now here’s the deal. This bank is a centralized authority and that brings a very critical problem into this arrangement. What if there were a fire in the bank and all computers were destroyed? Or the bank was attacked by a group of hackers who infected all the computers in the bank? Well, all the transactions that the bank kept a record of in the past are now gone and there’s no way of going back and verifying them.
Blockchain both solves this problem and adds a level of authenticity to this.
Assume that you gather a group of friends around a table to play the game of Monopoly. But unfortunately, you do not have the fake currency to actually play the game. So all of you decide to keep a record of who’s winning how much on individual sheets of paper. Everytime someone gains or loses some amount, all of the players make the entry of that transaction on their own sheet of paper.Since the game is very important and you don’t trust any of your friends, everytime a transaction has to be recorded all of you compare what you write so that none of you can make a fake record about the game and end up winning. Every attempt to create an incorrect record on the ledger is caught and is considered invalid.
At the end of the game, each one of you will end up filling a couple of pages with these transactions. Each page will be like a block and the entire collection of pages maintained by an individual on the table will be a chain of blocks, hence blockchain.
Since the actual blockchain is far more larger in scale than our monopoly example and the transactions happen globally, how is the network kept in sync with all the transactions?

3. Syncing and Security in the Blockchain network?

Consider the entire world as a huge table with millions of people sitting around it. Some of the people on the network are making transactions (like transferring money) while a lot of volunteers are keeping a record or a ledger. So whenever someone sends something to a person on the table, they have to announce it to everyone at the table. By announcing the transaction, everyone keeping a record of the transaction is able to update it on their ledger
But since all of this happens online, due to network delays and other factors, people who are keeping the record of transactions may receive updates about the transaction at different times. So basically every person keeping a record now has a ledger slightly different than the others on the network but still a valid one. Well, how does the network decide which ledger (block) to add to the network (chain of blocks)?
It’s done by solving an extremely difficult math problem. Every person maintaining a block or ledger, that needs to be added to the blockchain has to solve a special math problem created using a cryptographic hash function.
A hash function is basically an algorithm which will take an input of any size and give an output of a fixed size. For example consider that you have 1, 2, 3, 4 as your input, and the hash function is to add the numbers. Your resulting output will be 10.
What’s so great about that you ask? Well, the interesting part about hash functions which makes it really great for cryptography is that it’s really easy to derive the output from a given input but it’s extremely difficult to derive the input when you’re given the output. Even in the example above. There’s going to be a lot of possible set of inputs that add up to 10 like 5+5, 7+2+1 etc and the only way to get to the correct input is basically by continuously guessing which input set is the correct one.
The hash functions used in blockchain are far more complex than our example but they work on the same principle. One of the most popular hash functions would be the SHA256 algorithm (Secure Hash Algorithm 256 bits). Computers which are designed to solve the SHA256 hash problems take about 10 minutes to solve each problem, meaning that they are going through billions of guesses before getting to the correct one. So whoever solves the problem first, gets to add their block of transactions to the network.Now your most obvious follow up question would be :-
Why would anyone volunteer to keep track of such transactions? After all aren’t these problems hard to solve and require a lot of computing power and in turn a lot of energy?
Here’s the thing. Every person who solves the cryptographic problem first, gets to add their block to the network. And in return they’re rewarded with cryptocurrencies. This entire process is called mining.
There are millions of nodes (computers on the network) which are just on the network to mine a new block to earn the reward. Considering the skyrocketing prices of each coin these days, it’s a pretty great way to earn money.
Sometimes a whole bunch of computers join forces to solve the problem and if they get to add the block to the blockchain, the reward is shared among the participants of the group. Such a group is often referred to as a mining pool. More on that and the working of cryptocurrencies in the later posts.
Well since this entire “chain” is public, how is it secure? What if people hack and try to change the records?
Remember in our monopoly example, there were multiple people keeping record of each transaction? This process is called decentralization meaning that the data is not located in one central location. So basically our records are now distributed/shared in a network of several record keepers. If in case any one person’s record gets stolen or destroyed, the transactions will still remain with others.
As far as security is concerned. Here’s a very important characteristic about the blockchain technology. It’s “append-only”. Meaning that you can only write to the network and not modify the existing records. Here’s a stripped down version of what an actual block on the network would look like.
Each block contains it’s hash (a code that uniquely identifies it on the network almost like a fingerprint), a piece of data depending on the type of blockchain, and a reference to the previous block as a previous hash value, except for the first block on the network called the Genesis Block, since it does not have any block before it.
If the data in let’s say Block 2 is modified, it’s hash value also gets changed. Once the hash value changes, the proceeding block holding the old hash value of Block 2 becomes invalid, in turn making all subsequent blocks invalid.
The entire blockchain network is comprised of millions of computers, which are simultaneously solving problems to add blocks to the network and gain rewards and to keep the network in sync. In order for a bad actor to take down the network (in the case of blockchain that would be forcing the network to accept a block that is invalid and not agreed upon by all other nodes) he would need computing power greater than 51% of all the nodes in the network, and currently there isn’t any machine capable of such computation. Agreed that quantum computers can do so, but quantum computers are still a very theoretical concept.
Great, so I finally know what blockchain is and how it works but where can it come to use?

4. Benefits and applications of Blockchain

Great question! You see the current financial system is reliant on centralized authorities like banks to approve of transactions and if the transaction is across geographies, it has to undergo a number of regulatory procedures to be approved which can take hours or even days. Blockchain can serve as the single source of truth for maintaining such records and enable instantaneous micro transaction irrespective of where 2 parties are located.
In future, you can even imagine all your sensitive identification data like health records, your education certification etc to be stored on the blockchain. This way you’ll always be able to know who tried to access those records and why and also be sure that it never tampered.
Every offline system today that is prone to rigging, fraud or tampering can and will be secured by a blockchain. In future, there may never be a case where an election can be rigged by vote frauds as each vote will be recorded on a blockchain.
If you have been hearing the news lately you might have observed that almost all major government regulatory bodies and banks are against this technology and you may be wondering why?
Well by adopting the blockchain technology we’ll essentially render such bodies useless. They’ll no longer be able to make money by being the intermediaries that they currently are. It is going to put the power back in the hands of people and truly democratize the economy.
If you were a business and your potential of making money was being threatened by a competitor, it’s a no brainer that you would oppose it’s adoption and suggest your current customers to stay away from it. This is exactly what’s currently happening with blockchain and cryptocurrencies.
Cryptocurrencies are currently the poster boy of showcasing the application and use of blockchain but the applications are endless.

Conclusion – Blockchain Technology Explained

We’re still in the very early days of the blockchain technology. Just like the internet disrupted computing in the early 2000s, Blockchain will be the next big thing that happens to tech and it will be everywhere. It only makes sense that we educate ourselves about it and stay ahead of the curve when this technology becomes more mainstream. In the upcoming posts in this series, we’ll discuss the different types of blockchains, how cryptocurrencies are leveraging it and much more. Till then make sure you share this post and let everyone learn about it because this thing is here to stay.

0 comments: