Validators | Tendermint Core (2024)

Validators are responsible for committing new blocks in the blockchain.These validators participate in the consensus protocol by broadcastingvotes which contain cryptographic signatures signed by eachvalidator's private key.

Some Proof-of-Stake consensus algorithms aim to create a "completely"decentralized system where all stakeholders (even those who are notalways available online) participate in the committing of blocks.Tendermint has a different approach to block creation. Validators areexpected to be online, and the set of validators is permissioned/curatedby some external process. Proof-of-stake is not required, but can beimplemented on top of Tendermint consensus. That is, validators may berequired to post collateral on-chain, off-chain, or may not be requiredto post any collateral at all.

Validators have a cryptographic key-pair and an associated amount of"voting power". Voting power need not be the same.

# Becoming a Validator

There are two ways to become validator.

  1. They can be pre-established in the genesis state
  2. The ABCI app responds to the EndBlock message with changes to theexisting validator set.

# Setting up a Validator

When setting up a validator there are countless ways to configure your setup. This guide is aimed at showing one of them, the sentry node design. This design is mainly for DDOS prevention.

# Network Layout

Validators | Tendermint Core (1)

The diagram is based on AWS, other cloud providers will have similar solutions to design a solution. Running nodes is not limited to cloud providers, you can run nodes on bare metal systems as well. The architecture will be the same no matter which setup you decide to go with.

The proposed network diagram is similar to the classical backend/frontend separation of services in a corporate environment. The “backend” in this case is the private network of the validator in the data center. The data center network might involve multiple subnets, firewalls and redundancy devices, which is not detailed on this diagram. The important point is that the data center allows direct connectivity to the chosen cloud environment. Amazon AWS has “Direct Connect”, while Google Cloud has “Partner Interconnect”. This is a dedicated connection to the cloud provider (usually directly to your virtual private cloud instance in one of the regions).

All sentry nodes (the “frontend”) connect to the validator using this private connection. The validator does not have a public IP address to provide its services.

Amazon has multiple availability zones within a region. One can install sentry nodes in other regions too. In this case the second, third and further regions need to have a private connection to the validator node. This can be achieved by VPC Peering (“VPC Network Peering” in Google Cloud). In this case, the second, third and further region sentry nodes will be directed to the first region and through the direct connect to the data center, arriving to the validator.

A more persistent solution (not detailed on the diagram) is to have multiple direct connections to different regions from the data center. This way VPC Peering is not mandatory, although still beneficial for the sentry nodes. This overcomes the risk of depending on one region. It is more costly.

# Local Configuration

Validators | Tendermint Core (2)

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.

When initializing nodes there are five parameters in the config.toml that may need to be altered.

  • pex: boolean. This turns the peer exchange reactor on or off for a node. When pex=false, only the persistent_peers list is available for connection.
  • persistent_peers: a comma separated list of nodeID@ip:port values that define a list of peers that are expected to be online at all times. This is necessary at first startup because by setting pex=false the node will not be able to join the network.
  • unconditional_peer_ids: comma separated list of nodeID's. These nodes will be connected to no matter the limits of inbound and outbound peers. This is useful for when sentry nodes have full address books.
  • private_peer_ids: comma separated list of nodeID's. These nodes will not be gossiped to the network. This is an important field as you do not want your validator IP gossiped to the network.
  • addr_book_strict: boolean. By default nodes with a routable address will be considered for connection. If this setting is turned off (false), non-routable IP addresses, like addresses in a private network can be added to the address book.
  • double_sign_check_height int64 height. How many blocks to look back to check existence of the node's consensus votes before joining consensus When non-zero, the node will panic upon restart if the same consensus key was used to sign {double_sign_check_height} last blocks. So, validators should stop the state machine, wait for some blocks, and then restart the state machine to avoid panic.

# Validator Node Configuration

Config Option Setting
pex false
persistent_peers list of sentry nodes
private_peer_ids none
unconditional_peer_ids optionally sentry node IDs
addr_book_strict false
double_sign_check_height 10

The validator node should have pex=false so it does not gossip to the entire network. The persistent peers will be your sentry nodes. Private peers can be left empty as the validator is not trying to hide who it is communicating with. Setting unconditional peers is optional for a validator because they will not have a full address books.

# Sentry Node Configuration

Config Option Setting
pex true
persistent_peers validator node, optionally other sentry nodes
private_peer_ids validator node ID
unconditional_peer_ids validator node ID, optionally sentry node IDs
addr_book_strict false

