VERSION: 2.0.0-rc.15

LAUNCHER DOWNLOAD

Turtle pumping weights

Server Requirements

Recom. Server Requirements

(for STAKING, varies heavily between Use Case)

Memory Icon

8 CORE, FAST

CPU

Storage Icon

2TB SSD

STORAGE

RAM Icon

16 GB RAM

MEMORY

Network Connection Icon

25 MBit/s

NETWORK (wired)

Squirrel wanting the nut

Advantages

  • None to Minimal Linux skills needed
  • UI Ethereum Node Installer
  • Node Installation management
  • Extensive feature set
  • Monitor App available for “On the Run” for your phone 
  • Variety of supported clients & services
  • Active development team
  • Open Source (MIT licensed)
  • No information will be shared at any time with any third party, we don’t collect any data!

Feature Set

PREPARE...

SUPPORTED SERVER OS

CHOSE A NETWORK TO PARTICIPATE IN....

Network Selection Mainnet Icon
ETHEREUM MAINNET
Network Selection Testnet Icon
ETHEREUM (PRATER/GOERLI) TESTNET

INSTALL AND SET UP YOUR OWN NODE...

...SELECT YOUR USE CASE
IN THE ONE CLICK INSTALLER...

ETH STAKING
SSV NETWORK
(testnet only)

...OR PICK AND CHOOSE FROM THE PARTS YOU LIKE
WITH THE CUSTOM INSTALLATION OPTION​

EXECUTION CLIENTS

CONSENSUS CLIENTs

SERVICES

GUIDES

SERVER PREPARATION

HOME SERVER

1. Go to https://ubuntu.com/download/server & download the latest Ubuntu Server 22.04 LTS version

2. Go to https://rufus.ie/ & download Rufus, a free and open source USB drive writing tool for Windows

3. Launch Rufus

4. Insert a 4 GB or larger USB drive. Rufus will update to set the device within the Device field – if not, select the correct device!

5. Click the SELECT to the right of “Boot selection”

6. Locate the Ubuntu ISO you downloaded in (STEP1#) & click “OPEN”

7. The Volume label will be updated to reflect the ISO selected. Leave all other parameters with their default values and click START.

8. You will then be alerted that Rufus has detected that the Ubuntu ISO is an ISOHybrid image. Keep Write in ISO Image mode selected and click on OK to continue.

9. The ISO will now be written to your USB stick! With a reasonably modern machine, this should take around 10 minutes.

10. When Rufus has finished writing the USB device, select CLOSE to complete the write process.
Congratulations! You now have Ubuntu on a USB stick, bootable and ready to go.

1. Before starting the machine, you plan to host your server on, insert the previously created Bootable USB into one of the machine’s USB drives

 

2. Press the power button on your machine.  Some computer will detect the image automatically. To make sure that you get in the boot menu, while the machine starts up, press/hold down the F11 / F12 or Delete key on your keyboard.

 

3. If you pressed the right key on your machine, the boot menu should come up. Select your USB Stick as Boot Option #1. “Save & Exit” to continue. 

 

4. Select “Try to install Ubuntu Server”.

5. Select the language for the installer and the default language for the installed system.

 

6.Select the language for the installer and the default language for the installed system.

7. This screen is shown if there is an update for the OS installer available. We recommend you to update! The installer will restart at the same point of the installation.

8. Choose the layout and variant of keyboard attached to the system

9. This screen allows the configuration of the network.  

 

10. Skip the configuration of a Proxy

11. Skip the configuration of an archive mirror

12. Check if the amount of storage displayed reflects the specifications of your server. 

13. After confirming the destructive action prompt by switching to “Continue” and pressing Enter, the installation process begins in the background.

14. Fill out the form. The server name will later be displayed in Stereum, your username & password can be used to log into your server / node.

 

15. Skip the Ubuntu Pro Upgrade, after you will enter the SSH Setup Form, where you can set up Remote access via SSH Key additionally to a password. This is optional, you can skip this step. 

16. Skip the step, where you can select to install additional snaps, by clicking “Done

17. The final screen of the installer shows the progress of the installer and allows viewing of the full log file.

18. Once the install has completed and security updates installed, click “Reboot Now”

19. After reboot you will land at the Ubuntu CLI. To use Stereum we have to enable “Passwordless Sudo”. Log into your server!

20. Enter the command “sudo visudo”

21. Locate the line that contains includedir /etc/sudoers.d

22. Below that line add:
“<your-username> ALL=(ALL) NOPASSWD: ALL”
where <username> is your username

23. Save the changes by pressing CTRL + X

24. Press “Y” and hit Enter

25. Don’t change anything, just press Enter

26. To verify that it worked, next enter the following command: “sudo -l”
If you aren’t asked for a password. It worked!

27. Use “hostname -i” to find out your IP
You are now ready to use STEREUM! 

CLOUD SERVER
HETZNER
1.) Go to https://www.hetzner.com/ – Click on „Login“

