Distributed validator creation
Stages of creating a distributed validator
To create a distributed validator cluster, you and your group of operators need to complete the following steps:
- One operator begins the cluster setup on the Distributed Validator Launchpad.
- This involves setting all of the terms for the cluster, including; withdrawal address, fee recipient, validator count, operator addresses, etc. This information is known as a cluster configuration.
- This operator also sets their charon client's Ethereum Node Record (ENR).
- This operator signs both the hash of the cluster config and the ENR to prove custody of their address.
- This data is stored in the DV Launchpad data layer and a shareable URL is generated. This is a link for the other operators to join and complete the ceremony.
- The other operators in the cluster follow this URL to the launchpad.
- They review the terms of the cluster configuration.
- The submit the ENR of their charon client.
- They sign both the hash of the cluster config and their charon ENR to indicate acceptance of the terms.
- Once all operators have submitted signatures for the cluster configuration and ENRs, they can all download the cluster definition file.
- Every operator loads this cluster definition file into
charon dkg. The definition provides the charon process with the information it needs to complete the DKG ceremony with the other charon clients.
- Once all charon clients can communicate with one another, the DKG process completes. All operators end up with:
cluster-lock.jsonfile, which contains the original cluster configuration data, combined with the newly generated group public keys and their associated public key shares. This file is needed by the
- Validator deposit data
- Validator private key shares
- Operators can now take backups of the generated private key shares, their ENR private key if they have not yet done so, and the
- All operators load the keys and cluster lockfiles generated in the ceremony, into their staking deployments.
- Operators can run a performance test of the configured cluster to ensure connectivity between all operators at a reasonable latency is observed.
- Once all readiness tests have passed, one operator activates the distributed validator(s) with an on-chain deposit.