Skip to content

Commit

Permalink
update-obol-docs (#405)
Browse files Browse the repository at this point in the history
* update-obol-docs

* adding-obol-package-update-screenshots

adding-obol-package-update-screenshots
  • Loading branch information
chuygarcia92 authored and mateumiralles committed Jul 8, 2024
1 parent c313771 commit db297fb
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 17 deletions.
72 changes: 55 additions & 17 deletions docs/user/staking/ethereum/dvt-technologies/obol-network.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,70 @@
---

### **Introduction**
The Obol Network package for Dappnode aims to make it seamless for Dappnode users to integrate and benefit from Obol's Distributed Validator Technology (DVT).

The Obol Network, built as a visionary work layer atop Ethereum’s base layer consensus, is committed to enhancing Ethereum’s resiliency and promoting decentralization as it scales. The Obol Network package for Dappnode aims to make it seamless for Dappnode users to integrate and benefit from Obol's Distributed Validator Technology (DVT).
A Distributed Validator is one or more logical Ethereum validators being operated across a number of nodes that are all online simultaneously and that all control a subset of the validators' private keys. Each of these nodes need to run an Execution client, a Consensus client, a Distributed Validator client, and a Validator client/Key Manager.
The distributed validator clients in these nodes come to consensus on what should be signed before constructing a signature for the validator that will be accepted by the wider Ethereum network. Dividing a validator across a group of nodes allows for fault tolerant validators that can remain online and validating despite a subset of its nodes experiencing an outage, contributing to a stronger and more resilient network.

A Distributed Validator is one or more logical 32 ether validators being operated across a number of nodes that are all online simultaneously and that all control a subset of each validator’s private keys. Each of these nodes need to run an Execution client, a Consensus client, a Distributed Validator client, and a Validator client and Key Manager.
The distributed validator clients in these nodes come to consensus on what should be signed before constructing a signature for the validator that will be accepted by the wider Ethereum network. Dividing a validator across a group of nodes allows for fault tolerant validators that can remain online and validating despite a subset of its nodes experiencing an outage.
The Obol Dappnode package is available for [Ethereum Mainnet](http://my.dappnode/installer/dnp/obol.dnp.dappnode.eth) and the [Holesky Testnet](http://my.dappnode/installer/dnp/holesky-obol.dnp.dappnode.eth).

### **Package Key Features**
### **Requirements**

1. **Seamless Integration with Dappnode**: With the Obol Distributed Validator package, users can easily set up and operate DVs on their Dappnode utilizing Obol's middleware implementation of Distributed Validator Technology (DVT) to effortlessly operate distributed validator clusters on Dappnode.

2. **User-Friendly Interface**: Obol's Distributed Validator Launchpad is the easiest way to bootstrap a new DV.

3. **Test before Mainnet**: Obol Testnets are included, allowing operators of any size to test their deployment before transitioning to the mainnet Obol Network.
1. The first thing you'll need to do is set up a fully-synced node. This can be done through the Stakers Menu in Dappnode by selecting:
- 1 Execution Client (Geth, Besu, Erigon or Nethermind)
- 1 Consensus Client (Prysm, Lighhouse, Lodestar, Teku or Nimbus)
- MEV Boost (optional)
2. Install the Obol package from the DAppStore.

### **First Steps**
In order to create a DV, it's important for the participants to have a successfully synced Dappnode before the Key Generation event.

:::tip It's important that you understand that the requirements of the DV node runner are not the same as a Solo Stakers'. This technology facilitates the creation of Distributed Validators between a group of independent people. This means you are placing significant trust in the participants you'll run this Distributed Validator Cluster with.
You need to ensure every operator in the Cluster is competent and trustworthy before sharing this responsibility. Negligence on behalf of others in your group can put you at risk. however a minimum amount of these nodes should be synced at all times in order to keep the validator running. tip::::
You need to ensure every operator in the Cluster is competent and trustworthy before sharing this responsibility. Negligence on behalf of others in your group can put you at risk, however as far as 66% of these nodes are synced the validators will keep performing their duties.
:::

Once all participants have synced nodes, you'll need to install the Obol Dappnode package. After Dappnodes are ready, the next steps will take place at Obol's Distributed Validator Launchpad. There's a launchpad for [Ethereum Mainnet](https://launchpad.obol.org/) and another one for the [Holesky Testnet](https://holesky.launchpad.obol.org/). Start by connecting your wallet and selecting the option that best fits your DV's distribution and setup.

Once all participants have synced nodes, you'll need to install the [Obol Distributed Validator Dappnode package](http://my.dappnode/installer/dnp/%2Fipfs%2FQmfFh6YCjwh7b876G2KgYhvwUWyhmfugYDT5W5sTW5Fq53). After Dappnodes are ready, continue by entering Obol's [Distributed Validator Launchpad](https://goerli.launchpad.obol.tech/), connecting your wallet and selecting the option that best fits your DV's distribution and setup.
![ObolLaunchpad1](/img/obol-launchpad1.png)

### **Cluster Configuration**
For creating a new cluster with a group, you'll need the following information from the participant node runners:
- Who the participant nodes are
- Clients every participant is running
- Distribution scheme of validator rewards between participants
For creating a new cluster with a group, all operators must have an operator's address, which will submit the necessary information to the launchpad. The first step in the configuration process will be to select the cluster size and to enter the operator's adresses.

![ObolLaunchpad2](/img/obol-launchpad2.png)

In this next step, you'll be required to enter your Charon client's ENR, which is a public key that will give your node a unique ID. This ENR can be obtained after installing the Obol Dappnode package [under the Info tab](http://my.dappnode/packages/my/holesky-obol.dnp.dappnode.eth/info).

:::warning
The Obol Dappnode package supports up to 5 ENRs. This means that you can participate in 5 different clusters with 5 different ENRs using the same package, however it's important to properly backup the package's database if the generated ENRs are committed to functional clusters.
:::

Next, you'll need to specify the amount of validator keys that this cluster will be generating and how these validators will be splitting the rewards. You can read more about the [Obol Splits contract](https://docs.obol.org/docs/sc/introducing-obol-splits) and the different options it offers in Obol's documentation.

![ObolLaunchpad3](/img/obol-launchpad3.png)

The last step will require that you perform a signature from your operator's address to generate a cluster invite link. You'll need to share this invite link with the rest of the operators so that they can register their ENRs and set everything up for the Distributed Key Generation (DKG) event.

![ObolLaunchpad4](/img/obol-launchpad4.png)

### **Distributed Key Generation (DKG) Event**
After all operators have successfully submitted their ENRs, the Obol launchpad will generate a "Definition File URL" we'll need to load in our Obol Dappnode package's configuration to proceed with the DKG.

![ObolLaunchpad5](/img/obol-launchpad5.png)

Copy the URL under the Dappnode tab in the Launchpad, go to your package's configuration section and enter it in the cluster number corresponding to the ENR you submitted in the launchpad. Make sure `URL` is selected under "Config Mode" and apply the configuration.

![ObolLaunchpad6](/img/obol-launchpad6.png)

After all operators have completed this step the DKG ceremony will start automatically and each of the operators' keystores will be stored in the Obol package's database.

:::danger
Please make sure to create a backup of your Obol package. If you lose your private keys you won't be able to start the DV cluster successfully and may risk your validator deposit becoming unrecoverable. Ensure every operator has their backup secured before activating any validators.
:::

### Adding Validators to an Active Cluster
After the DKG has succeeded and all of the operators have backed up their cluster's keys, it's time to move on to the validator's deposits. The launchpad will show you an option to submit a `deposit_data.json` file.

![ObolLaunchpad7](/img/obol-launchpad7.png)

You can get this file if you decompress your Obol package's backup and look for it inside the charon folder corresponding to the cluster number you intend to run. The launchpad will confirm that you have enough balance in your connected wallet to perform the validator deposit and make you go over final checks prior to signing the deposit.

The Obol wizard will guide you through this process and you'll need to input the information mentioned above. If you have any questions, don't hesitate to drop by the [Dappnode Discord server](https://discord.gg/dappnode).
Remember that if you have any questions, you can always drop by the [Dappnode Discord server](https://discord.gg/dappnode) to ask for community support.
Binary file added static/img/obol-launchpad1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/obol-launchpad2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/obol-launchpad3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/obol-launchpad4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/obol-launchpad5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/obol-launchpad6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/obol-launchpad7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit db297fb

Please sign in to comment.