2.) Click on „Cloud“ in the drob-down menu
3.) Click on „REGISTER NOW“ on the white button at the bottom
4.) Enter your „E-Mail address“ in the first row
5.) Enter a „Password“ in the second row
6.) Repeat the „Password“ in the third row
7.) Click on „CONTINUE“
8.) Check your „Mailbox“ for a E-Mail of Hetzner
9.) In the E-Mail click on the „activation link“
10.) A new Hetzner „REGISTRATION“ page will pop up
11.) [OPTIONAL] Choose a „Title“ in the first row
12.) Enter your „First name“ in the second row
13.) Enter your „Surname“ in the third row
14.) Click on „CONTINUE“
15.) Enter your „Street / House number“ in the first row
16.) Enter your „Postal code“ in the second row – the first field
17.) Enter your „City“ in the second row – the second field
18.) Choose your „Country“ in the third row
19.) [OPTIONAL] Enter your VAT ID in the fourth row
20.) Enter your „phone“ number in the fifth row
21.) Click on „CONTINUE“
22.) Choose a „payment methode“
23.) Click on your „payment methode“ [DETAIL] Now this is a little different for each payment method, we have chosen SEPA but you can choose what is best for you.
24.) Enter the name of the „Account holder“ in the first row
25.) Enter the „IBAN“ oft the account in the second row
26.) Check the box in the third row (Read the caption/authorization)
27.) Click on „COMPLETE“
28.) Now you have successfully sign up! Wait 5 seconds, the page will redirect you!
29.) If your browser does not permit a redirect – click on „here“
30.) The redirection page should look like this

Hetzner Server Tutorial

  1. Go to ,,https://www.hetzner.com/“  

 

Hetzner Server Tutorial

  1. Click on „Dedicated“  

 

Hetzner Server Tutorial

  1. Click on „AX Server“ 

 

Hetzner Server Tutorial

  1. In the second column (AX51-NVME), click on „CONFIGURE“

  

Hetzner Server Tutorial

  1. Choose a „SERVER LOCATION“

  

Hetzner Server Tutorial

  1. Click on the latest „Ubuntu“ as a operating system 

 

Hetzner Server Tutorial

  1. Scroll up and click on „ORDER NOW“  

 

Hetzner Server Tutorial

  1. Click on „Order“  

 

Hetzner Server Tutorial

  1. Choose a „login methode“ for your server  

 

Hetzner Server Tutorial

  1. Click on „Save“  

 

Hetzner Server Tutorial

  1. Click on „Checkout“ 

 

Hetzner Server Tutorial

  1. Read and accept the terms and conditions by clicking on the checkbox 

  

Hetzner Server Tutorial

  1. Click on the button „Order with Payment“  

 

