Plian
English
English
  • Overview
  • Links
  • Downloads
  • FAQ
    • Node Status
    • Full Balance
    • Flow and FAQ on Becoming a Validator
    • Delegation
    • Staking Rewards
    • Monitor
    • PIScan
    • PIWallet
    • Cross-Chain Transactions
    • DApps
  • About The Blockchain
    • Multichain Framework
    • PDBFT 2.0 Consensus Algorithm
    • Validator Nodes
    • Building with Plian
  • Using The Blockchain
    • Overview
    • Delegating or Staking PI
    • Validator Node Guides
      • Express Node Setup Guide
      • Setting Up a Validator Node
      • Registering Your Node as Validator
      • Submitting Your Vote as Validator
      • Revealing Your Vote
      • Removing Your Node From the Candidate List
      • Alternate Installation Instructions
        • Building From the Source
        • Running Pchain in Docker
        • Installation Instructions for Ubuntu
        • Installation Instructions for Mac OS X
        • Installation Instructions for Windows 10
      • What is FullBalance
    • Token Swaps
    • Plian Javascript Console
    • PIwallet
      • Desktop Wallet
        • Light Wallet Mode
        • Local Node Mode
      • Mobile Wallets
      • How to Deploy a Smart Contract
    • PMetamask
    • MetaMask
      • How to import PIwallet address to MetaMask?
      • How to connect Metamask to Plian
      • How to import wallet address from MetaMask into PIWallet
      • How to deploy smart contract on Plian via Metamask + Remix
    • Advanced Features
      • Command Line Options
      • Management APIs
      • JSON RPC API
      • How to Sync and Run Testnet
    • How to buy Plian $PI
  • For Developers
    • PWeb3 Javascript API
    • How to Create Your Own Subchain
    • Writing Smart Contracts With Solidity
      • Introduction to Smart Contracts
      • Installing the Solidity Compiler
      • Solidity by Example
      • Solidity in Depth
        • Layout of a Solidity Source File
        • Structure of a Contract
        • Types
        • Units and Globally Available Variables
        • Expressions and Control Structures
        • Contracts
        • Solidity Assembly
        • Miscellaneous
      • Security Considerations
      • Resources
      • Using the compiler
      • Contract Metadata
      • Contract ABI Specification
      • Yul
      • Style Guide
      • Common Patterns
      • List of Known Bugs
      • Contributing
      • Frequently Asked Questions
      • LLL
      • Index
Powered by GitBook
On this page
  • What is Multichain?
  • Responsibilities of Different Types of Chains
  • Multichain Architecture
  • What does Multichain Architecture Offer?
  • Easily Create Private or Public Blockchains for Enterprise Use
  • Multi-chain Co-operation to Achieve Large Scale Business Logic

Was this helpful?

  1. About The Blockchain

Multichain Framework

PreviousDAppsNextPDBFT 2.0 Consensus Algorithm

Last updated 4 years ago

Was this helpful?

What is Multichain?

The multichain architecture is the organizational structure of co-existing blockchains within Plian, it contains one main chain and a number of parallel subchains. Each one of the parallel chains is secured by the nodes within it and pegged to the main chain, tying all chains together.

Responsibilities of Different Types of Chains

Plian has two types of chains, one is the main chain, which is the primary chain that everything is pegged to, and the other is subchains that help segregate network traffic for scalability and personalization.

The main chain is responsible for balance record/transfer, and storage of subchain's data. The subchains are responsible for running smart contracts. For both main chain and subchains, PI is used to pay for the transaction execution. PI in main and subchains have the same value and can be used interchangeably and transferred between chains, with the total supply of PI and generation of new supply coming from the main chain.

Multichain Architecture

Each chain has its own stack consisting of consensus mechanism, transaction structure, block structure, and EVM.

In Plian, the main chain and subchains run their stacks separately across the nodes operating within them. These stacks share the same logic for most modules, such as the consensus algorithm (PDBFT), processing of transactions, block storage, execution of EVM, etc.

The difference between main chain’s and subchain’s stack is in the execution and deployment of smart contracts.

Each chain consists of the following layers:

  • RPC

    Plian writes specific RPC logic for multi-chain with each subchain handling its own RPC requirements individually. When making RPC calls, specify chain by adding chain id in url’s path. For example, when access subchain ‘childchain-0’, the url to POST is .

  • p2p

    By taking advantage of the design of Ethereum’s P2P module, when a new chain is initiated, simply adding the mapping of chain and one sub protocol into ProtocolManager allows the network to adapt and route p2p messages to the proper chains.

  • ChainManager and CrossChainHelper

    There are 2 application entities operating outside the stacks that coordinate the chains. One is ChainManager, which holds all chain’s information such as epochs, the validators list, and also manages the initializing/start process of all chains.

    Another is CrossChainHelper, which is injected into every chain’s stack. When main/subchain needs to retrieve cross-chain information or call cross-chain functions, CrossChainHelper handles the request.

What does Multichain Architecture Offer?

Easily Create Private or Public Blockchains for Enterprise Use

Two of the main hurdles for enterprise use of blockchain is the cost of operating on public blockchains (fees and scalability) and the security offered by using cheaper alternatives (economic security and decentralization). Plian solves this by enabling the creation of public or private subchains to affordably integrate blockchain into their business while benefitting from the security of a much more established blockchain network from pegging to the main chain.

Multi-chain Co-operation to Achieve Large Scale Business Logic

Because each chain has its own processing power and independent EVM, business modules can be split apart and run independently of each other and deployed across several subchains. This enables large scale business logic that was previously unable to operate on blockchain, to be split and operate all within one blockchain network.

http://pchain-node/childchain-0