Mit Epochen, Slots und Komitees: Ethereum 2.0 ging gestern live!

Nun ist es soweit: Mit der Beaconchain hat gestern der Kern von Ethereum 2.0 begonnen, sich zu bewegen. Das von der Community gefeierte Ereignis verläuft reibungslos. Wir erklären einige der Kernbegriffe für ETH2, das sich erheblich von anderen Blockchains wie Ethereum (1.0) und Bitcoin unterscheidet.
Gestern, am ersten Dezember, startete wie geplant die Beaconchain, der erste Teil von Ethereum 2.0. Mittlerweile wurden schon beinah 8.000 Blöcke produziert; Berichte über Störungen und andere Zwischenfälle liegen nicht vor. Es scheint alles ordnungsgemäß abzulaufen.
Mit Ethereum 2.0 ändert sich das Kerndesign von Ethereum fundamental. Es hat nun kaum noch etwas mit der Architektur vor, die Satoshi Nakamoto für Bitcoin erfand und die zum Vorbild für die meisten Blockchains wurde. Das Ziel ist es, eine hochskalierbare Blockchain-Umgebung zu schaffen, die gleichzeitig schneller, sicherer, dezentraler und energiesparsamer ist.

Die Beaconchain ist sozusagen das Steuerzentrum von ETH2. An sie können weitere Blockchains andocken. In der gestern begonnenen Phase 0 läuft zunächst nur die Baeconchain, und auch das lediglich „kalt“: Es wird noch keine Transaktionen auf dieser Blockchain geben. Erst in den folgenden Phasen werden im Lauf der kommenden zwei Jahre weitere Features freigeschaltet: Von Transaktionen und Smart Contracts auf der Beaconchain bis hin zur Anschlussfähigkeit der Nebenchains.
Diese Neuerfindung der Blockchain bringt es mit sich, dass vertraute Begriffe und Konzepte hinfällig werden, während neue auftauchen, die bisher unbekannt sind. Wer beispielsweise einen Blockexplorer für die Beaconchain aufschlägt, wird auf den ersten Blick vor allem Verwirrung finden. Was soll man unter Epochen verstehen? Und was bitte schön sind Slots und Attestations?
Um die Verwirrung einzudämmen, werde wir im Folgenden einige der wichtigsten Begriffe für Ethereum 2.0 erklären.
Ethereum (1.0) und Bitcoin teilen sich weitgehend dieselbe Architektur: Es gibt Miner, die ihre Computer rechnen lassen, um durch kryptographische Methoden einen gültigen Header bzw. Hash eines neuen Blocks zu finden. Die Gültigkeit des Headers hängt von der Mining-Schwierigkeit ab, die sich dynamisch an die Hashpower des Netzwerks anpasst, weshalb Blöcke in gleichmäßigen Intervallen erscheinen.
Die Unterschiede zwischen Ethereum und Bitcoin sind nicht fundamental, sondern liegen eher im Detail: Anstatt 10 Minuten dauert ein Block 12,5 Sekunden; der Hashing-Algorithmus ist komplizierter, weshalb Ethereum eher mit Grafikkarten als mit Asics geschürft wird; und was bei Bitcoin die „verwaisten Blöcke“ sind, sind hier die „Onkel“, die eine kleine Belohnung bekommen, auch wenn sie nicht Teil der Historie werden.
Das alles ist nicht unbedingt einfach zu verstehen, aber wer einmal begriffen hat, wie Bitcoin funktioniert, wusste im Groben auch schon, wie Ethereum läuft. Mit Ethereum 2.0 ändert sich dies. Daher erklären wir die Kernkonzepte in aller Kürze.
Validatoren
Das, was einmal Miner waren, sind bei ETH2 die sogenannten Validatoren. Etwas zu validieren bedeutet laut dem Duden-Fremdwörterbuch „etwas für rechtsgültig erklären, geltend machen, bekräftigen“ und laut Wiktionary „etwas auf Gültigkeit prüfen, die Richtigkeit einer Methode beispielhaft testen.“ Beides trifft im Falle der Validatoren für Transaktionen für Ethereum 2.0 zu.
Um ein Validator zu werden, muss man 32 Ether in einem bestimmten Smart Contract auf der herkömmlichen Ethereum-Blockchain (ETH1) deponieren. Ein Mining findet nicht statt; jeder Validator nimmt an einer Art Verlosung teil, die ihm die Chance gibt, Blöcke vorzuschlagen, zu beglaubigen und dafür belohnt zu werden. Die 32 Ether, die man deponiert, werden also verzinst.
Ein Validator muss exakt 32 Ether einbringen. Es ist aber möglich, beliebig viele Validatoren zu betreiben und damit auch beliebig hohe Mengen an Ether zu verzinsen. Wer keine 32 Ether hat – und kein Interesse, einen Validator zu betreiben – kann auch über diverse Staking-Pools kleinere Summen einbringen.
Epochen / Komitee
Wer versucht, sich im Blockexplorer Beaconcha.in zu orientieren, wird auf verwirrende Begriffe stoßen. Einer davon ist die Epoche.
Dies meint eine der grundlegenden Zeiteinheiten von Ethereum 2.0. Eine Epoche dauert etwa 6,4 Minuten und besteht aus 32 Slots (dazu weiter unten mehr). In jeder Epoche wird die gesamte Anzahl der Validatoren in „Komitees“ von jeweils 128 oder mehr Validatoren eingeteilt. Nach Ablauf einer Epoche werden die Komitees neu gemixt. Diese Komitees bilden, wie wir gleich sehen werden, die spontanen Arbeitsgruppen von ETH2, die die grundlegenden Funktionen der Blockchain ausführen.
Slots
Ein Slot ist ein Bruchteil einer Epoche und meint eine Zeitperiode von 12 Sekunden. Für jede Epoche wird ein zufälliges Komitee ausgewählt, das diesen Slot als Arbeitsgruppe bearbeitet. Innerhalb dieses Komitees wird nun ein zufälliger Validator dazu berufen, einen Block vorzuschlagen (er wird zum „Block Proposer“),. Die anderen 127 werden zu Attestatoren – sie müssen den Block prüfen.
Die Bildung eines Blocks geschieht auf herkömmliche Weise: Der Block Proposer wählt aus den Transaktionen im MemPool diejenigen aus, die er möchte, und packt sie in einen Block. Die Belohnung erhält er allerdings (vermutlich) nicht durch die Coinbase-Transaktion. Stattdessen wird sie dem Block Proposer wie auch den Attestatoren automatisch zugewiesen.
Attestation („Beglaubigung“) / Aggregatoren
Sobald der Block Proposer einen Block vorschlägt, prüfen die anderen Mitglieder des Komitees diesen. Wenn sie ihn gutheißen, stellen sie ihm eine Beglaubigung („Attestation“) aus. Sie signieren diese Beglaubigung mit BLS12-381 Signaturen.
Das Detail ist wichtig. Denn man kann BLS-Signaturen aggregieren: Eine einzelne Signatur kann eine Art Summe zahlreicher anderer Signaturen sein, die sich in ihr verschmelzen. Dies ist die Aufgabe von 16 Mitglieder eines Komitees, die nach dem Zufallsverfahren zu Aggregatoren erwählt werden: Sie sammeln die Beglaubigungen der anderen Validatoren und verschmelzen sie, um jeweils eine einzelne Signatur zu produzieren, die viel mehr Beglaubigungen beweist. Diese kann der Block-Proposer in seinen Block einfügen, um einen gültigen Block zu produzieren.
Finalisierung
Sobald ein Block bzw. Slot ausreichend Beglaubigungen vorweist, kann er vorläufig als bestätigt gelten. Er ist allerdings noch nicht finalisiert.
Um diesen Zustand zu erreichen, müssen mindestens zwei Drittel der Validatoren einer kompletten Epoche eine Beglaubigung ausstellen, die sämtliche Parameter validiert (die Blöcke, die Kommitees usw.). Wirklich final wird eine Epoche – und die in ihr enthaltenen Slots – wenn sie sowie die auf sie folgende Epoche beglaubigt sind. In diesem Fall gibt es wohl keinen bekannten Mechanismus, um Transaktionen rückgängig zu machen.
Sehr interessanter Artikel mal wieder. Wie kann man denn Validator werden?
Mit 32 ETH, die man in einem ETH1 Contract versenkt hat, reiht man sich in die Warteschlange der Validatoren ein, die in ETH2 mitmachen wollen. Das dauert etwas, da nur ein gewisser Teil je Epoch aktiviert wird.
Man braucht dafür einen beacon-chain Service, einen Validator Service, der mit der Beacon Chain verbunden ist und eine ETH1 node, mit dem die beacon-chain verbunden ist. Die ersten beiden Sachen muss man selber stellen, für die ETH1 node gäbe es auch freie Services wie infura.io.
Der Prozess zum Validator onboarding ist hier beschrieben. https://launchpad.ethereum.org
Dazu braucht man einen ETH1-Node (um das 32-ETH-Deposit zu verifizieren) und einen ETH2-Node.
Mehr Infos hier:
https://launchpad.ethereum.org/overview
https://bankless.substack.com/p/-guide-how-to-become-a-validator
Wem das zu technisch / zu riskant ist, der kann auch einen Staking-Service nutzen. Eine Übersicht gibt es hier:
https://beaconcha.in/stakingServices
Danke für den Beitrag. Was passiert mit den existierenden ETH? Werden die zu ETH2? Oder ist das ein komplett neuer Coin?
Die existierenden ETH bleiben weiterhin gültig; ich vermute (hoffe), man wird sie auf der ETH1-Chain verbrennen können, um sie auf der ETH2-Chain zu reaktivieren.
Super, danke für die Antworten. Wollte in meinem jugendlichen Wahnsinn in der AWS Cloud den Validator aufsetzen. Nach ein paar Stunden Konfiguration muss ich jetzt doch aufgeben… ist leider eine Nummer zu kompliziert für mich. Ich schaue mir die andere Variante auch noch mal an.
Ich habe mir gerade den Link von Christoph angeschaut. Ist dort jemand von besonders vertrauenswürdig?
https://beaconcha.in/stakingServices
Was passiert eigentlich mit den ERC20 Token, die man bspw. noch auf einem Ledger geparkt hat?
Einfach liegen lassen… irgendwann wird ETH1.0 Chain Teil der ETH2.0