Hetzner Server Tutorial

  1. Congratulations, you have successfully initiated a server (it may take up to a week for the server to be ready)  

 

  1. You will have to wait for a couple of days for Hetzner to create your server. You will get a E-Mail with all the details of the server. After you get the E-Mail login into your Hetzner account and search for your dedicated server. Click on the “Console Button” in the top right corner 

 

  1. Next you need to change the password of your ubuntu server to access Stereum  Wait for the console to load everything. Type in “root” and press enter 

 

  1. Type or paste the password you got in the E-Mail and press enter  (Important – Ubuntu doesnt show that you are typing anything – in the console) 

  

 

  1. Type/Paste in your current password again and press enter 

 

  1. Type in a new password and press enter  

 

 

  1. Retype the new password and press enter 

 

  1. You should get this message after the whole process is done (If not close the console and restart the process) 

 

  1. Now you can start Stereum! Choose your language and in the first row – type in a name for your Server 

 

  1. In the second row- paste in the copied IPv4 that you got from Hetzner 

 

  1. In the third row – type in “root” 

 

  1. In the fourth row – type in the new password that you set for your server 

 

  1. You can now click on the plus in the top right corner to save your data 

 

  1. Click on “LOGIN” 

 

 

AMAZON WEB SERVICE
1.) Go to https://aws.amazon.com/
2.) Click on „Create an AWS Account“
3.) Enter your „E-Mail address“ in the first row
4.) Enter a „Account Name“ in the second row
5.) Click on „Verify email address“
6.) Check your mailbox (look for a aws email with a verification code)
7.) Enter the „Verification code“
8.) Click on „Verify“
9.) Enter a „password“ in the first row
10.) Enter the same „password“ again in the second row
11.) Click on „Continue (step 1 of 5)“
12.) Click on the check-box „Personal“
13.) Enter your „Full name“ in the first row (for Example: Satoshi Nakamoto)
14.) Enter your „Country code“ and „Phone number“ in the second row
15.) Choose your „Country“ in the third row
16.) Enter your „Address“ in the fourth row
17.) Enter additional „address information“ (Appartment, suite, unit, building, floor, etc.) in the fifth row
18.) Enter your „City“ in the sixth row
19.) Enter your „State, Province, or Region“ in the seventh row
20.) Enter your „Postal Code“ in the eighth row
21.) Read the „customer agreement“ and check the box
22.) Click on „Continue (step 2 of 5)“
23.) Enter your „Credit or Debit card number“ in the first row
24.) Choose the „Expiration date“ of the month in the second row in the first box
25.) Choose the „Expiration date“ of the year in the second row in the second box
26.) Enter the „Name“ of the cardholder in the third row
27.) [Optional] You can change the Billing address here
28.) Click on „Verify and Continue (step 3 of 5)“ „You may have to pay 1$ here, to confirm your identity. If you have any questions about the transaction, please contact your financial institution/bank.“
29.) Check the box of your preferred method, „Text message“ or „Voice Call
30.) Choose your „country or region code“
31.) Enter your „mobile phone number“
32.) Enter the characters that appear in the „Security check box“
33.) Click on „Send SMS (Step 4 of 5) You will get a „SMS or Call“ now from aws with the „verify code“
34.) Enter the „Verify code“
35.) Click on „Continue (step 4 of 5)
36.) Choose a „support plan“
37.) Click on „Complete sign up“
38.) Congratulations – you made it! Only one step left
39.) Click on „Go to the AWS Management Console“
40.) Choose „Root user“
41.) Enter your „E-Mail“
42.) Click on „Next“
43.) Enter your „Password“
44.) Click on „Sign in“
45.) Now you are in the „AWS Management Console“

AWS Server Setup Tutorial

1. Go to „https://console.aws.amazon.com/console“


AWS Server Setup Tutorial
2. Click on „Services“ in the Top-Left corner


AWS Server Setup Tutorial
3. Click on „Compute“


AWS Server Setup Tutorial
4. Click on „EC2“


AWS Server Setup Tutorial
5. Click on „Launch Instance the orange button


AWS Server Setup Tutorial6. Click on „Launch Instance“ the grey button


AWS Server Setup Tutorial7. Enter a „Name“ in the first row


AWS Server Setup Tutorial8. Click on „Ubuntu“


AWS Server Setup Tutorial9. Search and click on „t2.xlarge“ with the 16GiB Memory


10. Scroll a little bit down and search for “Create new key pair” (Important – save that key pair somewhere where it is safe. Without it you will not be able to access your node.) 

 

