What is Blockchain

Abstract Answer: A blockchain provides

  • Coordination between many parties,
  • When there is no single trusted party
if trusted party exists ⇒ no need for a blockchain
[financial systems: often no trusted party]

A Linked List:
  • Replicated
  • Distributed
  • Consistency maintained by Consensus
  • Cryptographically linked
  • Cryptographically assured integrity of data
Used as :
  • Immutable ledger of events, transactions, time stamped data
  • Tamper resistant log
  • Platform to create and transact in cryptocurrency 
  • Log of events/transactions unrelated to currency 
How are blocks added to chain












Blockchain treated as database ?

It is an append only database that consists of the blocks that are linked by Hashing. Each block contains many transactions of transferring value between participants secured by cryptography , a consensus between many nodes that hold an identical database decides on which new block is to be appended next.

Examine a database that records the history of children, such as the names of characters such as Dora and Ryder. This means that when the kid said he liked Dora at one point in history, he won't be able to change that history. He can add new history when he changes his mind, but he can't change the fact that he liked them in the past. So we can see that he used to like Dora, but now he prefers Ryder. We want to make this database full of integrity and secure against cheating.

Take a look at the following code block.

class Block:

    id = None

    history = None

    parentId = None

blockA = Block()

blockA.id = 1

blockA.history = 'He likes Dora'

blockB = Block()

blockB.id = 2

blockB.history = 'She likes Ryder'

blockB.parent_id = blockA.id

blockC = Block()

blockC.id = 3

blockC.history = 'Parent likes Dora and Ryder'

blockC.parent_id = blockB.id


If you recognized this data structure , which is called a Linked list , Now there is a problem. let's suppose , she dislikes her brother's choice and try to change the history of block A  

blockA.history='He likes Ryder' 

But because her brother likes Dora, we need to include a mechanism that allows only he can write the history of his choice. Using a Private key and a Public key is the best way to accomplish this.

Comments