Validator nodes | Diem Documentation (2024)

A Diem node is a peer entity of the Diem ecosystem that tracks the state of the Diem Blockchain. Clients interact with the blockchain via Diem nodes. There are two types of nodes:

Each Diem node comprises several logical components:

  • JSON-RPC service (disabled in validator nodes)
  • Mempool
  • Consensus (disabled in FullNodes)
  • Execution
  • Virtual Machine
  • Storage
  • State synchronizer

The Diem Core software can be configured to run as a validator node or as a FullNode.

Introduction#

When a transaction is submitted to the Diem Blockchain, validator nodes run a distributed consensus protocol, execute the transaction, and store the transaction and the execution results on the blockchain. Validator nodes decide which transactions will be added to the blockchain and in which order.

The Diem Payment Network uses a Byzantine Fault Tolerance (BFT) consensus protocol for validator nodes to agree on the ledger of finalized transactions and their execution. Validator nodes process these transactions to include them in the blockchain’s database, which they maintain. This means that validator nodes always have the current state of the blockchain.

A validator node communicates directly with other validator nodes over a hidden network. It may be configured to store either all or part of the historical data from the Diem Blockchain. FullNodes are an external validation resource for finalized transaction history. They receive transactions from upstream nodes and then re-execute them locally (the same way a validator node executes transactions). FullNodes store the results of the re-execution to local storage. In doing so, they will notice and can provide evidence if there is any attempt to rewrite history. This helps to ensure that the validator nodes are not colluding on arbitrary transaction execution.

The DiemBFT consensus protocol provides fault tolerance of up to one-third of malicious validator nodes.

Validator node components#

Each Diem node comprises several logical components:

  • JSON-RPC service (disabled in validator nodes)
  • Mempool
  • Consensus (disabled in FullNodes)
  • Execution
  • Virtual Machine
  • Storage
  • State synchronizer

Validator nodes | Diem Documentation (1)

Mempool#

Mempool is a validator node component that holds an in-memory buffer of transactions that have been submitted but not yet agreed upon and executed. This buffer is replicated between validator nodes.

The JSON-RPC service of a FullNode sends transactions to a validator node's mempool. Mempool performs initial checks on the requests to protect the other parts of the validator node from corrupt or high volume input. When a new transaction passes the initial checks and is added to the mempool, it is then shared to the mempools of other validator nodes in the Diem Payment Network.

When a validator node is the leader, its consensus component pulls the transactions from its mempool and proposes the order of the transactions that form a block. The validator quorum then votes on the proposal.

Consensus#

Consensus is the validator node component that is responsible for ordering blocks of transactions and agreeing on the results of execution by participating in the consensus protocol with other validator nodes in the network.

Execution#

Execution is a validator node component that coordinates the execution of a block of transactions and maintains a transient state. The consensus component votes on this transient state. The execution component maintains an in-memory representation of the execution results until the consensus component commits the block to the distributed database.

The execution component uses the virtual machine to execute transactions.

Virtual machine#

The virtual machine component is used to run the Move program included in a submitted transaction and determine the results.

A validator node's mempool uses the virtual machine component to perform validation checks on transactions, while its execution component uses it to execute transactions.

Storage#

The storage component is used to persist agreed upon blocks of transactions and their execution results.

State synchronizer#

Validator nodes use their state synchronizer component to “catch up” to the latest state of the blockchain.

As a seasoned expert deeply immersed in the intricacies of blockchain technology, particularly the Diem ecosystem, I bring forth a wealth of first-hand expertise to elucidate the multifaceted aspects of Diem nodes and their pivotal role in the functioning of the Diem Blockchain.

In the realm of Diem, a Diem node stands as a peer entity within the ecosystem, meticulously tracking the state of the Diem Blockchain. The crux of client interactions with the blockchain hinges on these nodes. There exist two distinct types of nodes within this ecosystem: Validator nodes and FullNodes.

Validator nodes and FullNodes each play integral roles, with Validator nodes executing a distributed consensus protocol upon transaction submission to the Diem Blockchain. This execution involves determining the order in which transactions are added to the blockchain, encapsulating the transaction details and execution results. Notably, the Diem Payment Network employs a Byzantine Fault Tolerance (BFT) consensus protocol for validator nodes to collectively agree on the ledger of finalized transactions and their executions.