11. Click on ““Create new key pair”


12. Select “ED25519” as your pair type (Stereum 2.0 only supports this type at the moment) 


13. Above this selection – type in a key pair name 


14. Click on “Create key pair” (AWS should download this KeyPair now) 

  

15. Scroll down and click on the field “Configure storage” and type in “1000” (We recommend at least 1000 GB) 


16. After that scroll up and check if everything is fine. Click on “Launch instance” to start the instance. 


17. Click on “View all Instances”


18. Click on your instance-ID 


19. Now you will have to wait for the instance to run. 


20. Click on the copy button under the auto assigned IP address. After that we are finished with AWS and you can start Stereum 2.0 


21. In the first row – type in a name for your node  


22. In the second row- paste in the copied IPv4 / Public IP from AWS 

 

23. In the third row – type in “ubuntu”  


24. After that, click on the button “USE SSH KEY” 


25. Now click on the “+” button 


26. Search for your SSH Key and double click it 


 27. Click on “LOGIN” 

INSTALLATION

After downloading Stereum, installing the Launcher and logging into your server, you have to decide on how you want to handle the installation of your Ethereum node. While solo staking ETH is the most obvious form of usage, running your own Ethereum node can be beneficial / necessary in variety of different ways. To support you in your use case, Stereum gives you the option to either choose between Pre-Sets to set up a node with the One Click Installation Option serving your use case OR lets you pick out the clients / services you need with the Custom Installation option yourself. Should you decide to migrate your setup onto a new machine, there is always the option to import your config file before installation to save you some time with the Import Configuration option.

ONE CLICK INSTALLATION
CUSTOM INSTALLATION
CONFIG IMPORT

USE CASE

After having decided on how you want to handle the installation, the next step is choose the right network and configuration for your use case. If you have chosen the Custom Installation option you can always fall back to the One Click Installer Pre-Sets by just simply selecting them in the Node Management Page. If you are confused or are in need of further support, we try to offer different guides & tutorials for every use case available to Stereum users. Simply click the tutorials under the icons in the use case section to follow along with a step by step tutorial.  If there are still open questions or doubts left in your mind left, you can always join our “Stereum” Discord server!

STAKING
Staking

…is the mechanism, by which anyone with the minimum-required balance of 32 ETH can act as a validator for the Ethereum network by verifying transactions & creating new blocks. To do this, you are required a “loaded” pair of validator keys with which you sign the actions of your node on the network. 

AVAILABLE ON:

  • ETHEREUM MAINNET
  • ETHEREUM TESTNET
SSV Network

is a decentralized staking infrastructure that enables the distributed operation of an Ethereum validator. Your keys are split between multiple entities. By chosing this option you can run an SSV node to provide stakers with a fault tolerant, slashing-free decentralized security layer while generating additional SSV Token rewards.

AVAILABLE ON:

  • ETHEREUM TESTNET

GLOSSARY

ETHEREUM NETWORK

Address

There are two different types of Ethereum address that share the same format: 

Externally Owned Address

Externally Owned Address refers to an account with a public and private key pair that holds a user’s funds. Ethereum addresses consist of a 42-character hexadecimal address derived from the last 20 bytes of the public key controlling the account with 0x appended in front. 

The Ethereum address is the “public” address that you would need to receive funds from another party. To access funds in the address, you must have its private key.

Contract Address

Contract address refers to the address hosting a collection of code on the Ethereum blockchain that executes functions. These functions of a contract address are executed when a transaction with associated input data (contract interaction) is made to it.

The contract address is usually created when a contract is deployed to the Ethereum Blockchain.

 

Transaction

A transaction in the sense of blockchain is describing the process of committing data to the Ethereum Blockchain signed by an originating account, targeting a specific address. The transaction contains metadata such as the gas limit for that transaction. When dealing with currency, the dominant transaction type is sending currency units or tokens, in other cases this could also be actions like entering into contracts. 

Wallet- / Seed-/ Passphrase

