Ethereum


Ethereum und dessen Mining erklärt



Die Technik hinter Ethereum


Ethereum basiert, wie auch Bitcoin, auf der Blockchain-Technologie. Im Unterschied zu Bitcoin ist Ethereum jedoch keine reine Kryptowährung, sondern auch eine Plattform für sogenannte DApps (Decentralized Apps), die aus Smart Contracts bestehen. Für Smart Contracts gibt es eine Vielzahl von Anwendungen, unter anderem E-Voting-Systeme, virtuelle Organisationen, Identitätsmanagement und Crowdfunding.

Ethereum ist ein verteiltes System, dessen Teilnehmer (Ethereum Accounts oder Contracts) das Ethereum-eigene Peer-to-Peer-Netzwerk nutzen, um Daten ohne einen zentralen Server auszutauschen. Alle Teilnehmer arbeiten mit einer gemeinsamen Datenbasis, der Ethereum-Blockchain. Um teilzunehmen, bedarf es eines Ethereum-Clients, der sich vor der Verwendung mit dem Netzwerk synchronisiert, also jede seit der letzten Synchronisation in der Blockchain dokumentierte Transaktion herunterlädt und überprüft. Für die initiale Synchronisation gibt es bei einigen Clients einen Schnellmodus, bei dem nicht die komplette Blockchain heruntergeladen werden muss. Als Wallets dienen Ethereum Wallet, MyCrypto, MyEtherWallet, HelioWallet, Parity, Freewallet, sowie Guarda (Multi-Asset Wallet für verschiedene Kryptowährungen). Sogenannte „Light Clients“ ermöglichen es, mit wenig Kapazitäten den Status eines Teils der gesamten Ethereum-Plattform zu überwachen oder einzelne Transaktionen zu verifizieren.

Erstellt wird Ethereum momentan noch durch einen sogenannten Proof-of-Work-Algorithmus, welcher im Laufe der Entwicklungsphasen jedoch durch einen Proof-of-Stake-Algorithmus ersetzt werden soll. Möchte man sich heute (Stand Juli 2021) also aktiv an der Herstellung von Ethereum beteiligen, dann ist dies über Ethereum-Mining möglich. Dabei wird auf der CPU oder der GPU ein spezieller Algorithmus (Ethash) ausgeführt. Als Belohnung erhalten die Ethereum-Miner im Gegenzug Ether. Um ihre Leistung zu bündeln und so die Chancen auf eine Belohnung zu erhöhen, schließen sich die Ethereum-Miner in Mining Pools zusammen.



Nodes


Ein Node ist ein Computer, der Teil des Ethereum-Netzwerkes ist. Dieser speichert entweder eine unvollständige (Light Client) oder vollständige (Full Node) Kopie der Blockchain und schreibt diese permanent fort. Des Weiteren gibt es so genannte Mining-Nodes, die Transaktionen bestätigen, also minen.

Stand Januar 2021 gibt es 11643 Nodes im Ethereum-Netzwerk, der Anteil von Mining-Nodes lässt sich nicht genau bestimmen.



Smart Contracts


Smart Contracts sind Programme, die automatisch ausgeführt werden, sobald eine in dem Contract festgelegte Summe in Ether überwiesen wurde. Damit ist keine (manuelle) Überprüfung eines Zahlungseingangs mehr erforderlich, denn die Überweisung startet direkt die im Programm festgelegte Gegenleistung.

Jede Transaktion wird innerhalb der gesamten Blockchain also auf allen mit dem Netzwerk verbundenen Geräten gespeichert. Das dezentrale Konzept der Blockchain prüft die Integrität der gesamten Datenbank permanent.

Die Smart Contracts werden meist in der für Ethereum eigens entwickelten Programmiersprache Solidity geschrieben. Sie werden dann in Bytecode übersetzt und auf der Ethereum Virtual Machine (EVM) ausgeführt. Eine virtuelle Maschine kapselt grundsätzlich eine Client-Umgebung von der Host-Umgebung, also den anderen Anwendungen auf einem Computer, ab. Die virtuellen Maschinen von Ethereum wurden in Ruby, Elixier, C++, C#, Go, Haskell, Java, JavaScript, Python, Rust, Erlang sowie bald auch in WebAssembly implementiert.



