Explanation of Bitcoin’s Whitepaper (Set-1)
ABSTRACT
A system which allows a person to transfer funds without involving any financial institution to maintain privacy of the user and along with that eradicating the problem of double spending. Double spending means spending more funds than a person actually has in his wallet or account. The problem of double spending is solved by time-stamping each transaction. So the transaction which comes first is valid (if he has enough funds) and other transactions are automatically rejected (if wallet runs out of fund). So here, instead of trusting people or nodes, we use computational power to generate the trust. The nodes have the freedom to join and leave the network as they wish and whenever they return, they can query peers to get the full chain again.
INTRODUCTION
The aim of this payment system is to remove the “trust based model”. Currently, there are financial institutions whom we need to rely on to process our payments which increases the transaction cost. We also need to trust them to prevent reverse-payment. This problem of reverse payment can be avoided with physical currency but no medium exists when it comes to electronic money.
The solution to this problem is ”cryptographic proof” based solution which gives proof of transaction instead of asking us to trust financial institutions. The paper talks about how to achieve this with CPU power. The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes.

TRANSACTIONS
Bitcoin wallet doesn’t store the BTC a person has, rather it only stores his address, and pair of public and private keys. The ownership of each bitcoin will change with time and there should be a way to identify the new owner. To solve that, there are two fields linked with each denomination, one states the address of new and other of the last owner. Last owner’s address is present in order to state from where the new owner got that BTC or in other words, who authorized the new owner to use that money. To transfer a bitcoin, the owner needs to sign the transaction with his private key stating the transaction came from his wallet only and not from anyone else. And in the receiver’s field, the public address of the receiver is entered so only the authorized person can claim that money with their private key. To solve the problem of double spending, the transaction which came first from the wallet is considered to be valid and other transaction is rejected if there are not enough funds available in the wallet.

TIME STAMPSERVER
We know that each block in the blockchain has a hash associated with it. Timestamp is one of the inputs which is given to calculate that hash. The timestamp proves that the data must have existed at the time, obviously, in order to get into the hash.
PROOF-OF-WORK
The abstract states that instead of trusting the nodes present in the network, we generate trust in the network by using computational power. There are six factors which are used to generate the block hash and they are —
- Nonce
- Timestamp
- Previous Hash
- Merkle Root
- Version
- Difficulty
The block hash should be below a specified difficulty level. So for that, nonce is changed randomly and the new hash is calculated. This involves a lot of computational power, and that is what miners are paid for. The new block formed by the miners, is broadcasted across the network, and the peers verify the block hash as well as the transactions inside the block before they add it to their copy of blockchain. This is what we call proof-of-work that some work was done by the miner and he should be rewarded if his work was honest. Once the CPU effort has been expended to make it satisfy the proof-of-work, the block cannot be changed without redoing the work. As later blocks are chained after it, the work to change the block would include redoing all the blocks after it. This is the level of security blockchain provides.
NETWORK
This part of the whitepaper is kind of self explanatory. The new transactions go to a common area called mem-pool, the miners pickup the transaction make a block of it and broadcast it to peers. Peers check the validity of the block before adding it to their copy of the chain. Only the longest chain is considered the valid one, if at a time, more than one block was mined by different miners, both of them broadcast it. Depending on the network speed, the block reaches different nodes at different speed. So some nodes might have block1 and some have block2. So the other block received by the nodes is kept as a branch. This tie is broken, when more blocks are formed and one of the branch becomes longer.

This was first part of the article. The second part can be found here.