Get to Know Them Nodes!

We certainly hope that you’ve been enjoyin’ our series of guides and lore posts, friends. Here at Bearmint, our work is never truly done. While we’re committed to buildin’ amazin’ solutions fer folks, we also know that we need to educate ‘em so that they know exactly how to set up their applications and get things up and runnin’ as fast and reliably as they possibly can!

Most of our posts as of late have been guides on how to set up various components fer yer own custom blockchain, but today we decided to mix things up a little and provide you with some vital information on the different types of nodes that Tendermint makes use of.

Now what exactly is a node? Well, simplest way to explain it is that a node is a device (in this case, a computer) that has the software necessary to help a network function. So a blockchain is basically made up of a whole bunch of different nodes that all play their part in keepin’ the network runnin’. Easy, right?

But as you can imagine, just as there are different consensus mechanisms and cryptographic algorithms, so too are there different kinds of nodes. So naturally, we need different nodes to carry out one or more important functions at any given time. In order fer a blockchain to function reliably and consistently, it’s gotta have a certain number of nodes that do one thing and a certain number of other nodes that do somethin’ else. And obviously these nodes also need to be able to connect to and interface with one another in order fer things to run nice and smoothly.

Thankfully you won’t have to worry about all of the finer details concernin’ nodes, but it’s still good to know what the different types are and exactly what it is they do. So let’s now take the time to zoom on in and take a real close look at the various types of nodes you’ll find within Bearmint!

What Are Them Nodes Called Then?

Every blockchain is made up of at least three different types of nodes:

  • Archival nodes that keep a complete record of all past events
  • Seeds that contain a full list of peers, and of course
  • Validators that produce blocks

For your convenience, we‘ll briefly cover the various types of nodes Tendermint employs here. However, if you’re looking for more detailed information about nodes, be sure to check out the official Tendermint’s official documentation.

Full

A full node plays a part in keeping the network running but plays no role in securing it. Full nodes basically store the entire state of a blockchain. In terms of Tendermint, there are two forms of state:

  • First we have blockchain state, which represents the blocks that constitute a blockchain
  • Then there’s application state, which represents the state that transactions modify. Note that the knowledge regarding how a transaction can modify state isn’t actually held by Tendermint. It is instead held by the application on the other side of the ABCI boundary

Seed

A seed node’s function is to provide a node with a list of peers that it can connect to. When initializing a node, you’ll need to provide at least one type of node in order to connect to the desired network. By providing a seed node, you can populate your address far more quickly. Note that a seed node will not stay connected as a peer and disconnect from your node after providing it with a list of peers.

Sentry

A sentry node is similar to a full node in practically every way. However, the difference is that a sentry node contains one or more private peers. These peers may consist of validators or other full nodes present within the network. A sentry node is meant to provide a layer of security for your validator in much the same way that a firewall works with a computer.

Validator

These types of nodes actively take part in securing the network. As such, validators possess an associated power in Tendermint (for example, stake in a Proof-of-Stake [PoS] system, reputation in Proof-of-Authority [PoA] or any kind of measurable unit for that matter).

Operating a secure and consistently online validator is absolutely crucial to a network’s health. A validator has to work in a secure and fault tolerant way. For this reason, we recommend running your validator using two or more sentry nodes.

Remote Signing

Tendermint allows validators to make use of remote signing, meaning the operator can store the validator key on a different machine. This basically minimizes the attack surface in a scenario in which some event compromises a server, which is obviously highly beneficial.

The remote signing protocol implements a client and server architecture. When Tendermint requires the public key or signature for a proposal or vote, it requests it directly from the remote signing. To run a secure validator and remote signing system, we recommend using a VPC (virtual private cloud) or private connection.

Any Questions?

Well, there you go, partners! Those are the different kinds of nodes that Tendermint employs, and now you have a basic understandin’ of how each of ‘em works and what it is they do. Just remember that if you want to learn more about these nodes and get a deeper understandin’ of ‘em, you’ll need to have a gander at Tendermint’s official documentation. Yep, if yer confused or just plain ol’ curious, then them docs should have all the answers yer lookin’ fer!

If yer findin’ any of this troublesome or have some other issue or request burnin’ in yer chest, then we kindly ask that you reach out and get in touch with us so we can discuss yer issue in more detail and see what we can do to help you out! We are committed to providin’ workable, user-friendly solutions to developers and organizations, so if there’s ever anythin’ you need, then get in touch with us and we’ll be there before you can say Buckley the Blockchain Bear!