Recently in the past few years, blockchain has created a new world to be explored in the technology field. I am still not sure how it will hold up but it is very exciting to see it grow and take shape. Anyway, I thought this will be good time to start diving headfirst into learning the technology and figure it out for myself what can be done with it.
And why not document my weekly learnings along the way 🤷🏻
- Read some good articles around blockchain ledgers, meaning of decentralization and ways of consensus.
- Made progress with the Blockchain A-Z™: Learn How To Build Your First Blockchain course.
- Explored some interesting websites to get intuition around how things work.
Overall since this was the first week, I decided to take an online course on blockchain to get started in a bit structured way and supplemented it with some ad-hoc readings.
Learning Notes 🗒️
Blockchain A-Z™: Learn How To Build Your First Blockchain
What is blockchain?
- Blockchain starts with a genesis block and basically forms a chain of blocks. Each block contains some data which is mainly transactions and stores the hash value of the previous block.
- Genesis block is first block in the blockchain and is the only block not having previous block hash.
- All the hashes are generally computed by the sha256 hash.
- Blockchain network is hosted on a distributed P2P network. This we will have to explore more later. Not stressing too much on this at this point.
- Most promising area of blockchain is using it as an immutable ledger. I also read a good article on this mentioned below.
What is mining?
- Very common word these days but what does bitcoin mining actually mean?
- Miners are specialised systems which try to mine a new block to be added in the blockchain.
- As transactions happen they need to be added to a block. Miners add all the transactions since the last block into this new block and add this to the blockchain.
- They also need to solve a hard cryptographic puzzle. The puzzle part is just there it make mining difficult and scarce thing to prevent too much inflation and coin minting. Rate limiting coin minting basically.
What makes mining difficult?
- Very simple intuition but overall it looks like this.
- Blockchain sets a target hash value : say
- Miners need to compute a hash for the new block with all the data and previous block hash and a variable called as Nonce which is below this target hash.
- Leading zeros in the target hash control the difficulty of the problem. By making the target hash smaller and smaller, mining difficulty is adjsuted.
- Proof of work is basically having this new block hash which is the answer of the cryptographoic puzzle. The miner which solves this first gets to add the block and gets the new coins and transctions fees of it.
- Consensus protocols are implemented in blockchain to ensure only one block is added in the blockchain and everyone agrees on it.
- There are quite a few consensus protocals like proof of work, proof of stake, proof of activity, proof of burn etc.
- Bitcoin uses proof of work.
- Proof of work is basically a proof that a considerable amount of computation has been spended in obtaining this.
- Describes how the most important use base of blockchain technlogy is via using it as ledger.
- It solves giving us a decentralized, almost impossible to tamper ledger which. can be used for variety of governance and financial matters.
- Covers really important differences between architectural decentralization, political decentralization and logical decentralization.
- Blockchains are in general architecture decentralized as they live on a distributed p2p network. Politically decentralized as no ones should ideally own all the nodes in a network.
- Logically centralised as there is always a single consistent blockchain state across the network.
- But there are a few important considerations like if most of the miners are in a resgion with cheaper electricity governed by a single government, then it undermines political decentralization. Many more such ideas are discussed in the article.
- Roughly covers some important consensus protocols like proof of work, proof of stake, proof of activity etc.
- Shows the umcommited transactions since the last block was mined. It was intersting to look at this after reading the theory.
- When a new block is mined these transactions are added to that block.
- Shows details for a block like who mined it, how muc bitcoins he made, which transactions were included in this, how many confirmations we have that this block is successfully added on to the blockchain.
- Really cool website to visualize real time bitcoin transactions.
- Ball size is the amount of bitcoin which was transferred and when you click on it you can view all the details.
Plan for next week
- I will try to code a demo blockchain as this part of the course as well.
- Make more progress with the course.
- Read at least 3-4 more articles around blockchain ecosystem and technology.