Vine Docs
  • Overview
    • What is Vine?
    • Layer 0 Architecture
    • Key Features
    • Network Components
  • Core Concepts
    • Layer 0 Protocol Design
    • Architecture Design
    • Node Architecture
    • Parachains
    • EVM & WASM Support
    • Nominated Proof of Stake (NPoS)
    • How NPoS Works
    • Vine Coin (VNE) and Governance
    • Transaction Fees
  • Validators
    • Who are Validators?
    • Validator Node Types
    • Validator's Guide
      • Step 1 - Validator dApp
      • Step 2 - Dashboard
      • Step 3 - Validator Setup
      • Step 4 - Validators Page
    • Manage Account
    • Validator Node Setup
      • Validator System Requirements
      • Guidelines & Precautions
  • Nominators
    • Who are Nominators?
    • Nominator dApp
    • Becoming a Nominator
      • Step 1 - Login
      • Step 2 - Dashboard
      • Step 3 - Validators Page
      • Step 4 - Nominate Validators
    • Manage Account
  • Staking, Slashing & Chilling
    • Staking
    • Slashing Guide
    • Chilling
  • Parallel Chains
    • Overview
    • Block Parameters
    • Substrate Framework-Based
    • Asset Movement
    • Pros and Cons
    • Interoperability
    • Application-Specific Parallel Chains
  • Vine RPC Calls
    • Overview
    • RPC Calls
      • Author
      • Babe
      • Beefy
      • Chain
      • childstate
      • contracts
      • dev
      • engine
      • grandpa
      • mmr
      • offchain
      • payment
      • rpc
      • state
      • syncstate
      • system
  • Vine Explorer
    • Overview
    • How to Use
      • Dashboard
      • Transaction Details
      • Block Details
      • Telemetry
      • Map View
      • Globe View
      • TPS History
      • Vine Testnet Faucet
      • Token Module
      • Contracts
  • Zen Wallet
    • Overview
    • How to Use
      • Create Account
      • Account Login
      • Dashboard
      • Balance
      • Statements
      • Send
      • Keys
      • Swap
      • Balance
      • Multisig Login
        • How To
        • Balance
        • Send
  • Additional Resources
    • Glossary
      • Blockchain
      • Node
      • Validator Node
      • Full Node
      • Validators
      • Nominators
      • Mnemonics
      • Stake
      • Slashing
      • Chilling
      • Parallel Chain
      • Era
      • Uptime
      • APY
      • Waiting State of Validator
      • Active State of Validator
      • Inactive State of Validator
      • Non-Custodial Wallet
      • Custodial Wallet
      • Points
Powered by GitBook
On this page
  • 1. On-Chain Layer
  • 2. Client Interaction Layer
  1. Core Concepts

Node Architecture

PreviousArchitecture DesignNextParachains

Last updated 3 months ago

Vine's node architecture is defined by two layers:

  1. On-chain layer

  2. Client interaction layer

1. On-Chain Layer

Vine's on-chain layer is built on the following key components: Storage, Runtime, Consensus Mechanism, Security, Modularity, BABE, GRANDPA, and EVM. Details below.

  • Storage The Vine Blockchain's development state is managed through an efficient and straightforward key-value pair storage mechanism using rocksDB. This system ensures that the blockchain's storage state is securely validated through a trustless consensus process, maintaining reliability and integrity.

  • Runtime The runtime handles block processing and governs the logic for state transitions. The Vine Blockchain code is compiled into WebAssembly (WASM) runtime before being incorporated into the blockchain's storage state. The client's executor component interacts with the runtime, dynamically selecting between native code execution and interpreted WASM to optimize performance and flexibility.

  • Consensus Mechanism It is one of the most integral parts of the system. Vine blockchain has a 2-layer consensus algorithm, the first one is BABE (Blind Assignment of Blockchain Extension) for block production and the second one is GRANDPA (GHOST-based Recursive Ancestor Deriving Prefix Agreement) for block finalization.

  • Security Vine uses NPoS (Nominated Proof of Stake) to ensure network security. The consensus mechanism has two key actors: validators and nominators. The nominator delegate some of its VNE coin to a validator for staking in the network, who then participates in the consensus mechanism algorithm for block production and validation, if the validator fails to perform properly, both of their stakes are penalised.

  • Modularity Framework for Runtime Aggregation of Modularized Entities (FRAME) is a set of modules and support libraries that simplify runtime development. FRAME consists of smaller units called pallets, it consists of storage items and functions that define a set of features and functionality for a runtime.

  • BABE Blind Assignment of Blockchain Extension (BABE) also provides slot-based block authoring with a known set of validators. Slot assignment is based on the evaluation of a Verifiable Random Function (VRF). Each validator is assigned a weight for an epoch. This epoch is broken up into slots and the validator evaluates its VRF at each slot. For each slot that the validator's VRF output is below its weight, it is allowed to author a block.

  • GRANDPA GHOST-based Recursive Ancestor Deriving Prefix Agreement (GRANDPA) is responsible for block finalization, leveraging a weighted authority set similar to BABE. Unlike BABE, GRANDPA does not produce blocks itself; instead, it monitors and listens to gossip about blocks created by an external authoring engine, such as those previously mentioned. Validators vote on entire chains rather than individual blocks, selecting the block they consider the "best." Their votes are then applied transitively to all preceding blocks. When over two-thirds of GRANDPA authorities cast their votes for a specific block, it is deemed finalized.

  • EVM Vine Blockchain has support for Ethereum Virtual Machine (EVM), and because of it, all EVM-supported smart contracts can be deployed on Vine Blockchain. It has nothing to do with the Ethereum Chain.


2. Client Interaction Layer

Vine's client interaction layer is built for HTTP and RPC, leverages libp2p, includes an explorer, and offers an API. Details below.

  • HTTP + RPC Vine supports HTTP and WebSocket RPC (Remote Procedure Call) servers for interacting with the network.

  • P2P (Peer-to-Peer) Vine Blockchain leverages the Rust implementation of libp2p to allow participants to interact with each other.

  • Explorer Provides easy assessment of transaction details and chain state.

  • API The API (Application Programming Interface) allows client dApps and platforms to interact directly with the blockchain.