Welcome to This Week in Crypto! We discuss a summary of the Bitcoin white paper by Satoshi Nakamoto. This is the trailer episode for the podcast, please subscribe on iTunes, Google Play, CastBox or anywhere you listen to casts so you won’t miss any episode in the future!
Satoshi Nakamoto is the anonymous creator of Bitcoin. Satoshi released the Bitcoin whitepaper on October 31st, 2008. The white paper was titled “Bitcoin: A Peer-to-Peer Electronic Cash System.” The document was sent to the subscribers of the cryptography mailing list calling it a revolutionary technology that created the world’s first genuine peer-to-peer and decentralized monetary system.
Today’s e-commerce heavily relies on financial institutions serving as trusted third parties to process electronic payments. These financial institutions spend time and resources mediating disputes and resolving with fraud therefore increasing transaction costs. There is currently no possible way to make an online non-reversible payment for a non-reversible service. Using physical currency can avoid these costs and payment uncertainties can be.
Satoshi introduces an electronic payment system based on cryptography that allows two parties to transact with each other without the use of a trusted third party. Since these cryptographic transactions will be computationally impossible to reverse, protecting buyers and sellers from fraud. Double spending is performing two transactions with one coin simultaneously. This is equivalent to giving two individuals $100 each when you only have $100 in your account. The peer-to-peer cash system avoids the problem of double spending by using hashing and proof-of-work.
The white paper explains the methodology of the concept of Bitcoin into 10 sections. This includes: (1) Transactions, (2) Timestamp server, (3) Proof-of-work, (4) Networking, (5) Incentive, (6) Reclaiming Disk Space, (7) Simple Payment Verification, (8) Combining & Splitting Value, (9) Privacy and (10) Calculations.
The definition of a Bitcoin is a “chain of digital signatures” that passes from one person to another using an electronic signature known as a hash. During this process, the sender passing the Bitcoin onwards, electronically signs the previous transactions of the Bitcoin and the public key of the recipient they are sending it to. The history of transactions creates the Bitcoin “Blockchain” which is essentially a ledger of the Bitcoin(s) transaction history. Bitcoin overcomes the double spend problem as timestamps ensure that whenever a Bitcoin is passed on, a duplicate copy of that coin cannot be double spent. Each transaction is time stamped and processed by the Bitcoin system in order of their respective timestamp. Therefore, if a coin is sent to two recipients, the coins will have different time stamps and hence the second coin sent will be automatically rejected by the system.
The Bitcoin system processes every transaction and “publicly announces” whenever a transaction takes place. This ensures that the system, along with its users, moderate the chain of transactions (blockchain) to ensure fraudulent activity does not take place. Broadcasting transactions to the network for verification removes the need for a trusted third party and created a truly decentralized system. Participants of the system (known as nodes), must agree on a single transaction timeline. To avoid the double spending problem, the majority of nodes in the network agree upon a singular timeline and process transactions relative to this time.
(2) Timestamp Server
The timestamp server is a simple piece of software that is used to digitally timestamp data. The server takes a small section of the transaction data (known as hash) and timestamps it. This time stamped hash is then made publicly available for everyone to see. The existence of this time stamped hash proves that the transaction exists and is valid.
The electronic signature or hash of the previous transaction is also included in the new hash. This creates a chain of transactions (known as a Blockchain) as each new timestamped hash includes the previous hashes. The size of the Blockchain gets larger as the transaction history increases. This demonstrates the scalability issue and why more processing power is needed to “mine” the blockchain as its length increases. When Bitcoin was first introduced, a small desktop computer could efficiently “mine” Bitcoins (process transactions), however a desktop computer can no longer do this and specialised computers are needed to process the transactions due to the length of the Blockchain.
To implement a timestamp server across a network of computers (known as nodes), a proof-of-work system has to be used. Proof-of-work requires proof that a specified amount work has been done by the system. In terms of Bitcoin, a specific mathematical problem has to be solved by a computer and the correct answer must be presented to show that it has done work. Since a computer has to do work to solve a problem, people cannot spam the system with multiple requests. Spamming the system with multiple requests would require substantial computing power and hence proof-of-work is used to safeguard the system.
This process of solving mathematical problems or hash puzzles essentially locks the transactions or blocks in place within the Blockchain. To reverse a set of transactions, the work done to solve the hash puzzle would have to be undone. Since the hash’s build upon one another to form the Blockchain, an attacker would also have to do work on the entire chain to undo a single block. Therefore it is impractical to unlock a single block as one would need to change the entire chain to do this. This creates transactions that are irreversible.
The process of a transaction is as follows:
- New transactions are “publicly announce” to all nodes
- each node puts all new transactions into a block
- each node works on solving the proof-of-work for its own block
- when a lucky node solves the puzzle for its block, it informs all other nodes
- nodes accept the solved block if ALL transactions are valid and there are no issues of double spending
- nodes move onto next block in chain
- This process then repeats in a loop.
Nodes always consider the longest chain to be correct. If two nodes send two versions of the block at the same time, these blocks will process based on their timestamp. The longest chain will win. If a node switches off and subsequently does not receive a block, the rest of the nodes will continue without it and the node that missed out will update when it connects to the network at a later date.
Conventionally, the first transaction in a block creates a new coin which is owned by the person (node) who created that particular block. This incentives people to use their computers (nodes) and connect to the Bitcoin network to help process Bitcoin transactions. This is where the term Bitcoin mining originates.
Transaction fees also act as incentives, which are additional charges added to each transaction. Once the maximum amount of coins (21 Million) have entered the Bitcoin system, the incentive to keep mining Bitcoins solely comes in the form of transaction fees, which are inflation free.
(6) Reclaiming Disk Space
Old transactions can be discarded after a set amount of time to save disk space, the root (a trace) of the discarded transaction will remain so the Blockchain remains intact. Moore’s law predicts that ram will increase by 1.2GB per year which means storing the chain on hardware shouldn’t be a problem. If all transaction were to be stored, it will take up 4.2MB per year.
(7) Simplified Payment Verification
Payments can be verified without running the full network on a node. As long as a user has a copy of the longest Blockchain and block hash’s, they can verify a payment. This is done by querying the network of nodes and matching a transaction to its time-stamp. The transaction cannot be checked by an individual node, a person must connect to another node which connects them to the Blockchain. This connection will then verify that the person’s version of the Blockchain is up to date, if not, the Blockchain will update the person version of the Blockchain before continuing. This method of verification when making a payment is reliable as long as honest nodes are in control. Businesses are recommended to run their own nodes for increased security.
(8) Combining & Splitting Value
Processing coins individually is possible, however it is inefficient to make a separate transaction for every cent in a transfer. The value of coins can therefore be split and/or recombined. This allows a large coin to be split into multiple parts before being passed on, or smaller coins to be combined and make a larger amount. A maximum of two outputs from each transaction can be made, one going to the recipient and another returning change, if any, to the sender.
Although transactions are publicly declared, the public keys that identify individuals are anonymous. It is publicly shown that an amount of money is moving from point A to B, however no identifiable information is openly distributed. This model of identification is similar to the “tape” that stock exchanges use when making their trade information public.
There is a higher probability that an honest node will find a block before a fraudulent node. It is therefore unlikely that the fraudulent node will catch up with the honest node when making a fraudulent Blockchain. The odds are not in the favour of the fraudulent node unless they simply get lucky. This is important when increasing the size of the Blockchain as the nodes identify the longest Blockchain as being the correct chain.
In conclusion, this white paper a system for electronic transactions without relying on a trusted third party. Digital signatures provides control over ownership and address double-spending with proof-of-work. A peer-to-peer network using proof-of-work creates a public ledger (known as the Blockchain) which is impractical for attackers to change, as long as honest nodes are in control of the system. Nodes work with little coordination, they do not need to be identified since messages are never sent to a sole location. Nodes can leave and rejoin the network at any time, as long as they update their Blockchain upon re-entering the network. A consensus mechanism enforces rules and incentives (known as 51% or majority vote).