No. Realistically, the only condition that can cause a slashing event is if you run your validator's keys on two nodes at the same time (such as a failover / redundancy setup, where your backup node accidentally turns on while your main node is still running). Don't let this happen, and you won't get slashed. Slashing cannot occur from being offline for maintenance.
Yes! Withdrawals are now enabled on Ethereum
The key concept is the following:
- Rewards are given for actions that help the network reach consensus.
- Minor penalties are given for inadvertent actions (or inactions) that hinder consensus.
In other words, you maximize your rewards by providing the greatest benefit to the network as a whole.
Disk IOPS are very important if you want your node to operate to its true potential.
Low disk IOPS can cause many different issues such as missed attestations, missed block proposals, failure to get in sync with the network as well as failure to keep up with the network if already in sync.
1) Quite a lot! A former Teku developer wrote an article in which they ran 5,000 validators on the one machine. There are a few other factors you will need to take into account, such as CPU, RAM and bandwidth considerations.
If you already have a validator client, a consensus client and an execution client, then it is as easy as importing the new keys into the validator client. It will pick up and start performing the validator duties for the new validator(s) right away.
2) No, you do not need multiple consensus clients running to run multiple validators. A single consensus client can run multiple validators.
Beacon Nodes pick the highest reward (local or remote) if it is above the
If the highest reward (local or remote) is below the
min-bidvalue then the local block will be selected.
There are circuit breakers in beacon nodes that select a local payload when certain network conditions are met such as there being many missed slots recently.
Pre-signed exit messages only remain valid for two hard forks. After that, you will need to generate new ones.
fork_version = state.fork.previous_version if epoch < state.fork.epoch else state.fork.current_version
An exit message signed at any epoch less than the last hard fork is lumped into a "previous version" bucket and given its fork version. That means that if your operation was signed two fork versions ago the verification function has the wrong fork version, hence the wrong domain, hence the wrong signing root, hence the wrong signature, hence it fails to verify.
Each key-pair associated with a validator requires locking 32 ETH to be activated, which represents your initial balance as well as your initial and maximum voting power for any validator.
The best thing to do is to exit your validator as soon as it is practical to do so. Even in the case of an encrypted machine that is physically stolen where you can safely assume the thief won't ever be able to gain access, it is simply not worth the thought or the risk of being slashed at some point in the future.
If your validator keys are ever compromised or you even suspect them of being compromised, exiting the validator and spinning up new ones are the best course of action you can take to protect yourself.
Once your ETH is secured, further investigations and actions can be taken to prevent or mitigate this from occurring again.
Staking on Ethereum gives you many options to participate. This can be overwhelming - no doubt. We all have been there!
If you choose "Solo Home Staking" and want to run your own validator, decide between the different hardware options (f.e. Intel NUC) and follow a staking guide on testnet first. Search for Goerli Testnet Staking Guides. Take notes, find out what happens when you disconnect the power cable of your validator, how to update, etc. All in all - get confident with your node before staking on Ethereum Mainnet.
And - You don't have to face problems on your own.
Validators that participate in securing the beacon chain and execute "duties" get rewarded for this by new issuance of ETH. In addition, validators receive priority fees paid by users, and optionally MEV, Maximal Extractable Value.
Missing some attestations is completely normal and extremely low-cost. The penalty for missing an attestation is exactly the same as the reward for a successful one. So, with around 240 attestations per day per validator, missing one or two is still a successful attestation rate of over 99%!
No. There is no advantage to having more than 32 ETH staked.
Depositing more than 32 ETH to a single set of keys does not increase rewards potential, nor does accumulating rewards above 32 ETH, as each validator is limited to an effective balance of 32. This means that staking is done in 32 ETH increments, each with its own set of keys and balance.
Setting a withdrawal address when creating your validator keys is an important step when setting up your validator. Until a withdrawal address is set, you will not be able to claim your beacon chain rewards or withdraw your ETH.
The Staking Deposit CLI can set a withdrawal address during deposit
JSONcreation (an 0x01 address). If a user opts not to do this - usually simply by omission - then it sets the hash of the withdrawal pub key instead (an 0x00 address)
And that’s it. Once your validator uses v1 credentials the withdrawal address is fixed and can’t be changed. In the current design, skimming is automatic, and so are full withdrawals: Full withdrawal just happens after exit is completed.
A tool to export the withdrawal key will likely not be created, and it’d also not be very useful. You need the withdrawal key at most twice:
- Once to generate the signing key (only if no withdrawal address was set at that time).
- Once more to sign a message to set one.
In both cases the key can be generated inside the CLI tool, be used for its purpose, and then be discarded again without ever being written to disk.
Calculating staking taxes can be both difficult and tiresome but it is an important thing to do. Luckily an amazing tool exists to simplify this process.
This will give you a rundown of the rewards your validators have accrued. Always double check with a local tax agent before filing to ensure they have been calculated in an appropriate manner for the jurisdiction that you are a tax resident of.
If there's a catastrophic failure of your validator and you lose your validator keys, don't panic! These can be easily recovered as long as you still have your validator seed phrase / mnemonic. Simply follow the same steps you used when you first generated your validator keys, and install them on a new validator machine.
If you lose your seed phrase, the one used to generate the validator keys, then unfortunately your staked ETH is most likely unrecoverable.
However, if you had set a withdrawal address, then the validator keys are enough to sign a voluntary-exit, which causes a withdrawal to that address. There is also a special case if you have a pre-signed voluntary-exit message, but that's likely only used by staking services and only noted here for completeness.
In the event that you can't recover your validator or you decide you want to stop staking, you have the option to exit your validator. Exiting a validator is a one way process. For details on how to exit your validator, check out our guide.
A node operator is the human being who makes sure the client software is running appropriately, maintaining hardware as needed.
You can think of the deposit contract as a transfer of funds from an Ethereum account to a proof-of-stake validator account. It specifies who is staking, who is validating, how much is being staked, and who can withdraw the funds.
Setting up your own validator for "Solo Home Staking" is not difficult.
There are pre-configured hardware options like Dappnode↗ or Avado↗ which can make things easier and eliminate the need to interact with the command line interface or Linux in general. You can also install the open-source Dappnode software ↗ on your own hardware to have a more intuitive staking experience.
The majority of the time commitment for staking is the initial learning and setup. It will probably take a day or two of tinkering to get it all figured out (maybe more, and that's okay!). Once you get going you're looking at updating once a month or so (ten minutes) and responding to outages, which are rare.
The most common cause of this issue is when node operators have failed to upgrade their node software prior to the network upgrade taking place. This can cause database corruption where a resync is required to get the node operating again.
Ensure that you are running a client version that is supported post network upgrade. The below versions should be the versions you are running at a minimum.
If you were running an older version post network upgrade, most likely your local database will need to be deleted and resynced as it has most likely corrupted. This is more commonly true for execution clients than it is for consensus clients.
If you download the beaconchai.in app or sign up to an account you can configure email alerts when new client releases are published so you won't run into this issue.
Two other methods are to follow the projects on Github so you can be emailed when a new release is published, or to join the client team Discord servers where new software releases are announced.
The answer to this question very much depends on how much ETH you have at your disposal. You should certainly top up if your balance is close to 16 ETH. This is to ensure you don’t get exited out of the validator set (which automatically happens if your balance falls below 16 ETH). At the other end of the spectrum, if your balance is closer to 31 ETH, it’s probably not worth adding the extra ETH required to get back to 32.
There are many great resources out there to help you monitor your setup, a few are linked below.
All of these services will help you see things such as attestation performance, block proposals and total ETH accrued from staking.
It is critical that you set your validator withdraw address to an address that you have created yourself and have full control over.
This is typically defined as: A wallet address where you have the private keys and the ability to both send and receive transactions.
If you do not have the private key for the wallet (For example, an address on an exchange) then do not set that as your validator withdraw address as there is no guarantee that the 3rd party will give you your rewards or even exist in the near future to continue giving you your rewards.
Always remember: Not your keys, not your coins.
Advanced setups such as setting the withdraw address to a multisig is also supported but it is only recommended for advanced users.
You may notice that your block proposals and ETH withdrawals are not appearing in your wallet transactions. Do not panic, this is both expected and normal. They will not appear there as both of these are not transactions.
If you enter in your wallet address into a website such as https://etherscan.io/ you will see a "Produced Blocks" tab and a "Withdraws" tab, further detailed information can be found here. Please note that these buttons will only appear if that wallet has had a block proposal occur or a validator withdrawal occur.
Whichever wallet you use will show your up to date ETH balance even if the transaction list is empty.
A not so frequently asked question but it has come up a few times! Some smart plugs only switch themselves back on after power failure when internet access has been restored.
However, in the case where your router or other critical network equipment are plugged into a smart plug with this "feature", they will not power back on unless the internet connection is restored, but the internet won't restore unless it has turned back on.
If you use a smart plug, it may be worthwhile to run a few tests to see if yours does this, otherwise you may find this out the hard way while attending Devcon on the other side of the world where it can only be fixed with manual action on-site...
As a validator, you'll need to have funds at stake so you can be penalized for behaving dishonestly. In other words, to keep you honest, your actions need to have financial consequences.
Each 32 ETH deposit activates one set of validator keys. These keys are used to sign off on the state of the network. The lower the ETH requirement, the more resulting signatures must be saved by the network. 32 ETH was chosen as a balance between enabling as many people as possible to stake without inhibiting decentralization by bloating the size of each block with signatures.
Limiting the maximum stake to 32 ETH per validator encourages decentralization of power as it prevents any single validator from having an excessively large vote on the state of the chain. It also limits the amount of ETH that can be exited from staking at any given time, as the number of validator that can exit in a given time period is limited. This helps protect the network against certain attacks.
Although a validator's vote is weighted by the amount it has at stake, each validators voting weight starts at, and is capped at 32. It is possible to drop below this with poor node performance, but it is not possible to raise above it. If you add more than 32 ETH for a single validator it will just get withdrawn back down to 32 ETH to your rewards address.