Skip to content

Latest commit

 

History

History
82 lines (43 loc) · 2.62 KB

README.md

File metadata and controls

82 lines (43 loc) · 2.62 KB

Orbs Core Protocol Specification

V1 release

 

Terminology

Definitions of terms like node, service, committee. Available here.

 

High level flows

  • System Init

    Node and all services init (fresh start or after a restart).

  • Call Method

    Client calls a read-only method of a service (not under consensus).

  • Send Transaction

    Client sends a transaction that may write to state of a service (under consensus).

  • Get Transaction Status

    Client queries regarding the status and receipt of an old transaction.

  • Block Creation

    The main continuous flow of consensus where blocks are created from pooled transactions.

  • Inter Node Sync

    Block synchronization between nodes.

  • Intra Node Sync

    Block synchronization between services inside a node.

 

Services

  • Public Api

    Provides external public gateway interface (like JSON over HTTP) for clients.

  • Transaction Pool

    Holds pending and committed transactions that are propagated between nodes. Helps avoid transaction duplication.

  • Gossip

    Connects different nodes over the network with efficient message broadcast and unicast.

  • Consensus Algo

    Pluggable consensus algorithm (multiple algorithms supported side by side).

  • Consensus Context

    Provides the system context for the consensus algorithm and deals with the actual content of blocks.

  • Virtual Machine

    Executes service methods (smart contracts) using various processors and produces state difference as a result.

  • Processor

    Stateless execution engine for smart contract methods in an isolated environment (multiple languages supported).

  • Block Storage

    Holds the long term journal of all confirmed blocks (the actual chain of blocks), performs block sync between nodes.

  • State Storage

    Holds the latest state under consensus meaning all of the state variables for all deployed services in a virtual chain.

  • Cross-chain Connector

    Runs nodes for other blockchains like Ethereum and provides read access to them.