Substrate, an overview

Brief overview of Substrate as a framework to build blockchains with a modular approach.

Substrate, an overview

Humanode is building a network in which the token is not directly involved in the consensus mechanism, using proof of human existence.  

With that in mind, Substrate happens to be a great platform to build our network on because, in brief, Substrate is a framework to build blockchains with a modular approach, thus enabling users to create purpose-built decentralized ledgers using custom or pre-build components.  

According to their documentation, Substrate can be used in three ways:

  1. With the Substrate node: users can run a simple minimum configured node in a few steps. Aka, create a Substrate chain.
  2. With the Substrate FRAME: users can customize runtime with more freedom using the Framework for Runtime Aggregation of Modularized Entities (FRAME). Aka, create a Substrate-based chain choosing the logic of the blockchain using pre-made modules or creating them.
  3. With the Substrate Core: users can design and implement their chain from scratch using any coding language compatible with WebAssembly.

Being a complete blockchain builder platform, Substrate provides all the core components of a Blockchain. As a database layer, networking layer, consensus Engine, transaction Queue, and library of Runtime modules.

Each of these core components can be customized and extended. The vision behind this modular customization is to simplify the process of creation of the blockchain, so developers do not need to necessarily be experts in every aspect of the chain; only in those where they want the chain to be unique.  You may note that most of the existing projects have modified the protocol layer of the chain, where project specific rules are set.

It's valuable to mention that Substrate was born as a repository created for Polkadot. According to Gavin Good, Founder of Polkadot and CTO of Ethereum, it was all the result of what he thought will be Ethereum 2.0 back in 2018. It ended a whole new multi-chain platform that not only works as a blockchain to process transactions (Polkadot) but as an existing framework for creating new blockchains.

FRAME system

FRAME is the framework and library that powers Substrate. It works as a system library where developers are provided with core macros like pallets, runtimes and Core Primitives modules that simplify the creation of low level types, storage, and functions for your blockchain. Substrate contains the FRAME system along with other pallet implementations.

When developers are building with Substrate they can implement customized Pallets for specific needs or FRAME modules. FRAME library includes modules for consensus, timestamp, identity, validation, transaction payment, runtime, and more.

For a blockchain network, a Runtime is the business logic that defines its behavior, and on the Substrate based-chains, it is referred to where developers define the storage items that will be used to represent the blockchain state and functions, i.e. Hash, Header, Block, BlockNumber.

Despite the fact that the Substrate framework makes minimal assumptions about what runtime items users must provide, there are eight mandatory Core Primitives to define and fulfill to work with it. Those Core Primitives are Hash, DigestItem, Digest, Extrinsic, Header, Block, and BlockNumber.

Substrate smart contracts

Currently, Substrate library has two pallets for providing Smart contract logic: Contracts Pallet and EVM Pallet.

Contracts Pallet

Contracts Pallet provides the functionality for a Substrate runtime to deploy and execute WebAssembly Smart Contracts. These contracts use Rust language, developed by Parity, and work with any Wasm virtual machine.

The Contracts pallet also uses an account-based system similar to many existing Smart contracts platforms, such as Solidity. And regarding fees, these contracts are charged with a gas fee limit to the computational resources a transaction can use.

Ethereum Virtual Machine (EVM) Pallet

Substrate provides developers with an EVM pallet, which means that unmodified EVM code can be executed in a Substrate-based chain. The EVM pallet works with Frontier, a compatibility layer that works with both Ethereum and Dynamic Fee pallets. So it enables the creation of runtimes capable of emulating Ethereum block production and transaction processing.

EVM pallet works with the Ethereum Pallet to provide full emulation for Ethereum block processing including balance changes and gas fees.  

Needless to say, there is a growing list of companies invested in building fully EVM compatible environments on the Polkadot chain, including, but not limited to  ParaState, Clover, Moonbeam, and PolkaFoundry, among many others.  

The uniqueness for Humanode

Since dismantling the involvement of the token in the consensus mechanism is one of our main goals as a project, we want to focus our development on building the biometric-based consensus aspects on the network. And that is why the modular customization vision behind Substrate is a great ally on our path.

Our project was born to create a stable and just financial system that relies on the existence of human life itself by making node creation easy and natural for any human being, no matter what race, gender, nationality, beliefs, social status, or wealth. For that, Humanode will implement biometric authentication as the key in its consensus mechanism.

In other words, Humanode relies on the premise: one human, one node, and our proposal dismantles the involvement of the token in the consensus mechanism. Instead of using mining (Proof of Work) or staking (Proof of Stake), our network requires a unique consensus mechanism based on private biometrically encrypted equal human nodes.

“Human nodes are created through encryption of the user’s biometric data. Thus, the user’s biometric identity becomes the stake that gives access to the creation of a node that verifies transactions”

-White paper of Humanode, Kavazi, Kupriianov, Smirnov, and Shilina, 2020

The platform will deploy private biometrics adapted from the Substrate framework. Learn more about Humanode's biometric approach to user identification here.

In the future, any person in the world with access to devices that can conduct biometric processing, like a smartphone with a fingerprint or a front camera will be sufficient to become a human node.


Sources:

https://substrate.dev/docs/en/knowledgebase/smart-contracts/

https://substrate.dev/docs/en/

https://substrate.dev/docs/en/knowledgebase/smart-contracts/evm-pallet

https://substrate.dev/docs/en/knowledgebase/smart-contracts/faq

https://substrate.dev/docs/en/

https://humanode.io/papers/Humanode_Whitepaper_v0.9.5_Ayanami.pdf

https://humanode.io/papers/Humanode_Whitepaper_v0.9.5_Ayanami.pdf

https://humanode.io/papers/Humanode_Lightpaper_v1.0.0_Soryu.pdf