Blockchain explained in 6 steps – for your toddler and your manager

Want to explain to a toddler how Blockchain protocol works or your father asked you recently about blockchain or cryptocurrency stuff?

Here, I’ve tried to explain it in 6 simple steps for different persons in your life.

For your toddler –

  1. ‘A’ wants to send money to ‘B’
  2. A block is created representing a transaction
  3. Block is broadcast to every node(miners) in the network
  4. Node verifies the block and create a consensus
  5. Block is added to the existing chain
  6. Money moves from ‘A’ to ‘B’

For your manager –

  1. Your cousin Seema in the USA wants to send money to you in India and she doesn’t want to put his hard earned money in the hands of some middleman like banks and wiring service providers for which they take a ‘brokerage’.
  2. Seema sends you some bitcoins which get recorded in form of a ‘transaction’ over the bitcoin cryptocurrency network.
  3. The ‘transaction’ that ‘Seema sent some bitcoins to you’ is shared with everyone in the network in a secure way.
  4. Every node in the network reads this ‘transaction’ and actually verifies that Seema has actually sent some bitcoins to you.
  5. When all the nodes or miners have created a consensus that this transaction is legal, it gets added to the public distributed ledger.
  6. You get your money without any middleman in secured, fast and anonymous way.

Creating your own private ethereum blockchain network

Let’s get our hand dirty on creating a private ethereum blockchain network.

  • Install geth

    Go to https://geth.ethereum.org/downloads/

    Download the installer, follow the wizard.

  • Create a genesis.json file

    Create a genesis.json file which will look like below –

{
  "difficulty" : "0x20000",
  "gasLimit"   : "0x8000000",
  "alloc": {},
  "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    }
}

Open a console and create a folder

C:\>mkdir mychain
C:\>cd mychain

Open a create a folder chaindata, this folder will have all of our blockchain related data in file based storage

C:\mychain>mkdir chaindata

Create a file genesis.json as stated above. Now mychain folder will have a folder chaindata and a file genesis.json

  • Init and bring up your blockchain

Initialise your blockhain

C:\mychain>geth --datadir=./chaindata init ./genesis.json

You should see something like this output:

[INFO] Successfully wrote genesis state

You now have to start geth with that chaindata directory:

C:\mychain>geth --datadir=./chaindata --nodiscover

Congratulations, your first private blockchain is up. Feel free to comment your thoughts.

 

Complete list of open-source blockchain platforms

The blockchain ecosystem has exploded with multiple open source projects and that’s good for the blockchain’s future because multiple blockchain platforms communities will urge themselves towards more innovation in the same field.

  • Ethereum
  • Hyperledger
  • R3s Corda
  • Axoni
  • Ripple
  • Eris
  • HydraChain
  • MultiChain
  • OpenChain

If I’ve missed any other platform, please let me know in comments, I’ll add it to the list.