In Part 1, we laid out the grounds on how the ownership works in cryptocurrency using digital signatures. While a two-way communication worked great, the question remained how will a large-scale verification work in blockchain?
Let us first define what does verification mean by going back to Mr. Red and Mr. Green. Suppose Mr. Red needs to pay Green some money. Two of the ways this money transaction can happen is:
Red has the physical signature and ATM pin as proof of ownership. That is unique to him. But, we still need a third party to verify the ownership. The third party here is the bank.
Verification is one of the major design considerations of cryptocurrency. To understand it completely let’s look back at cryptocurrency history a bit.
A cryptographer named David Chaum proposed an anonymous digital currency in late 80s. The idea was to issue digital money using cryptographic techniques. This money was untraceable. It mimicked cash to a certain extent. I can withdraw cash then spend it without having to worry about being traced. Hence it got the name Digicash.
The problem was – how do we verify not only the ownership but validity of the money? Chaum’s proposal also used banks as an intermediary.
Here’s how Red to Green transaction using Digicash played out:
This ideawas implemented at only one bank, Mark Twain, in the 90s. Without a user base the company had to close down.
Later there were other proposals like b-money by Wei Dai and Bitgold by Nick Sbazo. Both also proposed to use cryptography to secure minting and distribution of money.
In 2008, Satoshi Nakamoto proposed and released Bitcoin . The idea was to have – “A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending.”
Let’s unpack this:
We understand how digital signatures work and how they can be used by to proof ownership from Part 1. Digicash shows a way this works when interacting with a centralized mechanism like bank. So, what is:
Peer to Peer
Peer to Peer is a form of distributed architecture. In p2p every task is broken down to smaller chunks. Every computer in the networks works on these chunks. Each computer in the network is considered equally competent. Confused? Let’s look at an example. One of the p2p usage is file downloads ex. Ubuntu (https://www.ubuntu.com/download/alternative-downloads – Section Bittorrent).
So if Red required a copy of Ubuntu he can do this:
File download speeds can be slow due to various reasons:
- Red’s location
- number of users downloading the same file
- limitations on the server
So anyone can download a bittorrent software, add the torrent file and start downloading Ubuntu. A P2P approach works like this:
Now Red connects to multiple peers including ubuntu.com and download the file.
P2P has an advantage over centralized downloads. Files will always be available. Even if ubuntu.com is offline. The file is available for download from any of the peers.
The second advantage is an integrity check.
Suppose, ubuntu.com crashes. All files on the server are now corrupt. In a centralized model, everyone will get a corrupted and unusable file.
In a p2p environment, the bittorrent program checks the file it is downloading. It compares the file found on ubuntu.com against the file served by peers. If majority of peers agree that the file on ubuntu.com is different; the corrupt file is ignored. Think of it as a democratic process:
So how does it apply to the initial bitcoin proposal?
One, multiple servers complete the verification.
Two, all computers in the network are equally competent for verification.
Lastly, it is a democratic process wherein majority have to agree on everything on bitcoin network – transaction or otherwise.
Bitcoin doesn’t have a single trusted authority. Hence, the moniker “distributed trust” or “distributed consensus”
A bitcoin transaction between Red and Green works like below. The peers in the blockchain network work to verify Red’s digital signature and check bitcoin balance associated with it.
While the diagram shows only 4 peers you will have 100s and 1000s of peers in the bitcoin network. Each of them have to verify the transaction. Before anyone can alter the transaction or change the rules they need 51% voting rights in the network.
At this point, many of you might say – Hold on, what about blockchain? It is actually the blockchain’s elaborate scheme that ensures trust. We will discuss how blockchain ties into the distributed trust in part 3.
Also published on Medium.