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, something which is unique to him, 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. The issued money then could be used to transact online in an untraceable manner. It mimicked cash to a certain extent – I can withdraw cash then spend it without having to worry about 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:
Even though the idea was good, it was implemented at only Mark Twain bank for a brief period 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 . His paper stated purpose was – “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 or p2p is a distributed architecture where tasks are divided between the computers in a network. 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 Red’s location, number of users downloading the same file, limitations on the server etc.
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.
The single biggest advantage of this approach over a centralized download is – The file is easily accessible even when ubuntu.com is offline. This means the task – making the file available for download is divided to multiple computers in the network (peer) and each of them can deliver the same result.
The second advantage is an integrity check.
Suppose ubuntu.com crashed and all files are corrupted. 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 have file different from the corrupted version from ubuntu.com it will be 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. If there is someone who wants to alter the transaction or change the rules they have to take over the 51% voting rights in the network to affect the change.
At this point, many of you might say – Hold on, what about blockchain? Isn’t blockchain the cause of “distributed trust”? Blockchain’s elaborate scheme ensures the trust cannot be broken. We will discuss how blockchain ties into the distributed trust in part 3.
Also published on Medium.