Validators
What’s the function of validators in Mina?
In the Mina blockchain validators perform a key function: they produce blocks in the course of the Consensus. Simply said, all validators in Mina agree upon whether the transactions added into blocks are good and valid. Then a validator wins block production and adds this block to the blockchain. Without validators, the blockchain wouldn’t be able to expand.
What is the purpose of running a node?
Networking systems that rely on peer nodes to distribute information amongst each other are called peer-to-peer networks. These networks are often distributed in nature, and unlike client-server networking models, do not rely on any centralized resource broker. Staking mina allows nodes on the network to increase their chances of being selected as a block producer in accordance with the consensus mechanism. The chance of winning a block scales accordingly to the amount of mina staked. For example, if one node stakes 50% of the available mina in the network, it theoretically has a 50% chance of being selected to produce future blocks.
If you want to stake by delegating, you don't need to run a node. You just delegate from the wallet to any other validator. However, if you want to stake directly, you have to run a validator node. If you’re good and lucky enough, other accounts will start to delegate funds to you, thus, increasing your stake and, consequently, chances to win block production. To see how your node performs compared to other nodes, please, see our Leaderboard.
What happens in Mina when we first start a node?
In Mina validators don't have to sync the entire block history - in fact, it’s the archive nodes that store the blockchain historical data - validators only sync the current state, which includes a proof provided by a ZK-snarker. When a validator first joins the blockchain, it gets the last n blocks. Currently, a node only holds n=290 of the last blocks; every block older than that we simply forget about. So after syncing up with the rest of the network and getting the last 290 blocks, a validator also gets some data about the current state, which, in its turn, includes among others the ledger containing a list of all accounts and their corresponding balances. Additionally to that, a validator acquires a recursive zero-knowledge proof, a ZK-snark, which allows to verify that there has been a sequence of blocks that form the current state/current block without actually having to know that sequence. Validators trust ZK-snarkers in providing ZK-proofs of transactions.
Do I need to keep some Mina in my wallet?
The minimum amount you need to have on your account for your address to be activated and your node to participate in Consensus is 1 Mina, so if you want to activate your account in Mina, make sure you have at least 1 Mina on your balance. Then you can keep as many Mina tokens on your account balance as you want.
How many funds do I need to launch a validator?
You need as much as 1 Mina on your account to start a node in the Mina blockchain.
What is the minimum Mina token amount on balance for blocks to be produced?
There is no definite answer to the question about the minimum stake amount, since:
- Mina uses a random algorithm for calculating blocks (for more information see Mina Block Production;
- competitive conditions may change over time (depending on the distribution of the top validators' stake)
That’s how you can figure out the approximate minimum stake amount:
Go to Validator Rewards.
Select a completed epoch in the selector (Current active epoch-1).
Scroll down to the line with the validator in which the value of "Total Validator Reward" will be 0. This will be an answer to the question that at this moment a validator in the selected epoch wasn’t able to produce a single block with its stake.
This may be a random algorithm error. At the same time, the more often you see a 0 next to the stake amount, the more likely it is that with such a stake no more than 0 blocks can be produced.
What are the requirements for a validator to produce supercharged rewards?
If an account that is delegating has only unlocked tokens and won a slot then its validator has a chance to get supercharged rewards.
You can view the token blocking status as follows:
1) Regarding the status of the locked account balance, go to the account details in the account details and find the Timelocks section: Here you can see the amount and the percentage of unlocked tokens (Current unlocked balance). If this block is not available to you, it means that all tokens are unlocked on the account, and the Movable balance = 100%. This means that you can produce supercharged blocks with your account.
2) If you need to find out the percentage of unlocked tokens in your entire stake (which includes delegated tokens), then go to the Validator details tab and find the Stake unlocked balance parameter.
For more information on locked and unlocked accounts, please go here.
How can a validator make a profit in Mina?
A validator receives income from its stake in the form of rewards. For producing a regular block a validator receives 720 Mina coins, for a supercharged block (provided that a validator has unlocked funds on the account), it receives 1440 Mina coins.
A validator also earns a fee from each delegation. The current conditions of validators can be viewed here.
Is there any penalty mechanism for validators?
There is no slashing or lockup/bonding mechanism in Mina so far.
In theory, the validator you delegate to could run off with your staking rewards (not stake, as you merely delegate your right to produce blocks) as these are currently handled off-chain. Keep it in mind that the Mina blockchain doesn’t regulate the delegator-validator relationship, so do your own research when you entrust your money to a validator and watch out for scammers.
What happens if a validator doesn’t participate in the Consensus?
Technically, nothing. In Mina, there is no penalty for passive behavior. Being actively involved in the Consensus is nothing but a personal choice of every validator. However, a passive validator can’t produce rewards and, consequently, make a profit in Mina.
How are rewards awarded to validators?
In Mina, rewards are credited by the blockchain automatically for each produced block: regular or supercharged.
Go to the Internal Commands page in the Explorer, select the Coinbase transaction type and you will see a list of credited rewards.
The same list can be viewed in the explorer separately for each validator. To see the internal commands, do the following:
click on a validator;
click the “Account Details“ tab;
select the “Internal Commands" tab.
How to pay a fee to a validator for a delegation?
In the Mina blockchain, there is no functionality for specifying the fee percentage for validators, and, respectively, the rewards themselves are not automatically accrued by the blockchain. This part of the process is carried out on the trust of the delegator and the validator.
In fact, the Mina blockchain doesn’t regulate the validator-delegator relationship, so it's largely based on trust. Technically, a validator may repay the delegators' rewards in any possible way including cash. However, normally it happens like this: when the payout day comes, a validator pays its delegators rewards minus the validator fee. This all is run by a payment transaction in Mina. To pay the delegation rewards proportionally minus the validator's fee, you can use the following methods:
Calculate rewards manually and then send transactions to your delegates.
Use a script for automatic payments.
How are rewards distributed between delegators?
At the end of each epoch, the balances of all delegators are fixed in the ledger. Then the percentage of these balances is calculated from the share of all staked tokens by validators. Payments are made in accordance with these data. Reward payments are made by each validator individually either manually or with the help of a script, for which a fee is charged. A validator can ad hoc set the amount of the fee and the frequency of payouts. The information about the fee charged by the validator and the frequency of payments can be found in the Validator Terms.
How to register (or edit) a validator service?
Mina Blockchain does not save Validator data:
- name and contacts;
- commission for services;
- periodicity, payment terms.
We provide our own name service. If you decide to become a Mina validator and want your customers to know your terms (commission, payment schedule, etc.), then register your service on the Validator Leaderboard:
- In order to register the service, go to the Validator Leaderboard and click the "Submit Service" button and fill out the form.
- To make changes, simply fill out the form again.
Currently, the data change request is manually reviewed and processed and an update will be available within 24 hours.
How can a validator add an additional level of security?
To do this in Mina a validator has the ability to separate the validator address and the address where the server (the node) is located. If your server is compromised, the security key will not leak, because the node is physically tied to another address. Also, keep in mind the common sense advice: do not tell anyone your private key, use a secure connection, and keep your sensitive data secured.
What can I generally do on my node in the Mina blockchain?
As a node you can be:
a validator (block producer);
a ZK-snarker (snark worker);
an archive node;
a ZKapps node
As a validator, you will earn your profit by producing blocks and deducting a validator fee from your delegators' rewards. As a snarker, you’ll earn by charging a snarker fee for producing snark works. You can also run an archive node and store historical blockchain data. If you become a ZKapps node, you’ll record ZK-apps on-chain transactions from off-chain smart contracts (ZKapps). In the latter two cases, you don’t get any material reward and do it upon your own choice.
What hardware is required?
No special hardware is required to operate in the Mina blockchain, but running a block producer on the Mina network currently requires:
at least an 8-core processor;
at least 16 GB of RAM.
Please note that if you plan to run a ZK-snarker node separately or simultaneously with a block producer, you may need more RAM since ZK-snarkers need CPU to produce snark works.
What software is required?
Linux, macOS (currently supports Debian 9 and Ubuntu 18.04 LTS), or any host with Docker. Windows is currently not officially supported. However, community members were able to set up nodes using the Windows Subsystem for Linux.
How to install a node?
For Ubuntu / Debian
Follow along below to install the latest Stable Mina Release 1.3.0 or visit the Github Releases Page to discover and install pre-release (Beta) builds.
You can set up the new Debian stable
repository and install the latest version as follows:
echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
sudo apt-get install -y curl unzip mina-mainnet=1.3.0-9b0369c
Check that daemon is installed correctly by running mina version
. The output should read Commit 9b0369c27bb85c8ab2f8725c6e977eb27b53b826 on branch master.
Windows and macOS are used but are not officially supported.
If you're running another Linux distro or some version of macOS, you can try building Mina from the source code mina/README-dev.md at master · MinaProtocol/mina
How to track the performance of my validator?
In addition to the tools that you already use, you can use our dashboard or Validator Details where you can find information about:
Staking Balance;
Delegators;
Validator Fee;
Pool Share;
Latest Blocks;
Blocks Produced.
Each parameter is accompanied by a tooltip to give you a deeper insight into the blockchain operation.
What are the chances to get damage from cyberattacks and other threats?
No one knows when you will get rewarded because it is a lottery, so there is no exact time when rewards are delivered to you. So it doesn't make so much sense to attack your node in order to suspend its operation. An attacker will just waste his or her time, money, and efforts with very scarce chances of gaining any profit. Mina architects and devs envisaged common security cases and embedded solutions in the Mina blockchain architecture. In comparison to the operation of staking funds in other blockchains, the Mina blockchain proposes one of the most advanced security and stability features to make sure all guys with bad manners will not do bad things.
Block production is a secret, in that only the private key holder can determine the VRF output, and hence only he or she knows when to produce a block. This aids security as it is impossible for an adversary to target a known block producer at a certain slot, e.g., by a DDoS or targeted attack. Never ever tell anyone your private key!!!
How can I report other issues / get in touch with the development team?
The Mina community's live discussion channel is the Discord server
You can also create Github issues: Issues · MinaProtocol/mina
If you need to get in touch, you can submit a ticket via the Mina Support chat.