Ethereum wallets are applications that let you interact with your Ethereum account & the Ethereum blockchain. Most commonly used are hierarchical deterministic wallets which can be easily restored by knowing the seed/passphrase (list of words). After restoring the wallet with the seed it always produces the same accounts in the same order, making it possible to keep the seed safely and restore thousands of accounts with only a couple of words. In turn this also means that anybody else who discovers the phrase can steal your currency tokens, so it must be kept safe like jewels or cash. 

There are also non-hierarchical deterministic wallets, the accounts of those wallets are always random and can’t be restored once lost.

keyphrases_example_picture
This is an example of a typical 12 word seed/passphrase list (this can be longer or shorter). Just know:
NEVER GIVE UP YOUR OWN PASSPHRASE!!!

Public Key

A number string, that can be regenerated via a one-way function from the corresponding private key. The public key can as the name suggests safely be shared publicly and can be used anyone to verify a digital signature made by the unknown private/secret key.

Private / Secret Key

KEEP IT SAFE & NEVER SHARE THIS KEY WITH ANYONE!!! 
By holding the secret key a Ethereum user is able to prove their  ownership & able to control access to their assets in the Ethereum network such as Ether, their validator account or smart contracts. 

Gas

Gas is the fuel of the Ethereum network, that describes a unit of computation with its price of processing expressed in Ether as a transaction fee. Commands that execute the virtual machine are paid with gas by the sender. 

Base Fee

The ‘base fee‘ is the minimum gas fee a user must pay to reserve to reserve a spot and include their transaction in the next block. 

To make it more predictable, the base fee is determined by the blocks before it – making transaction fees more predictable for users. When the block is created this base fee is “burned”, removing it from circulation.

Max Fee

Is the maximum amount of transaction fee the user is willing to pay to be included with priority into the next block.  This optional and by the user specified amount is also known as the maxFeePerGas.  When specified, the user / sender of transaction is refunded the difference between the max fee and the sum of the base fee and used up priority fee (tip).

Priority Fee

Users can can prioritize their transaction by adding a “tip,” in form of the “priority fee” to pay a miner for faster inclusion. 
The priority fee amounts the amount of the selected “max fee“, the user was ready to pay and was necessary to be included in the next block. 
If you run a validating node on the network, you will receive this priority fee when you mine the block it is included in. This is necessary to make it not economically viable validators to create empty blocks. The tips counteract this by creating an incentive to include a transaction. User that want to their transactions to get preferentially executed ahead of other transactions can use this to outbid competing transactions to be included in the next block.

Smart Contracts

A “smart contract” is a program that runs on the Ethereum blockchain, that are deployed to the network and run as programmed. When deployed on the network every smart contract also has a Ethereum account with an specific address & balance associated to it.  It’s a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain that has an associated balance & can send transactions over the network.

An User accounts can interact with a smart contract by submitting transactions that execute a function defined on the smart contract. Smart contracts can define rules, like a regular contract, and automatically enforce them via the code. They also cannot be deleted by default, and interactions with them are irreversible.

Consensus

Consensus describes commonly a process in which participants decide on something with the aim, or requirement, of acceptance by all. In order to reach a consensus in the Ethereum network about the current state of the ledger, staking / validating nodes verify transactions and broadcast transactions according to the consensus rules, which state the requirements to reach a valid consensus.
When numerous nodes (usually most nodes on the network) all have the same blocks in their locally validated best blockchain we can speak of them having reached a “Consensus”. 

Staking

In general there are two ways to stake on Ethereum:

  1. Create validator accounts, send 32 Ether for each of them to the deposit contract and run an Ethereum consensus client capable of staking
  2. Use one of the staking services available, sometimes there are even less than 32 Ether required to participate.
Through the process of staking, the staker is allowed to act as a validator, responsible for storing data, processing transactions, and adding new blocks to the blockchain and keep Ethereum secure. In return the staker / validator earns you new ETH for acting truthful. This process is known as proof-of-stake, is being introduced by the Beacon Chain.

Ethereum Node