Dezentrale Apps (DApps)


DApps sind Programme, die auf der Blockchain und damit auf allen Nodes parallel ausgeführt werden. Am einfachsten stellt man sich eine DApp als eine Website vor. Während jedoch klassische Websites via API mit einem zentralen Server und ggf. Datenbanken verbunden sind, ist die DApp via Smart Contract mit der Blockchain verbunden. Die DApp „kauft“ über den Smart Contract mittels Ether das „Gas“ anschaulich ein Treibstoff welches für ihre Ausführung auf der Blockchain benötigt wird.

Dies ist teurer und langsamer als das traditionelle Client-Server-Modell, bietet aber einige Vorteile:

-Auf zentralisierten Servern können Angreifer Daten manipulieren.

-Das dezentrale Konzept der Blockchain prüft jedoch die Integrität der gesamten Datenbank permanent.

-Somit sind dezentrale Apps fehlertolerant, unabänderlich und erleiden keine Verbindungsunterbrechungen.



Ether


Ether ist die „Währung“ des Ethereum-Netzwerkes. Das Netzwerk erlaubt es jedoch, beliebige weitere Währungen so genannte Tokens zu erzeugen, welche dann für Ether gehandelt werden können.



Übergang zu Proof-of-Stake


Am 1. Dezember 2020 wurde die Beacon-Kette offiziell gestartet und es war erstmals möglich auf Ether Renditen zu erzielen, ohne dabei externe Protokolle zu nutzen. Dafür kann entweder auf einem dedizierten (oder virtuellen) Server die Beacon-Kette sowie die Validator Software ausgeführt werden, oder mittels eines Staking Anbieters (In der Regel Börsen für Kryptowährungen) Rendite auf vorhandene Ether erzielt werden.


Für das sogenannte Solo-Staking mit eigener Hardware werden mindestens 32 Ether benötigt, um einen einzelnen Validator zu betreiben. Dafür wird ein Server benötigt, auf welchem die Software der Beacon-Kette sowie des Validators laufen. Die Validator Software ist dabei in der Lage, eine beliebige Anzahl Validatoren (mit je 32 Ether) auf einem einzigen Server zu betreiben.

Für das Staking über z. B. eine der Kryptobörsen kann eine beliebige Anzahl an Ether (das heisst auch weniger als 32) verwendet werden.


Der Validator übernimmt dabei die Aufgabe neue Blöcke zu erzeugen und Transaktionen zu validieren (Analog zum aktuellen Proof-of-Work Konzept mit Minern, jedoch ohne den immensen Energieverbrauch) dabei muss der Server die ganze Zeit online sein, ist das nicht der Fall, wird der Validator "bestraft" und verliert regelmäßig einen kleinen Teil seines Ethers, solange bis er wieder erreichbar ist. Damit soll sichergestellt werden, dass alle Validatoren eine möglichst hohe Verfügbarkeit haben und somit das gesamte Netzwerk stets stabil läuft.


In der aktuellen Entwicklungsphase ist es nur möglich, Ether in den Deposit-Contract einzuzahlen und mittels eines Validators zu staken, jedoch ist es noch nicht möglich, die eingezahlten Ether wieder abzuheben. Diese Funktion wird mit einem der kommenden Updates erwartet. Es ist jedoch möglich, einen Validator freiwillig zu stoppen (engl. "voluntary exit), was bedeutet, dass der Validator offline sein darf, ohne Strafzahlungen zu erleiden.

Für die Verwaltung der eingezahlten Ether wurde der Deposit-Contract entwickelt, dessen Code und Transaktionen auf der Ethereum Blockchain für jedermann einzusehen ist:

-Deposit-Contract enthält Stand Januar 2021 der Deposit-Contract 2,85 Millionen Ether im Wert von 3,2 Milliarden Euro, das entspricht einer Anzahl von 88,915 Validatoren.


Die Menge der erzielten Renditen ist dabei variabel und hängt von der Anzahl aller Validatoren ab. Aktuell (Mai 2021) liegt die jährliche Rendite bei 7,5%.