“Great things are done by a series of small things brought together” Vincent Van Gogh
Bitcoin was no doubt the first of its kind, the amalgamation of equally ingenious innovations that preceded its birth. Bitcoin can be said to be a particular application of Blockchain, the technology upon which the cryptocurrency sits upon. To break it down, blockchain is a ‘data structure’, and by data structure it is meant that it is an encapsulation of data and methods to operate on that data. The nearest known data structure analogised to Blockchain could be a Linked List.
Each node in a linked list points to the next node. In a blockchain, each block points to the previous block. Each block contains transactions, and each transaction is an exchange of a digital asset. In case of Bitcoin, that digital asset is a coin having a monetary value. Now, when A sends money to B, the record of this transaction (this exchange of value) is added to the block for anyone in future to check the validity of B being the true owner of that value. When a certain number of transactions are added to a block, it gets linked to the blockchain. The number of blocks keep adding to its length.
Photo by Andre Francois on Unsplash
Money isn’t exactly real. It is something societies agree to assign value to. Something each person agrees to have a particular value, including the government. Fiat currency is money backed by the government. Government owns it. Government regulates it. Two people exchanging a ₹10 note, (1) Promise to pay the bearer the sum (as it is written on the note) and (2) This very promise is signed by the Government (the Governor of RBI).
Now imagine you had the responsibility of creating a digital money system. You’d replace this Government entity with someother regulating entity that would still operate on norms set by the government but the transactions would be digital. You won’t be giving a printed note, you’d be sending a transaction in the form of bits through the Internet.
You’d probably have two problems to solve:
Double spending can be prevented by issuing serial numbers to each token/coin/note (which you see on a printed note as well). Security could be employed to the place that is issuing these serial numbers. So you come up with a solution, a central authority that issues serial numbers, signs each transaction and keeps a record of all the transactions ever made.
This isn’t cash, but this isn’t anonymous either.
David Chaum proposed in 1983 a system called Blind Signature which successfully de-linked from a central server and yet allowed a central authority to prevent double spending. The goal achieved was an anonymous system that prevented double spending.
A few years (1998) after Chaum’s publication of Digital Cash, Chaum in collaboration with two other cryptographers, Fiat and Naor proposed an improvement upon the previous protocol with an introduction to offline electronic cash system. The focus shifted from prevention of double spending to detection of it.
At a high level what the system achieved was this: every digital coin issued encodes the owner’s identity but in such a way that no one except the owner himself can decode it. Every time you spend your coin, the recipient will require the sender to decode a random subset of the decoding and they will keep a record of this. This decoding isn’t enough to allow them to determine your identity. But if the coin is ever double spent, both recipients will go to the bank to redeem their notes eventually, and then there is a high probability that the bank can decipher the original identity by putting the two subsets together.
Blind Signatures, although was a genius idea, still incorporated centralization. You get a single break point even if it is anonymous. Decentralization meant, no single authority assigning serial numbers yet a method to prevent double spending and a system that is completely secure.
To prevent double spending without a central authority you’d need a record of transactions. If we have 3 transactions, lets say T1, T2 and T3 that occured in that very order, every node in the network should be able to verify that T1 occurred in the past of T2 and T3 occurred in the future of T2. This might be a trivial problem to solve for documents created by hand, but in the digital realm, there is no concept of time.
Stuart Haber and W. Scott Stornetta in 1991 proposed a method of determining the creation history of a particular document. The method certified when a particular document was first created or last modified. In lay-man terms, time-stamping is a little something added to the document which proves that the document has been issued before or after a certain time.
In the scheme proposed, there is a time-stamping service, to which clients send their documents to be time-stamped. The server receives the document, signs it with the current time and links it to the previous document, and issues a certificate with this information.
An efficiency improvement was proposed to the previous time-stamping scheme (paper). Linking every single document presented a scaling issue when the number of documents increased. Instead of linking documents individually, a number of documents were collected in blocks, which were further linked. Within each block documents were further linked in a tree structure. (The term ‘blockchain’ was proposed in this paper)
This decreased the amount of checking needed to verify that a particular document appears at a particular point in the history of the system.
The solution presented by Haber and Stornetta solved the double spending problem in a decentralized system. Which means a central authority preventing double-spending was not required anymore. But who would provide serial numbers to the coins? Or, how would the coins be minted, and how would they be regulated?
Dwork and Naor in 1992 (a similar idea was proposed by Adam Back in 1997) proposed a potential solution to email-spam, broken down as follows:
The assumptions being:
These properties were achieved by making use of a cryptographic hash functions to generate the puzzles.
The functions of the central authority could now be decentralized:
Earlier (before Bitcoin) proposals that employed the above two methods to propose a completely decentralized system of exchange of money were: B-money (Wei-Dai, 1998) and Bitgold (Nick Szabo, 2005)
Characteristics were as follows:
Each node maintains a personal ledger (no global ledger is maintained) Each node has its own record of what it perceives everybody’s balance to be.
It is worth mentioning that B-money and Bitgold were informal proposals, latter published as a blog post while the former in a mailing list. The proposals were nevertheless important because they served as setting the stage for Bitgoin by glossing over the issues which were eventually solved by the Bitcoin blockchain.
Satoshi Nakamoto not only proposed a robust system, he (there is no known gender for Satoshi Nakamoto) gave a working model for it. Bitcoin (1) Prevented double spending, (2) Didn’t require a trusted third party and (3) Was strong enough for users to trust.
The system can be broken down as follows:
Since each block is chained to the previous block, to change a transaction is any block would require to recalculate the hash value of not only that block but all the blocks that follow it.
So, that in a nutshell is how Bitcoin came into being. Employing the technologies that existed before to create a system that the world had no idea it needed. More than the cryptocurrency, the technology that it sits upon, namely, the Blockchain promises a disruptive future in the era of Web 3.0.
Originally published at blockbloggr.wordpress.com on May 14, 2018.