Cryptopedia

®

Your trusted source for all things crypto.

Subscribe

The Main Functions of the EOSIO Blockchain

Read how EOSIO’s labyrinth of proprietary custom technologies make this blockchain platform a force to be reckoned with.

gemini-The Main Functionalities of the EOSIO Blockchain Platform-100

Summary

EOSIO is one of the most technically advanced projects in the blockchain industry. To help ensure that this state-of-the-art innovation continues, EOSIO utilizes its own customized Delegated Proof of Stake (DPoS) consensus methodology, invented by Block.one CTO Dan Larimer. This cutting-edge blockchain system features many advanced attributes such as the EOS Virtual Machine, Nodeos, and EOSIO smart contracts, which interact with a number of protocol components. Instead of employing a Proof-of-Work consensus algorithm used by blockchains like Bitcoin, EOSIO schedules validators to verify blocks in a specific order.

EOSIO BFT-DPOS Consensus Algorithm

The EOSIO blockchain utilizes a DPoS consensus mechanism, with a BFT (Byzantine Fault Tolerance) model working in unison despite both layers existing separately within the EOSIO software stack. The main functionalities of each layer are:

  • Layer 1: Asynchronous Byzantine Fault Tolerance (aBFT) — block production/validation

  • Layer 2: Delegated Proof of Stake (DPoS) — producer voting/scheduling

Layer 1: aBFT

aBFT is the basis for Layer 1 of the protocol. Its main function is to oversee block execution and finalize the confirmations needed to permanently record data on the EOSIO blockchain. aBFT receives a set schedule of special nodes called block producers, which are proposed by the second layer (DPoS), and uses that schedule to determine which blocks have been correctly signed by the appropriate block producer. aBFT then utilizes a two-stage block confirmation process where a two-thirds supermajority of block producers from the current schedule confirm each block twice.

The first confirmation stage in aBFT proposes a last irreversible block (LIB) — the last block in the chain that the network decides it can safely rely on. The second stage ensures that the proposed LIB has indeed been made irreversible. Additionally, the aBFT layer is also used to signal blockchain producer schedule changes at the start of each schedule round.

Layer 2: DPoS

DPoS makes up the Layer-2 protocol, which is used to elect active block producers who are authorized to sign valid blocks within the EOSIO network through producer voting. This process occurs when a block producer is assigned a time slot to amend new blocks in scheduled rounds, each two minutes apart. Note that this schedule can be slightly modified through the initiation of privileged smart contracts.

The DPoS layer is enabled through the use of WebAssembly (WASM) smart contracts. The EOSIO blockchain protocol achieves consensus by using algorithmic validation instead of the probabilistic validation typical of proof-of-work (PoW) models. In other words, rather than validating a blockchain platform simply based on the computing effort tied to a node (as is the case with the original Bitcoin PoW model), EOS’s algorithmic model creates an ordered schedule of chosen participants who each authorize a chain at a particular point in time. This innovation increases the security of the EOS network by reducing the possibility of 51% attacks and other related attempts to corrupt the chain. 

The Main Components of EOSIO Core

The EOSIO Core helps lay the foundation for the EOSIO ecosystem and consists of several main components:

  • EOS Virtual Machine (EOS VM)

  • EOSIO Contract Development Toolkit (EOS.CDT)

  • EOSIO System Smart Contracts 

  • Nodeos Core Daemon

  • Cleos Command Line Interface (CLI)

  • Keosd Key Manager

The EOSIO Virtual Machine (EOS VM) is a high-performance, purpose-build, blockchain WebAssembly implementation designed to optimally execute smart contracts within the EOSIO ecosystem. WebAssembly is a W3C open standard which defines a safe, portable, low-level code format designed for efficient execution and compact representation. Notably, EOS VM runs smart contracts up to 16 times faster than Binaryen, which was released with the EOSIO 1.0 blockchain.

The EOSIO Contract Development Toolkit (EOS.CDT) is an LLVM-based ToolChain built to compile and optimize EOSIO smart contracts. It provides standard library implementations for both C and C++ programming languages, creating a more reliable method for developers to define their smart contract structure and corresponding data structures.

EOSIO’s system smart contracts are critical to the foundation of the entire blockchain protocol. System smart contracts may access privileged functionality, so the fundamental behavior of an EOSIO blockchain can be modified to suit a multitude of different business use-case requirements without requiring changes to the core software.

Core blockchain features and principles — such as consensus, cryptoeconomics, block producer registration, fee schedules, account creation and modification, voting, and multi-signature systems — are implemented through system smart contracts that are deployed on the EOSIO blockchain platform. System smart contracts are also responsible for resource allocation and accounting, which are all key components of the platform.

Nodeos is the core service daemon (configured through specific plugins) used to run nodes on the EOSIO network. Daemons are computer programs that run in the background and provide services without requiring direct user intervention. Nodeos provide the foundation for the network’s blockchain functionality by processing smart contracts; validating transactions, and producing, recording, and confirming blocks on the EOS blockchain.

Cleos simplifies the development process for software engineers by giving them a command line interface (CLI) and access to specific developer tools to interact with EOS blockchains. The CLI is used for reading data from the blockchain history, sending new transactions, and to test and deploy smart contracts.

Keosd is a key manager daemon provided for convenient EOSIO blockchain development that can sign digital messages, such as transactions. Its purpose is to provide a secure key storage in an encrypted local wallet file. Once a wallet is unlocked with a secure password, Cleos can interact with Keosd to retrieve transaction signatures using any private key in the unlocked wallet.

The EOSIO blockchain protocol employs its advanced BFT-DPoS consensus mechanism to ensure stability, scalability, security, and transaction speed. Several components of the EOSIO core complement the consensus methodology to give the protocol the tools it needs to ensure its continual expansion and real-world usability. As the project develops, it is becoming increasingly apparent that EOSIO is a force to be reckoned with today and in the future.

Cryptopedia does not guarantee the reliability of the Site content and shall not be held liable for any errors, omissions, or inaccuracies. The opinions and views expressed in any Cryptopedia article are solely those of the author(s) and do not reflect the opinions of Gemini or its management. The information provided on the Site is for informational purposes only, and it does not constitute an endorsement of any of the products and services discussed or investment, financial, or trading advice. A qualified professional should be consulted prior to making financial decisions. Please visit our Cryptopedia Site Policy to learn more.

Is this article helpful?

Yes

No

Topics in article