A node is a computational capable machine that has the software client actively running that are necessary to participate in the Ethereum network.  When we speak of a node there is not necessarily an financial component involved / we don’t automatically refer to a staking node, that validates the network. Running your own node however, gives you a direct access to the network & lets you use services that are build on top of Ethereum require an Ethereum client RPC endpoint,  used for point-to-point communications between software applications

Execution Layer

This layer is made up of modified PoW clients. Clients acting on the execution layer are responsible for transaction bundling and execution, and state management. 

Consensus Layer / Beacon Chain

The beacon chain is the consensus layer of the Ethereum blockchain. It is responsible for the consensus, i.e. block seal validity, and fork choice rule. The Merge enables PoS consensus driven by the beacon chain hence this layer is represented by modified beacon chain client. 

The beacon chain consists of epochs, one epoch consist of slots. Every epoch has 32 slots ready to be filled with blocks. Every block has a parent and a child. The beacon chain introduced a new mechanism of consensus which is called Proof of Stake (or PoS). 

Slot/Block

Slots are the smallest parts of the chain, 32 of them form an epoch.  The first slot in each epoch is a checkpoint. Each slot can only be part of one epoch. A slot has different stages:

  • Pending: The validator casting a block for a slot still didn’t broadcast it.
  • Proposed: Everything went well and the validator created a block and boradcasted it to enough peers to make it well known.
  • Missed: The validator didn’t broadcast the block fast enough or didn’t even create a block. The slot remains empty.
  • Orphaned: The validator didn’t broadcast the block at all or fast enough for the next block proposer to see. The block after the orphaned block will reference the parent of the orphaned block.

Each slot must be attested by other validators to be part of the consensus of the chain.

Epoch

When the 32nd slot of an epoch is due the epoch is finished. If two thirds of the verifiers (also known as validators) agree on two consecutive epochs then those two epochs are justified and the epoch before these two justified epochs is considered finalized.

Justified and finalized slots

Non-finality

It’s possible more than a third of the validators are not in consensus with the other part of the network. In this case they won’t attest and propose blocks and the epochs can’t be justified and therefore not finalized. This can happen when a number of validators are offline (for example through consensus bug). On such uncertain terms the network get’s unstable and forks are inevitable, however as soon as enough inactive or malicious validators exited (by force of the algorithm or by choice) the network will resume to produce first justified epochs and of course after a bit more time also finalized epochs.

Non-finality epochs on the beacon chain

Sharding

The Ethereum will introduce 64 shards, each of them can be seen as a separate blockchain which reports back to the beacon chain for consensus on actions (e. g. transactions) that are spreading over or influence multiple shards.

Fork

A situation where two blocks are generated pointing to the same block as their parent, and some portion of miners see one block first and some see the other. This may lead to two blockchains growing at the same time. Generally, it is mathematically near-certain that a fork will resolve itself within four blocks as miners on one chain will eventually get lucky and that chain will grow longer and all miners switch to it; however, forks may last longer if miners disagree on whether or not a particular block is valid.

ETHEREUM NODE

Execution Client

Execution clients (used to be referred to as “Eth1 clients”) are tasked with processing and broadcasting transactions, as well as managing Ethereum’s state. Execution run the computations for each transaction in the Ethereum Virtual Machine to ensure that the rules of the protocol are followed. 

Consensus Client

Consensus clients (used to be referred to as “Eth2 clients”) run Ethereum’s proof-of-stake consensus algorithm to reach an agreement about the head of the Beacon Chain. Consensus clients do not participate in validating/broadcasting transactions or in executing state transitions.

Validator Client

Validator Clients are quite lightweight software that perform a small but quite critical number of tasks of an Ethereum node. Validator clients duties is to correctly propose or attest to blocks on the beacon chain, and receive either rewards or penalties to the initial deposit based upon their overall performance. 

RPC Endpoint

RPC is an abbreviation for a remote procedure call. All dApps communicate with the blockchain through RPC endpoints hosted by Ethereum nodes. In the case of Metamask for example, your interactions are relayed to the RPC points made available by nodes ran by Infura. In layman terms it works quite simple one address, the “clients”, calls the request of a procedure, the other “the servers” responds. 

