(for STAKING, varies heavily between Use Case)
CPU
STORAGE
MEMORY
NETWORK (wired)
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!
1. Go to „https://console.aws.amazon.com/console“
2. Click on „Services“ in the Top-Left corner
3. Click on „Compute“
4. Click on „EC2“
5. Click on „Launch Instance the orange button
6. Click on „Launch Instance“ the grey button
7. Enter a „Name“ in the first row
8. Click on „Ubuntu“
9. 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”
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.
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!
…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:
…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:
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.
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.
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.
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.
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 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.
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.
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).
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.
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 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”.
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.
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.
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).
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:
Each slot must be attested by other validators to be part of the consensus of the chain.
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.
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.
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.
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.
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 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 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 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.
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 validator has multiple meanings although they are intrinsically linked together.
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:
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.
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.
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“.
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.
There are a number of ways to exit the validator account and making it unable to participate actively on the network:
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.
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.
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |