Kiln Testnet Staking Guide: Teku + Geth

Guide for connecting to Kiln testnet using Teku and Geth

Introduction

Ethereum is quickly approaching its long awaited switch to Proof-of-Stake. This guide will help you better understand The Merge, why it's happening, and how you can help!

This document was created for people staking from home using Ubuntu Desktop, but can easily be adapted to run in the cloud or on a remote server using SSH.

This guide serves as a "Hello World" to Ethereum staking, but it requires a basic understanding of Ethereum and Ubuntu command line interface (CLI).

If you're new to Ubuntu and would like to start with the basics, see Ubuntu for Beginners

Summary

If you'd prefer to skip the background info, installation instructions start here

"The Merge" - Background Info

  • Ethereum Today

  • What is "The Merge"?

  • Client Diversity

  • Execution Clients (formerly ETH1)

  • Consensus clients (formerly ETH2)

  • Client Combinations

Kiln Testnet - Staking Guide

  • Enable Universal Firewall (UFW)

  • Install & Sync Geth

  • Generate Validator Keys

  • Configure Metamask / Kiln ETH

  • Install & Sync Teku

  • Launchpad - Validator Deposit

  • Run Validator & Confirm Attestations

Ethereum Today

There are currently two Ethereum networks running side by side (POW & POS).

The Ethereum Proof-of-Work chain (ETH1) has been running since 2013, and forces miners to solve difficult math problems in order to earn the right to produce a block. This leads to large amounts of wasted energy and computer parts (GPUs).

After many years of research and testing, Ethereum Proof-of-Stake (Eth2) was launched on Dec 1st, 2020. The POS chain (aka Beacon Chain) uses validators who submit a stake of 32 ETH in order to earn the right to produce blocks and secure the blockchain.

Because the POS was a fairly new concept, it was decided to run POS alongside POW until POS was proven to be safe and effective.

The Beacon Chain (POS) currently does not process any transactions, but it uses deposits from the POW chain to determine which accounts should be added to the POS validator list. Other than that, the POS chain simply comes to consensus on itself.

This image is a general overview of how the POW and POS chains currently interact:

Note: The terms ETH1 and ETH2 are generally no longer used, but they're used in this diagram to illustrate how to the two networks currently interact.

What is "The Merge"?

The merge refers to the shutting down of the POW chain and moving all consensus and execution activities into the POS chain. This is a very complicated process, and has been compared to upgrading an airplane engine mid flight.

This diagram shows how an Ethereum client will look post merge. Each client will have a Beacon Node (Consensus Layer) and an Execution Engine (Execution Layer) that will communicate with each other using an internal Engine API.

Client Diversity

There have been numerous explanations regarding the importance of client diversity. I'll link to a few resources rather than rehash the same story.

Ethereum.org - Client Diversity

Superphiz - A Brief History of Client Diversity

TL:DR - Using multiple different clients makes Ethereum less susceptible to bugs and more resilient to attacks. If one client becomes too dominant, the network could finalize an incorrect chain and experience mass slashings or extended periods of downtime.

Client Diversity Metrics

Execution Layer (formerly ETH1)

Execution Clients are used to execute payloads (transactions etc) and update the Ethereum blockchain. The EL is used to review transactions and ensure they follow the rules before including them in a block.

Since Ethereum's inception, Geth has been the dominant execution client. Below is a list of execution clients with links to their respective repositories.

Consensus Layer (formerly ETH2)

Consensus clients are used to come to consensus on the correct chain. Once enough validators agree on a particular chain (66%), that chain is considered finalized and cannot be reverted without slashing all validators who attested to that chain.

Under POW, execution and consensus were run by a single client. After the merge, validators will choose a consensus client and an execution client which will work together while performing separate tasks.

There are multiple Consesus Clients with working implementations. Be sure to understand the importance of client diversity before selecting a consensus client.

Consensus Clients

Selecting a Client Combination

Stakers have the ability to select any Consensus Layer (CL) client and any Execution Layer (EL) client to run together due to the standardized Engine API format used by all CL and EL.

This guide will focus on using Teku as the Consensus Layer (CL) and Geth for the Execution Layer (EL).

This guide is tailored for a dedicated Ethereum PC/server. The most common computer used for a dedicated staking machine is the Intel NUC.

It's possible to run on ~8gb RAM, but may struggle under stressful network conditions.

Linux CLI

You will be running everything from the terminal window (aka Command Line Interface).

You can use the following shortcuts for Linux CLI:

  • Ctrl + Alt + T || Open new terminal window

  • Ctrl + Shift + V || Paste contents into terminal window

  • Ctrl + C || Quit terminal process

We'll begin the installation by enabling the Universal Firewall (UFW).

Last updated