Concept and Definition

In the original whitepaper on Bitcoin Satoshi Nakamoto defined blockchain from a purist perspective as:

“The network is robust in its unstructured simplicity. Nodes work all at once with little coordination.” — Satoshi Nakamoto

Chris Dixon’s more recently defined Blockchain as:

“A virtual Computer that runs on top of a network of physical computers that provides strong auditable, game-theoretic guarantees that the code it runs will continue to operate as designed”. — Chris Dixon

What blockchain is not is that it’s not a database. Its common misconception that data can be stored on the blockchain but as we will see further in the article it’s actually very expensive to store data on the blockchain. The main aim is to store as little as possible on-chain and somehow store the data offline and make the data immutable by storing a key/proof on the chain. Thus, Blockchain can be considered as a decentralised tamper-resistant data structure for enabling storing of things of value. Decentralization is an interesting experiment in self-governance as there is no central authority and the blockchain derives value from the community who are economically aligned and thus win together and lose together. As things stand right now the strength of the blockchain is that it can provide provable trust identities and the current weakness is scalability and user experience.

Image for post

Machine Learning Jobs


Architecture

The blockchain architecture can be understood based on the below wedding cake model.

Image for post

Blockchain Architecture

Layer 0: Nodes

This layer is comprised of thousands of nodes which are connected together.

Layer 1: Consensus (Solidity, Move, Motoko)

Consensus layer makes sure that everyone sees the sees data and it achieves this through :

  • Persistence: Data once added cannot be removed except under an extremely improbable and complex 51% attack (Miners owning the majority of the hash(compute) on the network collude to prevent the recording of new blocks).
  • Consensus: All honest participants have the same data except for the last few blocks which will take time to show up on the chain.
  • Liveness: All honest participants can add transactions.
  • Open: Anyone can participate without authentication and this fundamentally the differentiator for blockchain versus other networks where some form authentication is always required. The main invention by Nakamoto was the ability to go around the double-spending problem and move towards an Open consensus mechanism.

Now that we have understood the concepts of the Consensus Layer let’s try to understand how it works. The two main players for achieving the consensus are the participants executing the transaction and the miners who help validate the transaction and then post the update to the blockchain. The participants sign the transactions using a secret key and send it to the miners. The Consensus protocol chooses a random leader from amongst the miners and this leader then collects the transaction into a block and posts it on the blockchain. While posting the transaction the leader selects the order of the transaction and gets paid with the native currency of the blockchain.

There are various types of consensus protocols:-

  • Proof of work slow (Used in Bitcoin) — Miners compete to solve a cryptographic problem. This protocol is slow and energy-consuming.
  • **Proof of stake **(Planned to be used in Ethereum) –This is based on a miner(forger) staking an amount of cryptocurrency he/she has and then based on probability driven by the amount staked the miner might get a chance to validate a block. Delegated Proof of Stake is a further variant on this wherein the miners are able to cast votes proportional to their stake and the one with the most votes gets to validate the transaction and post the block.

There are a few other protocols being used/experimented by other chains including Proof of space, Byzantine Fault Tolerance, SIEVE, Proof of Weight, Unique Node Lists, Proof of Burn, Proof of Activity and Proof of Capacity. The choice of protocol is driven by the type of applications.

#cryptography #cryptocurrency #ai #proof-of-stake #blockchain

Blockchain for Dummies
1.15 GEEK