

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An Essay on the legendary research paper by Satoshi Nakamoto : Bitcoin
Typology: Schemes and Mind Maps
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Bitcoin by Satoshi Nakamoto - Summary
In the paper on Bitcoin, Satoshi Nakamoto proposes a solution to the double spending problem in digital transactions. He is using a peer-to-peer distributed timestamp server which generates computational proofs of the chronological orders of transactions. Instead of trust governing the system, cryptographic proof is considered as the base of trust among the peers. Also, there is an assumption that as long as honest nodes control more computational power as compared to attacker(s), the system will be secure from malicious activities or data tampering.
About Transactions, Nakamoto defines them as chain of Digital Signatures (similar to Public Key Cryptography/Infrastructure). Now, in this chain of transactions (secured by digital signatures), double spending problem can be solved using a central authority, like a mint or a bank. This central authority checks all the transactions in its database for any double spending. After every transaction, coin is issued by the mint. This means that all the coins which the mint has issued can be trusted not to be double spent (they might also be considered legal in the transaction network/coin network). the problem here is that the central authority, or the bank is a vulnerability in this system and what if the bank goes rogue? Now, we need to find a solution to the double spending problem without using/ involving the central trusted authority, or the bank. It is important to understand that the bank is aware of all the previous transactions that have happened in the chronology. In the absence of trusted central party, the transactions need to be publicly announced (broadcasted) to all the participant nodes. Nakamoto also proposes a system or algorithm which governs that all the participant nodes agree on one truth. The truth regarding the transactions and their order.
Now, the solution, implementing a timestamp server on a peer-to-peer network. He uses a Proof-of-Work similar what is there in Hashcash. In Hashcash, the nodes scan or guess a value, that when hashed with SHA 256, the resultant hash begins with a certain number of zero bits. For his timestamp server, Nakamoto implements the proof-of-work by incrementing a nonce in the block until a value is found, which when hashed gives the required starting zero bits. This scanning or guessing of value (which include prev. Hash + nonce) requires a lot of Computational/CPU power. After the CPU power has been expended, the block is added to previous blocks. To change the block, the whole proof-of-work computation has to be performed by the CPU for adding into the chain of previous blocks. Also, more blocks like this shall be added in future, so if we want to change one block in the middle, the total work to change the block will include changing the block (doing the proof-of-work for that block) and changing the all the blocks after it (performing the proof-of-work for them also). This proof-of-work can also be used to compute majority in decision making problems. In this case, Nakamoto says that Proof-of-Work is One-CPU-One-Vote. The longest chain is the majority, because Proof-of-Work has been invested in it.
Any new transaction is broadcast to all the participant nodes. All Participant nodes add the new transactions in a block, and work for a proof-of-work for that block. Once, the proof-of work is found, the block is broadcasted. The other nodes perform the proof-of-work and verify the validity of the transactions using old transactions. There is also an idea of incentivizing the participant nodes so that they stay honest.
Since, all the transaction blocks are broadcasted to all the participant nodes, this might pose a problem of storage of blocks as new blocks get added over time.
However, using the concept of Merkle Tree and some calculation, Nakamoto proved it to be otherwise. He showed a block header without any transactions to be about 80 bytes in size, which means that if every 10 minutes a new block is created, the whole memory storage of all the blocks will be around 4.2 MB per year.
For verification of payment, individual transaction can not be verified. It is verified by linking the transaction block into the longest running proof-of-work chain. Verification happens because two things occur, one, the block is accepted in the longest running chain. Second, new blocks are getting added after this block. Because new blocks are getting added in the chain, it means that the block in which the to-be- verified transaction is valid. Keeping the verification process solely to the network will not be sensible from business perspective, because dishonest users might pose some problem, which can be detected, however. It would be better if the businesses might keep transaction verification nodes in their business end as well, because their payment frequency is higher. In order to facilitate splitting and combining values, transactions contain multiple inputs and multiple outputs. There is never the need to extract the whole standalone copy of a transaction’s input. To maintain privacy in the network, a new key pair is to be used for every transaction, so that the transactions can not be linked together to reveal some hidden information about the parties involved in the transaction. Thus, public keys remain anonymous and privacy is intact. Also, Nakamoto shows that there is very low probability of an attacker being successful in creating a long chain, (longer than the honest chain and one block more than that). As the number of blocks increase, the probability also declines exponentially.
In Conclusion, Satoshi Nakamoto, while proposing solution for the Double Spending Problem, gave the basic foundation of digital currency called Bitcoin, which is implemented as a chain of blocks (containing the transactions), where trust is implemented using cryptography and public key infrastructure. This chain of blocks is broadcasted on a network of participating nodes, which come to consensus for the purpose of verification and validation of transactions. As long as majority of participating nodes are honest, the network is safe and secure. The consensus algorithm employed in Bitcoin keeps the probability of attacker nodes to overpower the network to the very minimum and that decrements exponentially as the chain of blocks becomes longer.