DAppNode and SSV.Network: Decentralized hardware for shared validators

Pol Bordas
Sep 6, 2021 · 4 min read

DAppNode Runners will be able to become operators in SSV.Network, offering their machines to validate safely with deposits from those who want to validate but don’t have the hardware, expertise or time

SSV.Network is an Ethereum based community effort to develop the first secure and robust way to split an ETH staking validator key between non-trusting operators and deliver network-wide improvements for decentralization and security. What they are building is highly customizable and DAppNode can build on top of it to develop a solution to leverage the decentralized hardware network made out of the DAppNode Runners to secure the network safely and in a decentralized, non-custodial way.

Eth2 is, by design, meant to be run by anyone. This is because a network that is able to run in most setups, is a lot more resilient to governmental or big power pressure, centralized service outages and cataclysm among others. Basically, if lots of people run validators everywhere, it doesn’t matter whether AWS goes down or the US Govt. declares that creating a block with an unregulated stablecoin is illegal; the chain will go on thanks to all those who are anonymously validating from who knows where.

DAppNode has built up a solution to help anyone run a validator, and has a numerous community of validators. With SSV.Network, we can leverage this Node Runners’s hardware and expertise to include decentralized hardware to the SSV.Network list of operators!

In the most naive implementation, DAppNode users can offer themselves as SSV Operators so they can validate for other people and get rewarded thanks to the SSV.network.

This opens up the door for someone spinning up lots of DAppNodes in the hope to be randomly assigned a minimum of 3 parts of the same key, and then be able to:

  • Slash the validator
  • Ask for a ransom the deposit’s owner

Demanding ransom would just trigger an immediate exit from the staker, leaving the attacker with nothing; and just slashing also does not give the attacker any economic benefit. Hence we put the probability of this attack as very low and unfeasible.

Nevertheless, it opens the door to a large-scale attack on the Ethereum network as a whole, where you silently try to control as many validators as possible and then cause maximum havoc due to correlation penalties.

To avoid this, someone depositing their validator keys into SSV.Network testnet should choose a maximum of 2 DAppNodes… and, problem solved!

In the future, DAppNode will become an operator in itself and build security measures with all the bells and whistles to give validators and operators the best possible experience.

This is one of the first steps for a full-fledged ValidatorDAO, so testing by current DAppNode users is greatly appreciated.

How to participate?

1- Get on your DAppNode and look for the ssv.network package in the DAppStore or click this link while connected to your DAppNode.

2- During install, you will be guided by the setup wizard to perform a simple command and generate a SK (Secret Key)

You will have to run this command in a machine that has docker installed (your dappnode has it, but you can use any other) via command line / terminal:

$ docker run — rm ‘bloxstaking/ssv-node:latest’ /go/bin/ssvnode generate-operator-keys

If you want to access the terminal of your DAppNode but you are unsure on how to do it, you can follow Step 1 of this tutorial (only Step 1!).

From this you will create a PK (Public Key) and a SK (Secret Key). They are identified as such and between “ “ (not included!).

Make sure you save this output somewhere safe! For now you only need the SK in the first box as indicated, the rest has already been prefilled for you :)

Time to hit “install”!

If you don’t have the prerequisite packages, Goerli and Prater, it will also install them. Bear in mind that SSV won’t work properly until both Goerli and Prater’s beacon chain are synced.

3. Once the package is installed, open it and read the Getting Started section. It will guide you to SSV.Network’s test webapp where you can register your operator! You’ll need some Goerli ETH to submit the registration on-chain.

In order to be acknowledged as a part of this testing batch, you should name your operator starting with the word DAppNode + whatever name you would like to give your operator.

Moreover… there’s an incentivized testnet coming up where you will be able to earn SSV tokens by running a node! By starting the testing now you will be ready when the incentives drop 🔥🔥🔥

⚠️ Are you experiencing the following issue right after the installation ?

2p/p2p.go:178 IP address is not accessible {“app”: “SSV-Node:v0.0.16”, “component”: “p2p”, “id”: “16Uiu2HAmJV4oiFA7mRu8y8ZzKyAQuJVp9aBsJAw47oexDXxFqjVP”, “error”: “dial tcp X.X.X.X:13000: i/o timeout”}

The issue is due to an internal check done by the SSV package, which will be edited in the near future. To solve it you will have to disable the firewall for the port 13000, on Debian machines:

sudo ufw disable

After the installation you will be able to put back on again ufw with

sudo ufw enable

We know this is not ideal, but we are working with the SSV team to create a fix for next versions.

Do you have any questions? Join DAppNode’s discord, where we have a dedicated channel for SSV and reach out to one of the @core team members!

You think this is a good idea for DAppNode? Hit the DAppNodeDAO temperature check post in its forum here.

To keep up with SSV’s efforts to make trustless delegated validation a reality, join SSV.network’s discord!

DAppNode

DAppNode is empowering people by creating a simple…

DAppNode

DAppNode is empowering people by creating a simple, transparent system for hosting P2P clients for DApps, Cryptocurrencies, VPNs, IFPS and more…

Pol Bordas

Written by

Passionate about a better world and technology. #DAppNode #Blockchain4Good

DAppNode

DAppNode is empowering people by creating a simple, transparent system for hosting P2P clients for DApps, Cryptocurrencies, VPNs, IFPS and more…