What is a validator and what do I need?
We're currently in the process of spinning up the Althea blockchain. We are using Cosmos, a proof of stake blockchain framework. This post is for those who would like to help validate. A validator is sort of like a miner in a proof of stake blockchain. They don't need any special hardware or a large amount of power. Instead validators risk 'staked' tokens. A validator will lock up staking tokens and lose 5% of them if they misbehave.
Misbehaving is defined as:
- Signing two blocks at the same block height (forking the chain)
- Being offline (not signing any blocks) for more than 16 hours without first removing yourself from the validators list
- Losing your private key
- Other conditions that may compromise the security of the chain
Most people will not be validating themselves but “delegating” tokens to a validator. When you delegate your tokens you are adding them to that validators stake and you will split the profits from using your tokens with the validator.
What you will need to validate is:
- A dedicated server a decent amount of processing power and storage
- A ledger hardware wallet (optional)
Generally you want a server with at least 8gb of ram and 500gb disk. SSD storage isn’t as important as it is with Ethereum.
You can use a VM from AWS or some other hosting provider but recognize that there are extra risks to doing so. First off, the hosting company will have your private key, second if the hosting company spins up two versions of your vm you will validate two blocks at one height. This is a slashing condition. If you plan to stake an amount of tokens you care about, or are providing your validating services to others, I would suggest renting a physical server. For any serious amount of money rack your own hardware at a colocation center.
Racking your own machine has a side benefit of giving you physical access. This is where the Ledger can come in. Very serious validators use a ledger to hold their private key securely while they validate. Even if their server gets hacked the key will remain secure in the ledger storage. They will probably still be slashed (lose 5%) though.
There are many many colocation and dedicated hosting providers. If you can’t identify a good host in your budget through your own research, being a validator may not be for you.
Here are some good additional resources:
How exactly do I validate on Althea?
As you read the following instructions, please do not hesitate to reach out in our Discord channel, in the #althea-validators room. We are aware that these instructions might not be perfect or might be hard to follow. We want to help you get set up.
Unlike a lot of other networks, Althea's blockchain is really one of the simplest parts of our infrastructure. Our routers do all kinds of complicated things to create autonomous local bandwidth markets, but almost none of this is on-chain. Our blockchain only needs to process transactions. Because of this, we are a very close fork of gaia, the Cosmos hub blockchain node software.
In fact, it's not even a fork right now. The only difference between the Cosmos hub and the Althea Zone is the
genesis.json file. Which defines the blockchain and it’s parameters. You can find the
genesis.json for Althea's blockchain here (at the time of writing, this is our second testnet). A very important part of Cosmos blockchains is the chain id. The chain id of the above testnet is
You will pass this
genesis.json to gaiad, which is the server software for a validator. In order to get your hands on gaiad you will need to download the latest release of Cosmos SDK and run
make install on a linux machine with go 1.12+
Once you have built the binaries, read the manual to figure out how to start it and pass the Althea genesis.json to it.
Once you get gaiad running and syncing on
altheatest2 you can review the help for the
gaiacli tx staking command for how to create a validator on a live chain.
Validators participating in this and subsequent testnets will be given preferential placement as genesis validators on the main net.
Currently, we are collecting addresses of interested validators for our next testnet,
altheatest3. We will assign these addresses initial allocations of testnet tokens and assemble them into a
Head to https://discord.gg/gxJhKZ2 to join our Discord channel. Introduce yourself in the #althea-validators room.
We'll update this post as we move through the process. We'll start on the
altheatest3 once we have addresses from 10 validators.