Bitcoin is a cryptocurrency, it is completely digital, ie., there is no physical currency and all transactions are done using the internet.
Bitcoin (uppercase B) is the protocol and bitcoin (lowercase b) is the actual currency. Cypherpunks and libertarians idealized the cultural revolution leading to the Bitcoin. Cypherpunks concentrated on the protection of privacy. The decentralized mannerism of Bitcoin helps this as there was no central government or organization that had to be trusted in order to make transactions.
Bitcoin network is a group of users communicating with each other. The network validates transactions and stores the entire transaction history to be verified by everyone in that network.
Disadvantage- Since it is decentralized, we cannot blame a particular organization when something goes wrong, there’s no one to prevent malicious users and no one to provide some information when needed. To deal with malicious nodes, Bitcoin came up with 2 innovations – Blockchain and Proof Of Work.
‘bitcoins’ are created by the process of mining and Proof Of Work, and not by any central authority. Bitcoin aims to get rid of the central authority. Instead of trusting Banks, Logic and Mathematics are trusted.
Identity in Bitcoin– Identity is not real-world identity here, it is private and public keys. First, the private key has to be decided and a public key is obtained by performing some functions on the private key. These keys are crucial for authentication and to maintain integrity. And since there is no central authority, the public key is used to send transaction, the private key is used to show that you own the public key and also to redeem the transaction.
Transactions in Bitcoin are done using the Unspent Transaction Output (UTXO) model, where one transaction is done based on the previous transactions that were made. Hence the assets are kept in check.
Let’s take a look at a simplified example of how the UTXO model works in Bitcoin transactions:
- Alice gains 12 bitcoins through mining. Alice’s wallet is associated with one UTXO record of 12 bitcoins.
- Alice wants to give Bob 1 bitcoin. Alice’s wallet first unlocks her UTXO of 12 bitcoins and uses this whole 12 bitcoins as input to the transaction. This transaction sends 1 bitcoin to Bob’s address and the remainder of 11 bitcoins is sent back to Alice in the form of a new UTXO to a newly-created address (owned by Alice).
- Say there was another UTXO of 2 bitcoins associated with Bob prior to step 2, Bob’s wallet now shows that his balance is 3 bitcoins. Bob’s wallet now keeps track of two UTXOs: one from before and another from the transaction in step 2. Each UTXO needs to be unlocked if Bob wishes to spend them.
Blockchain – History of transactions must be stored in a database, and since it is not centralized, we need distributed databases so that multiple entities can store the data at multiple locations.
This results in everyone having a copy of the entire history of transactions made in bitcoin, and once a change is made for one entity, it must be reflected in the entire network. Every update to the database, the Bitcoin ledger, is a batch of transaction grouped into blocks. Every block is built off or chained to the previous block, using hash functions on the previous block. Every block is an update and a chain of blocks is history. This makes the Blockchain tamper evident and also reduces the strain in the network.
Consensus – To make sure everyone agrees on the history of transactions we need consensus. The primary consensus and Voting methods are inefficient as the double spending problem cannot be solved by them.
Double spending problem is when one entity has only 1 bitcoin and it tries to send 1 bitcoin each to two other entities. This means it doesn’t have resources but is still trying to make a transaction.
The voting method also allows Sybil attacks ie., when one entity creates different identities and votes for it’s transaction to be genuine. That entity is malicious. Satoshi Nakamoto’s protocol called Proof of Work helps to overcome both these problems. This does not use identity for voting but uses some scarce and valuable such as computing power. 1 CPU- 1 vote, this gives evidence of work as the CPU is required to solve a computationally difficult problem to make a transaction. So no Sybil attacks can occur.
51% attacks – whenever a new block is added, it is added to the longest observed blockchain. An assumption is made that the network is comprised of honest nodes and these nodes will have the longest blockchain. But if malicious nodes obtain the majority ie.,51% of the blockchain then the next transaction will be done on that blockchain.
Properties of Bitcoin-