Light Client

A Light client is consensus client that downloads only a small portion of the blockchain, allowing users of low-power or low-storage hardware like smartphones and laptops to maintain almost the same guarantee of security by occasionally selectively downloading small parts of the state without needing the necessary infrastructure to run a full node. 
In comparison to the full node the light client only needs to know:

  • A previously validated block header
  • Members of the previous, current, and next committee. 

ETHEREUM STAKING

Validator

A validator has multiple meanings although they are intrinsically linked together.

  • Software: A software to run your validator accounts with
  • Validator account: An account of a wallet/seed/passphrase used by a client to stake with

Validator account

The validator software reads this account, which is only composed of a private key and a public key, and fulfills the duties of the validator account, such as:

  • Proposing blocks (is rewarded)
  • Attesting on blocks (is rewarded)
  • Attestation aggregation: Aggregating attestation for a block (is not rewarded, implicit interest of validator to aggregate its own attestation for a block)

Validator Earning / Losses

The gains of a validator account are payed to the validator account on each block for fulfilling its duties. It gains Ether by supporting the network and although it’s possible to deposit more Ether on one validator account there is only earning for 32 Ether, this is called effective balance. However, if the account balance decreases below 32 Ether so does the effective balance and therefore the rewards.

Loosing Ether balance on a validator account is a result of poor execution of duties. There are a number of reason this can happen, e. g. the validator software lost connection to the network or simply has a bug.

Rewards are very small for attestations, but since a validator account has to attest a lot it is a big part of an account’s earning. Proposing valid blocks gives a dump to the balance and is higher the more attestations are included. Also included in blocks are slashings, which are even more rare than blocks (at least should be) and increase the reward gained by proposing a block significantly. However, during a phase of non-finality the account’s don’t get any rewards at all.

https://launchpad.ethereum.org/ has a neat graph to find out easily what returns to expect for running a validator.

SSV

Secret Shared Validator (SSV) refers to a kind of Distributed Validator Technology that makes it possible to split a validator key between multiple nodes, referred to as operators, and enable the distributed control and operation of an Ethereum validator.

Attestation

For every slot there are random validators selected by an algorithm to attest (verify) the block in it. An attestation is a form of acknowledgement and can be included not only during the time the slot is the head of the chain, but also later on. This delay in time is measured in slots and called “inclusion distance“.

Deposit / Activation

Before a validator can start on the network a deposit of 32 Ether must be executed on Ethereum 1 to the deposit contract. After the deposit is noted and verified by the Ethereum 2.0 beacon chain it enters an activation queue. Each day roughly 900 new validators can be activated on the beacon chain.

Exit / Slashing

There are a number of ways to exit the validator account and making it unable to participate actively on the network:

  • Exit by choice: The owner of the validator account can choose to exit the validator. After it gracefully waited in the queue to be relieved of the duties it can’t start again.
  • Exit by loosing too much Ether: After decreasing a validator account’s balance to 16 Ether the validator is exited too.
  • Exit by slashing: To prevent attacks on the network malicious behaviour is punished strictly. This happens when a validator account proposes two different blocks for the same slot or attests two times for the same block. The exit is immediately included into the blockchain after discovery of the violation resulting in loss of Ether (up to 1) and sudden exit of the validator account.

Withdrawal

After exiting either by choice or by force the balance of the validator account can be withdrawn when the feature will be added later on. At the moment there is no way to transfer the Ether locked on a validator account because there are simply no transactions on the beacon chain whatsoever.

Sync Committee

The Sync Committee is a group of 512 validators (256 active / 256 as backup), randomly assigned by the Ethereum network. A new committee is chosen every 256 epochs, roughly 27 hours.

The duty of the validators selected into this committee is expanded to continually signing block headers for each new slot in the beacon chain to guarantee that light client can trust these headers to represent accurate and validated blocks. For the fulfilment of this duty, members of the committee can earn additional rewards that are about 2/64 as high as the perfect validator rewards. Failing to fulfil this duty however leads to penalties of the same extent.