The sentry nodes should be able to talk to the entire network hence why pex=true. The persistent peers of a sentry node will be the validator, and optionally other sentry nodes. The sentry nodes should make sure that they do not gossip the validator's ip, to do this you must put the validators nodeID as a private peer. The unconditional peer IDs will be the validator ID and optionally other sentry nodes.

Note: Do not forget to secure your node's firewalls when setting them up.

More Information can be found at these links:

# Validator keys

Protecting a validator's consensus key is the most important factor to take in when designing your setup. The key that a validator is given upon creation of the node is called a consensus key, it has to be online at all times in order to vote on blocks. It is not recommended to merely hold your private key in the default json file (priv_validator_key.json). Fortunately, the Interchain Foundation (opens new window) has worked with a team to build a key management server for validators. You can find documentation on how to use it here (opens new window), it is used extensively in production. You are not limited to using this tool, there are also HSMs (opens new window), there is not a recommended HSM.

Currently Tendermint uses Ed25519 (opens new window) keys which are widely supported across the security sector and HSMs.

# Committing a Block

+2/3 is short for "more than 2/3"

A block is committed when +2/3 of the validator set sign precommitvotes (opens new window) for that block at the same round.The +2/3 set of precommit votes is called acommit (opens new window). While any +2/3 set ofprecommits for the same block at the same height&round can serve asvalidation, the canonical commit is included in the next block (seeLastCommit (opens new window)).

Validators | Tendermint Core (2024)

FAQs

What do validators do? ›

A validator is a participant in a blockchain network tasked with confirming transactions and adding them to the blockchain. Validators play an essential role in maintaining the network's integrity and security.

What is Tendermint core? ›

Tendermint Core is a blockchain application platform; it provides the equivalent of a web-server, database, and supporting libraries for blockchain applications written in any programming language. Like a web-server serving web applications, Tendermint serves blockchain applications.

What is the difference between cosmos and Tendermint? ›

Tendermint is the most (and only) mature BFT consensus engine in existence. It is widely used across the industry and is considered the gold standard consensus engine for building Proof-of-Stake systems. The Cosmos SDK is open-source and designed to make it easy to build blockchains out of composable modules.

What language is Tendermint written in? ›

Tendermint Core is Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine — written in any programming language — and securely replicates it on many machines. Although Tendermint Core is written in the Golang programming language, prior knowledge of it is not required for this guide.

What is the purpose of a validator? ›

A validator is a computer program used to check the validity or syntactical correctness of a fragment of code or document. The term is commonly used in the context of validating HTML, CSS, and XML documents like RSS feeds, though it can be used for any defined format or language.

How do validators make money? ›

Validators earn financial rewards for carrying out their assigned duties: proposing and validating blocks. As we'll explain in more detail later, these rewards come from new ETH issuance, priority fees from transactions, and maximal extractable value (MEV).

Which blockchain uses Tendermint? ›

The Tendermint consensus is the backbone of the Cosmos consensus layer. The ABCI application layer allows developers to build either on top of the Cosmos blockchain or use the Cosmos SDK to build on one of the IBC-compatible blockchains.

Is Tendermint a PoS? ›

Formerly known as Tendermint, the Ignite consensus framework is a proprietary Byzantine-Fault-Tolerant (BFT) Proof-of-Stake (PoS) infrastructure that allows the Cosmos Hub and its underlying blockchain “network of networks” to function.

What is core token? ›

CORE is a cryptocurrency that aims to provide a decentralized and secure digital payment system. It operates on its own blockchain network and utilizes a proof-of-work consensus mechanism for validating transactions and mining new coins.

Which blockchains use Cosmos? ›

Furthermore, the Cosmos SDK allows users to connect their own blockchain to the Cosmos Network via IBC, increasing liquidity and user adoption. The Cosmos SDK has also been used to construct a number of key blockchain and cryptocurrency projects, such as Binance DEX, Kava, Terra and IRISNet.

What is a Cosmos validator? ›

Validators commit new blocks in the blockchain and receive revenue in exchange for their work. Validators must also participate in governance by voting on proposals. Validators are weighted according to their total stake.

Is Tendermint Permissioned? ›

While it was designed for use in public cryptocurrency settings, with validators determined by eco- nomic stake, Tendermint can also be used in more private or permissioned settings as a general purpose, production-grade software for BFT state machine replication, where validators are determined according to the ...

When was Tendermint created? ›

The company was founded in 2014 by Jae Kwon to explore the commercialization of the Tendermint consensus algorithm he developed in 2014. Since 2017, the company has been contracted by the Interchain Foundation to deliver and now help maintain the Cosmos Network and Hub.

