Beginner Blockchain — Understanding the What and Why so we can build better blockchain products
Today is a riveting time to be alive. We are witnessing incredible breakthroughs in innovative technologies like Machine Learning, AR/VR, and Blockchain. These breakthroughs are all incredible engineering feats, but none of them will be successful without thinking about the people who will use these products on a daily basis and how they will interact with them.
To help myself, my team and the broader population, I wanted to create a beginner series on blockchain, Bitcoin, Ethereum and cryptocurrencies to help level the playing field. I aim to keep these descriptions as simple as possible, and then to dive into deeper discussions around the intersection of design and blockchain technology. The post below is the first in the series and focuses on the why and what of blockchain.
I’ve followed and been bullish on blockchain and cryptocurrencies since 2011, and as the hype train reaches the mainstream, I’ve had more friends and colleagues asking me about it. While the hype builds, the vast majority of the space is dominated by engineers, and with the exception of Coinbase, very little love has been given to the user experience.
Why does the Blockchain matter?
The power of the blockchain is that you can distribute things across many entities as opposed to going through a single source. Here are a few examples of why it is revolutionary:
On July 4th weekend, I went to see a concert on Governor’s Island in NYC. Being someone that hates to plan and despises the Stubhub fee price-gouging, I decided to purchase tickets on Craigslist. I bought the tickets, which looked real and proceeded to go to the show. After waiting in a long line, taking a ferry, walking a mile and waiting in another long line, I got to the front and was promptly turned away for fake tickets that I bought from a scammer.
The blockchain can be used to verify that someone or something is what they say, which allows us to have confidence that what we buy we will actually receive.
Let’s say you need to send money to a friend in need in another country. You call up your bank to make this transaction. Your bank is able to send the money, but you are charged a big fee and your friend can’t access the money for potentially 3–7 days!
The blockchain removes the middleman that everyone currently depends on. It shares that trust across many, which allows products to dramatically reduce fees.
You read a blog post on Medium that you love and you want to tip the author a nickel for writing it. Given online processing fees, it would cost Medium closer to 30 cents to send your 5 cents.
The blockchain allows products to strip away so many intermediaries that in the future it will be possible to make micro payments.
All of these problems can be solved with technology on top of the Blockchain.
Let’s dive in to what the blockchain is
Let’s say you, Joe, are going to a concert with your girlfriend, Katie and another couple (Jack and Kelsey). None of you have tickets and the show is sold out. The show sold their tickets through a service (let’s call it TicketBlock) that is built using the
blockchain. The blockchain is like a fancy spreadsheet that holds a list of transactions (making it a
ledger). It isn’t on just one computer, but on all different computers across the
world that want to participate, this makes it a
distributed network. Each computer on the network are called
nodes. We’ll see why this is important later.
Every purchase or transfer through TicketBlock is recorded on this magical distributed spreadsheet. Let’s say that Jamie bought two tickets, but now she can’t go and decides to list her tickets for sale. You see these tickets and purchase them.
Both of you have a private, unique account on the blockchain (a
wallet) with a special digital signature so it can’t be faked. Jamie is going to tell the system of computers that she would like to send her tickets from her wallet to your wallet. To send these tickets, the network needs to verify that Jamie actually owns these tickets (so you don’t end up like me on July 4th).
Different computers compete to be the first to verify that Jamie actually owns these tickets on her wallet and can transfer them to you. To be more efficient, each transaction is grouped with other transactions (a
block). In the case of bitcoin, the block is defined as any transactions in the last 10 minutes.
High-powered computers (
miners) compete to validate the transactions by solving complex coded problems (aka cryptography and thus why it is
cryptocurrency and one of the reasons it is secure). When the miner successfully completes the puzzle, they submit evidence back to the network that their solution was correct (
proof-of-work) and the first miner to do so is rewarded (in the case of bitcoin, the miner receives bitcoin).
The now validated group of transactions is timestamped and added to a chain of the previous blocks in chronological order. Since the blocks are chained (a
blockchain) all of the transactions ever made on the network are always available. This blockchain is constantly updated on every node so everyone on the network has a history of all the transactions.
Why do we need to group transactions into blocks?
Technically, you could verify each transaction individually, but since it is a chain each transaction would have to be verified before the next transaction is confirmed. As the network scales, this would lead to gigantic bottlenecks and not be scalable. Since the blockchain groups transactions together (remember in the case of bitcoin all transactions over the last 10 minutes) multiple transactions can be verified simultaneously reducing bottlenecks. The concepts of validating blocks of transactions is one of the most critical technical breakthroughs of Satioshi Nakamoto’s whitepaper.
Hurrah! We were successfully able to confirm that Jamie owned the two tickets she said she had and she was able to transfer them to you. In our giant spreadsheet (or blockchain) you are now listed with two tickets and Jamie has zero tickets.
Shady Sam now comes along and says he has two tickets for sale, but really he doesn’t have any (he is shady!). Your buddy Jack decides to buy them.
Shady Sam thinks he is very clever in not only listing the fake tickets, but also making it seem like on his mining computer that he owns the tickets.
But Shady Sam’s plot is ruined because of our distributed network of computers. Since every computer on the network has a list of all the transactions any potential spoofing or faking of the ledger will be sniffed out and rejected.
Even if Shady Sam had a big group of Shady Accomplices who pretend that he has tickets, the transaction will be rejected because the majority of machines on the network are honest.
The only way that Shady Sam can trick the system is if over half the computers in the network are his Shady Accomplices. In this case the protocol will fail completely and is called a
51% attack. Blockchain is predicated on the idea that over half the crowd is honest and as it scales this is more likely.
Luckily for Jack the fake tickets were spotted and not transferred. He can then safely find someone who actually has seats to purchase from.
Hopefully this explanation helps you understand the foundational elements of blockchain better. I’d love to hear your thoughts on the blockchain and why (or why not) you think it is a powerful technology.