The Validator nodes maintain the current state of the blockchain, communicating directly with their peers over a concealed network. These nodes can be configured to store historical data, serving as custodians of the blockchain's evolution. On the other hand, FullNodes act as external validation resources for finalized transaction history, receiving and locally re-executing transactions to prevent collusion among Validator nodes.

A key underpinning of the Diem ecosystem is the DiemBFT consensus protocol, ensuring fault tolerance against malicious validator nodes. This fault tolerance extends up to one-third of the validator nodes being potentially compromised.

Delving into the logical components of a Diem node, we encounter several critical elements:

  1. JSON-RPC Service: This service facilitates communication between nodes, with a nuanced role and disabled status in Validator nodes.

  2. Mempool: An in-memory buffer for transactions awaiting consensus, shared among validator nodes.

  3. Consensus: Responsible for ordering transaction blocks and reaching agreement through the consensus protocol.

  4. Execution: Coordinates the execution of transaction blocks and maintains a transient state, interacting with the virtual machine.

  5. Virtual Machine: Executes the Move program within submitted transactions, performing validation checks in the mempool and transaction execution in the execution component.

  6. Storage: Persists agreed-upon blocks of transactions and their execution results.

  7. State Synchronizer: Facilitates validator nodes in catching up with the latest state of the blockchain.

In essence, the seamless orchestration of these components within a Diem node ensures the robustness, security, and integrity of the Diem Blockchain, setting the stage for a decentralized and trustworthy financial ecosystem.

Validator nodes | Diem Documentation (2024)

FAQs

Validator nodes | Diem Documentation? ›

Validator nodes decide which transactions will be added to the blockchain and in which order. The Diem Payment Network uses a Byzantine Fault Tolerance (BFT) consensus protocol for validator nodes to agree on the ledger of finalized transactions and their execution.

What are the main components of a validator Node? ›

Validator node components
  • Mempool. Mempool is a component within each node that holds an in-memory buffer of transactions that have been submitted to the blockchain, but not yet agreed upon or executed. ...
  • Consensus. ...
  • Execution. ...
  • Virtual machine (VM) ...
  • Storage. ...
  • State synchronizer.
Jul 10, 2024

Is a validator the same as a Node? ›

Validator Nodes are run by a pre-set number of validators responsible for validating transactions. While Full Node can be run by any participant who meets the network's entry requirements, verifying transactions and maintaining network synchronization.

What is the difference between full Node and validator? ›

A full node contains the blockchain data and helps in transactions, while a validator node participates in consensus as well. Once started it will sync to the latest block.

Why are validator nodes important? ›

Validator nodes are the backbone of Proof of Stake (PoS) blockchain networks, serving as essential components for governance, consensus, and security. These nodes maintain the integrity of the network, approve transactions, and support a strong, decentralized digital economy via staking.

What are the contents of a node? ›

Nodes are a basic data structure which contain data and one or more links to other nodes. Nodes can be used to represent a tree structure or a linked list. In such structures where nodes are used, it is possible to traverse from one node to another node.

What is the difference between sentry node and validator node? ›

The validator will only talk to the sentry that are provided, the sentry nodes will communicate to the validator via a secret connection and the rest of the network through a normal connection. The sentry nodes do have the option of communicating with each other as well.

Do validator nodes make money? ›

Node operators can earn money through block rewards and transaction fees. Block rewards are given for successfully validating a new block of transactions and adding it to the blockchain.

How much does it cost to run a validator node? ›

Intro to Validators​

The cost of running a block-producing validator node is estimated to be $330 per month for hosting.

How to become a node validator? ›

To be a validator on the Polygon PoS network, you must do the following:
  1. Run a sentry node: A separate machine running a Heimdall node and a Bor node. ...
  2. Run a validator node: A separate machine running a Heimdall node and a Bor node. ...
  3. Stake the MATIC tokens in the staking contracts deployed on the Ethereum mainnet.

How do I choose a good validator? ›

Best Practices for Nominating: Points to consider
  1. Choose more than one validator. ...
  2. Check if the validator has verified their identity. ...
  3. Be aware of the "most profitable" option. ...
  4. Pay attention to the quoted commission. ...
  5. See how much "skin in the game" the validator has. ...
  6. Get some background details. ...
  7. Nominate!
Jun 27, 2024

How many types of validators are there? ›

4 Types of Process Validation

Process validation is often categorized according to the time it is performed in relation to the production schedule. Based on this description, there are 4 types of process validation: prospective validation, retrospective validation, concurrent validation, and revalidation.