How does the Tendermint consensus algorithm work? ›

Consensus Overview

Tendermint BFT works using three steps: proposing, pre-voting and pre-committing. The sequence (Propose -> Pre-vote -> Pre-commit) is called a round. A validator node from the validator set is chosen as block proposer for a given height. She picks up transactions and packs them in a block.

How long is finality in Tendermint? ›

Instant Block Finality

Every block is final. Depending on the number of validators, block finality in Tendermint can be achieved in 1 second.

What does validators required do? ›

required : Validator that requires controls to have a non-empty value. It also validates that the value matches the input type. For example, if the input is of “email” type, then the input will be valid if it's not empty and if the value is of email type.

What is the role of data validator? ›

Here are a few common job duties for a data validation specialist: Ensuring that all employees who submit reports comply with company requirements. Reviewing reports and other documents to ensure accuracy. Training new employees in how to analyze specific types of data.

Why do validators get jailed? ›

Validators that miss 10,000 or more blocks are jailed and slashed for downtime. For this offense, the Cosmos slashing penalty is just a slap on the wrist of 0.01%. That means you lose 0.01% of your tokens that are staked with the jailed validator. The slashing penalty for double signing blocks is 5%.

What are the benefits of being a validator? ›

Validators are typically rewarded for their participation in the network. Depending on the consensus mechanism, validators may earn transaction fees, block rewards, or other incentives for their contribution to maintaining the network's security and reliability.

Top Articles
Best VPN for Roku in 2024: Easy setup
Ethereum Name Service Price Prediction Up to $122.35 | ENS Forecast | DigitalCoinPrice
Scheelzien, volwassenen - Alrijne Ziekenhuis
Hotels Near 6491 Peachtree Industrial Blvd
Xre-02022
It may surround a charged particle Crossword Clue
Air Canada bullish about its prospects as recovery gains steam
David Packouz Girlfriend
Volstate Portal
Concacaf Wiki
Osrs Blessed Axe
Culvers Tartar Sauce
Charmeck Arrest Inquiry
David Turner Evangelist Net Worth
Google Feud Unblocked 6969
Tcu Jaggaer
라이키 유출
Unterwegs im autonomen Freightliner Cascadia: Finger weg, jetzt fahre ich!
Caledonia - a simple love song to Scotland
Www.paystubportal.com/7-11 Login
Target Minute Clinic Hours
3Movierulz
Cable Cove Whale Watching
2023 Ford Bronco Raptor for sale - Dallas, TX - craigslist
Ncal Kaiser Online Pay
Log in or sign up to view
Allegheny Clinic Primary Care North
Ugly Daughter From Grown Ups
Warn Notice Va
Autopsy, Grave Rating, and Corpse Guide in Graveyard Keeper
Flaky Fish Meat Rdr2
Watchdocumentaries Gun Mayhem 2
El agente nocturno, actores y personajes: quién es quién en la serie de Netflix The Night Agent | MAG | EL COMERCIO PERÚ
Colorado Parks And Wildlife Reissue List
Afspraak inzien
Domina Scarlett Ct
Srg Senior Living Yardi Elearning Login
Jewish Federation Of Greater Rochester
Arch Aplin Iii Felony
The Bold and the Beautiful
5103 Liberty Ave, North Bergen, NJ 07047 - MLS 240018284 - Coldwell Banker
A jovem que batizou lei após ser sequestrada por 'amigo virtual'
Bellelement.com Review: Real Store or A Scam? Read This
25100 N 104Th Way
Strawberry Lake Nd Cabins For Sale
Game Like Tales Of Androgyny
Vcuapi
28 Mm Zwart Spaanplaat Gemelamineerd (U999 ST9 Matte | RAL9005) Op Maat | Zagen Op Mm + ABS Kantenband
How Did Natalie Earnheart Lose Weight
Asisn Massage Near Me
Latest Posts
Article information

Author: Saturnina Altenwerth DVM

Last Updated:

Views: 5816

Rating: 4.3 / 5 (44 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Saturnina Altenwerth DVM

Birthday: 1992-08-21

Address: Apt. 237 662 Haag Mills, East Verenaport, MO 57071-5493

Phone: +331850833384

Job: District Real-Estate Architect

Hobby: Skateboarding, Taxidermy, Air sports, Painting, Knife making, Letterboxing, Inline skating

Introduction: My name is Saturnina Altenwerth DVM, I am a witty, perfect, combative, beautiful, determined, fancy, determined person who loves writing and wants to share my knowledge and understanding with you.