Monday, April 30, 2018

Task of miners on Bitcoin network

Once a node connects to the Bitcoin network, there are several tasks that a Bitcoin miner performs.

  • Synching up with the network: Once a new node joins the bitcoin network, it downloads the blockchain by requesting historical blocks from other nodes. This is mentioned here in the context of the bitcoin miner; however, this not necessarily a task only for a miner.
  • Transaction validation: Transactions broadcasted on the network are validated by full nodes by verifying and validating signatures and outputs.
  • Block validation: Miners and full nodes can start validating blocks received by them by evaluating them against certain rules. This includes the verification of each transaction in the block along with verification of the nonce value.
  • Create a new block: Miners propose a new block by combining transactions broadcasted on the network after validating them.
  • Perform Proof of Work: This task is the core of the mining process and this is where miners find a valid block by solving a computational puzzle. The block header contains a 32-bit nonce field and miners are required to repeatedly vary the nonce until the resultant hash is less than a predetermined target.
  • Fetch reward: Once a node solves the hash puzzle, it immediately broadcasts the results, and other nodes verify it and accept the block. There is a slight chance that the newly minted block will not be accepted by other miners due to a clash with another block found at roughly the same time, but once accepted, the miner is rewarded with 12.5 bitcoins (as of 2018) and any associated transaction fees.

Sunday, April 29, 2018

CAP theorem and blockchain

It seems that the CAP theorem is violated in the blockchain, and especially in the most successful implementation: Bitcoin, but this is not the case. In blockchains, consistency is temporarily sacrificed in favour of availability and partition tolerance. In this scenario, Consistency (C) on the blockchain is not achieved simultaneously with Partition tolerance (P) and Availability (A), but it is achieved over time. This is called eventual consistency, where consistency is achieved as a result of validation from multiple nodes over time. For this purpose, the concept of mining was introduced in Bitcoin; this is a process that facilitates the achievement of consensus by using a consensus algorithm called Proof of Work (PoW). At a higher level, mining can be defined as a process that is used to add more blocks to the blockchain.

Saturday, April 28, 2018

How to learn blockchain technology

First, build a foundation by understanding concepts such as the general theory of electronic cash systems and distributed systems. Then develop some understanding of cryptography. This base will provide you with a basic knowledge of the technologies used in blockchains. 

After this, you can pick up a Blockchain platform, e.g. Ethereum or Hyperledger and read the relevant research papers. 

Also, start experimenting with building test Blockchain networks and writing small smart contracts. Once you have the necessary understanding try to build a complete end to end project with a user interface, smart contracts and implementation on a Blockchain network, either public or private. Many enthusiasts are coming to understand and work on this technology from various fields, who may not have a background in computer science or web development. Therefore it's important to focus on the basics first and avoid using any third party frameworks or development tools in the first instance. When you have understood the theory and fundamentals then you can start using various frameworks and tools which will make development and deployment of smart contracts, and decentralisation applications (DAPPS) easier. for example truffle, ganache and drizzle.








Friday, April 27, 2018

Mastering Blockchain

My new book (Mastering Blockchain 2nd edition) has been published in March 2018. It is available at https://goo.gl/LhtjbU


Table of contents are 

1: BLOCKCHAIN 101

2: DECENTRALIZATION
3: SYMMETRIC CRYPTOGRAPHY
4: PUBLIC KEY CRYPTOGRAPHY
5: INTRODUCING BITCOIN
6: BITCOIN NETWORK AND PAYMENTS
7: BITCOIN CLIENTS AND APIS
8: ALTERNATIVE COINS
9: SMART CONTRACTS
10: ETHEREUM 101
11: FURTHER ETHEREUM
12: ETHEREUM DEVELOPMENT ENVIRONMENT
13: DEVELOPMENT TOOLS AND FRAMEWORKS
14: INTRODUCING WEB3
15: HYPERLEDGER
16: ALTERNATIVE BLOCKCHAINS
17: BLOCKCHAIN – OUTSIDE OF CURRENCIES
18: SCALABILITY AND OTHER CHALLENGES
19: CURRENT LANDSCAPE AND WHAT'S NEXT



Thrilled to see that my book Mastering blockchain - the third edition is a best-seller at Amazon!  https://www.amazon.com/Mastering-Blockcha...