How do validators validate transactions? ›

A validator is crucial in validating transactions in blockchain consensus mechanisms like proof-of-stake (PoS) and proof-of-authority (PoA). They check whether new transactions align with the network's rules and ensure that the sender has adequate funds to complete the transaction.

How do nodes verify transactions? ›

A full node's main function is to independently verify the state of the Bitcoin blockchain. It does so by downloading every block and transaction and checking them against Bitcoin's consensus rules. If a transaction or block violates one of Bitcoin's consensus rules, a full node will automatically reject it.

What are the risks of validator? ›

Because delegators share revenue with their validators, they also share risks. If a validator misbehaves, each of their delegators are partially slashed in proportion to their delegated stake. This penalty is one of the reasons why delegators must perform due diligence on validators before delegating.

How many validator nodes does ETH have? ›

However, the rate at which Ethereum's validator set size is growing will soon make Holesky's value obsolete. As of September 15, 2023, there are 806,759 active validators on Ethereum.

What are the two main components of a linked list node? ›

Each node in a singly-linked list typically consists of two parts: Data: The actual information stored in the node. Next Pointer: A reference to the next node.

What are nodes and components? ›

In a deployment diagram, nodes represent the different devices or hardware components in a system. In this specific example, the node represents the client's Android device. The components, on the other hand, represent the software components installed on these devices.

What are the inbuilt components of the worker node? ›

Worker node components

Each worker node has a kubelet that connects with the control plane to retrieve the necessary state for the pods operating on that node and a container runtime responsible for running the containers within the pods.

Top Articles
Can I learn ReactJS in 1 Week
What is the Total Value Locked (TVL) and Why is it Significant in DeFi?
English Bulldog Puppies For Sale Under 1000 In Florida
Katie Pavlich Bikini Photos
Gamevault Agent
Pieology Nutrition Calculator Mobile
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Hendersonville (Tennessee) – Travel guide at Wikivoyage
Compare the Samsung Galaxy S24 - 256GB - Cobalt Violet vs Apple iPhone 16 Pro - 128GB - Desert Titanium | AT&T
Vardis Olive Garden (Georgioupolis, Kreta) ✈️ inkl. Flug buchen
Craigslist Dog Kennels For Sale
Things To Do In Atlanta Tomorrow Night
Non Sequitur
Crossword Nexus Solver
How To Cut Eelgrass Grounded
Pac Man Deviantart
Alexander Funeral Home Gallatin Obituaries
Shasta County Most Wanted 2022
Energy Healing Conference Utah
Aaa Saugus Ma Appointment
Geometry Review Quiz 5 Answer Key
Hobby Stores Near Me Now
Icivics The Electoral Process Answer Key
Allybearloves
Bible Gateway passage: Revelation 3 - New Living Translation
Yisd Home Access Center
Home
Shadbase Get Out Of Jail
Gina Wilson Angle Addition Postulate
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Walmart Pharmacy Near Me Open
Marquette Gas Prices
A Christmas Horse - Alison Senxation
Ou Football Brainiacs
Access a Shared Resource | Computing for Arts + Sciences
Vera Bradley Factory Outlet Sunbury Products
Pixel Combat Unblocked
Cvs Sport Physicals
Mercedes W204 Belt Diagram
Mia Malkova Bio, Net Worth, Age & More - Magzica
'Conan Exiles' 3.0 Guide: How To Unlock Spells And Sorcery
Teenbeautyfitness
Where Can I Cash A Huntington National Bank Check
Topos De Bolos Engraçados
Sand Castle Parents Guide
Gregory (Five Nights at Freddy's)
Grand Valley State University Library Hours
Holzer Athena Portal
Hello – Cornerstone Chapel
Stoughton Commuter Rail Schedule
Selly Medaline
Latest Posts
Article information

Author: Edmund Hettinger DC

Last Updated:

Views: 5778

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Edmund Hettinger DC

Birthday: 1994-08-17

Address: 2033 Gerhold Pine, Port Jocelyn, VA 12101-5654

Phone: +8524399971620

Job: Central Manufacturing Supervisor

Hobby: Jogging, Metalworking, Tai chi, Shopping, Puzzles, Rock climbing, Crocheting

Introduction: My name is Edmund Hettinger DC, I am a adventurous, colorful, gifted, determined, precious, open, colorful person who loves writing and wants to share my knowledge and understanding with you.