# Ethereum

Ethereum ist ein quelloffenes verteiltes System, welches das Anlegen, Verwalten und Ausführen von Programmen bzw. Kontrakten (Smart Contracts) in einer eigenen Blockchain anbietet. Es stellt damit einen Gegenentwurf zur klassischen Client-Server-Architektur dar.
Ethereum verwendet die interne Einheit Ether (abgekürzt mit ETH, Symbol: Ξ) als Zahlungsmittel für Transaktionsverarbeitungen auf einer Blockchain, die durch teilnehmende Computer abgewickelt werden.

## Technik

Ethereum ist ein dezentralisiertes, erlaubnisloses Netzwerk, basierend auf der Blockchain-Technologie, ähnlich wie bei Bitcoin. Neben der Überweisungen der ETH-Währung (ähnlich wie bei Bitcoin) ermöglicht Ethereum das Ausführen von automatisierten Verträgen (Smart Contracts). Diese ermöglichen die Erstellung von sogenannten Decentralized Applications. Zu den Anwendungen gehört zum Beispiel das dezentrale Finanzwesen. Alle Teilnehmer nutzen mit einer Ethereum-Blockchain eine gemeinsame Datenbasis. 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. Um das Netzwerk dezentral zu betreiben und vor Angriffen zu sichern, entstanden mehrere Ethereum-Client Implementierungen durch verschiedene Entwickler-Gruppen. Für die initiale Synchronisation gibt es bei einigen Clients einen Schnellmodus, bei dem nicht die komplette Blockchain heruntergeladen wird. Als Wallets dienen beispielsweise MyEtherWallet, MyCrypto, Metamask, Ledger, sowie Browser wie Opera Krypto Browser.
Ethereum besteht aus mehreren ineinander verzahnten Komponenten bzw. Konzepten:

### Nodes

Ein Node ist ein Computer, der Teil des Ethereum-Netzwerkes ist. Für gewöhnlich speichern Nodes nur Daten, die notwendig sind, um den aktuellen Zustand des Netzwerks zu beschreiben. Nodes, die auch die Daten speichern, die nur zur Rekonstruktion von historischen Zuständen des Netzwerks notwendig sind, nennt man Archive Nodes. Archive Nodes werden wegen der hohen Hardware-Anforderungen in der Regel nur von professionellen Nutzern betrieben. Stand Mai 2023 gibt es 7461 Nodes im Ethereum-Netzwerk.

### Smart Contracts

Smart Contracts sind Verträge, die als Programme automatisch ausgeführt werden, sobald ein im Vertrag festgelegter Ether-Wert überwiesen wurde. Dies erfordert keine manuelle Überprüfung des Zahlungseingangs, denn die Überweisung startet direkt die im Programm festgelegte Gegenleistung.
Jede Transaktion wird in der gesamten Blockchain – auf allen mit dem Netzwerk verbundenen Geräten – gespeichert. Das implementierte Blockchainkonzept sieht eine permanente Integritätsprüfung der gesamten Datenbank vor.
Die Verträge werden meist in der für Ethereum entwickelten Programmiersprache Solidity geschrieben. Sie werden in Bytecode übersetzt auf der Ethereum Virtual Machine (EVM) ausgeführt. Eine virtuelle Maschine kapselt eine Client-Umgebung von der Host-Umgebung, also anderen Anwendungen auf einem Computer, ab. Die virtuellen Maschinen von Ethereum wurden in verschiedenen Programmiersprachen 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.
Dies ist teurer und langsamer als das traditionelle Client-Server-Modell, bietet aber mehrere Vorteile: Auf zentralisierten Servern können Angreifer Daten manipulieren. Das dezentrale Konzept der Blockchain prüft jedoch ständig die Integrität der gesamten Datenbank. Daher sind dezentrale Apps fehlertoleranter, unabänderlich und erleiden seltener Verbindungsunterbrechungen.

### Ether

Ether ist die „Einheit“ des Ethereum-Netzwerkes.
Aktuell befinden sich etwa 120 Millionen Ether im Umlauf. Mit einer Marktkapitalisierung von etwa 407 Milliarden Euro (Stand 15. März 2024) ist das Ethereum hinter dem Bitcoin-Netzwerk das zweitgrößte Kryptosystem.

### Decentralized Autonomous Organization (DAO)

Eine Decentralized Autonomous Organization (DAO, deutsch dezentrale autonome Organisation) ist eine Organisation, deren Managementstruktur und -regeln digital und unveränderbar durch einen Smart Contract festgeschrieben werden, diese (hier durch das Ethereum-Netzwerk) ausgeführt werden und daher ohne konventionelle Entscheidungsgremien wie einen Vorstand auskommt.

#### The DAO

The DAO ist die bekannteste DAO, die bisher im Ethereum-Blockchain implementiert wurde. Sie wurde von der Firma Slock.it entwickelt und veröffentlicht. Grob zusammengefasst besteht die Aufgabe von The DAO darin, Ether durch Verkauf von Stimmberechtigungsanteilen einzunehmen, ein Entscheidungsgremium über die Verwendung gesammelter Ether abzuhalten und zu überweisen. Es handelt sich also um eine autonome und automatisierte Investmentfirma. The DAO wurde im April 2016 in die Blockchain hochgeladen und durchlief ein Crowdfunding bis zum 28. Mai 2016 (gekauft wurde mit Ether). The-DAO-Token, die zur Stimmabgabe für die in The DAO getroffenen Entscheidungen berechtigen, können auf diversen Kryptobörsen gehandelt werden.
Am 17. Juni 2016 machte ein Unbekannter durch einen Fehler im Smart Contract von The DAO 3,6 Millionen Ether unbrauchbar. Diese waren damals rund 65 Millionen Euro wert. Eine harte Abspaltung (englisch „hard fork“), die den Angriff rückgängig macht, wurde mehrheitlich beschlossen. Durch diese harte Abspaltung wurden der angreifenden DAO die Ethers entzogen; daraus entstanden zwei Blockchains, von denen die ursprüngliche als Ethereum Classic (ETC) weitergeführt wird. Die Ethereum Foundation hat anhand verschiedener Metriken und der Abstimmung der Community entschieden, ihre Entwicklungstätigkeit nur auf die abgespaltene (oder geforkte) Hauptblockchain (weiterhin Ethereum genannt) zu beschränken und sich nicht mit Ethereum Classic zu beschäftigen.

### Clients

Ein vollständiger Ethereum Node besteht aus zwei Komponenten: den Konsens-Clients und den Ausführungs-Clients. Beide sind notwendig wenn man direkt, also ohne die Verwendung eines Services von einem Drittanbieter, mit dem Ethereum Netzwerk interagieren möchte. Der Konsens-Client implementiert den Proof-of-Stake Mechanismus und ermöglicht es den Teilnehmern des Netzwerks zu einem Konsens über den aktuellen Stand der Blockchain zu gelangen. Der Ausführungs-Client empfängt Transaktionen die über das Netzwerk versendet werden und führt diese lokal in der EVM aus.

#### Ausführungs-Clients

* Geth, entwickelt in Go
* Nethermind, entwickelt in C# und .NET
* Besu, entwickelt in Java
* Erigon, entwickelt in Go

#### Konsens-Clients

* Lighthouse, entwickelt in Rust
* Prysm, entwickelt in Go
* Teku, entwickelt in Java
* Nimbus, entwickelt in Nim
* Loadstar, entwickelt in TypeScript

### ERC-721/Non-Fungible Tokens

Die Ethereum-Community hat das ERC-721-Protocol zum Standard für Non-Fungible Tokens auf Ethereum erklärt.

### Layer 2

Als Layer 2 oder L2 werden separate Blockchains bezeichnet, welche (je nach Technik) periodisch ihre Daten auf die Ethereum Blockchain (Layer1, L1) schreiben. Es gibt verschiedene Implementierungen, am erfolgreichsten sind bisher Optimistic Rollups wie z. B. Arbitrum One oder Optimism. Diese erlauben einen höheren Durchsatz und schnellere Transaktionszeiten als Ethereum, nutzen jedoch dessen Sicherheit, indem sie periodisch die gebündelten Transaktionen auf Ethereum schreiben, und im Nachgang prüfen, ob diese gültig sind. Daher auch der Name „Optimistic“ Rollup, es wird „optimistisch“ davon ausgegangen das Transaktionen auf dem L2 valide sind, falls das nicht der Fall ist, werden die Transaktionen auf dem L2 zurückgespult.

## Geschichte

Ethereum wurde Ende 2013 von Vitalik Buterin im Whitepaper „Ethereum: A Next Generation Smart Contract & Decentralized Application Platform“ allgemein beschrieben und im Januar 2014 auf der North American Bitcoin Conference in Miami vorgestellt. Gavin Wood, Mitbegründer des Projekts, veröffentlichte im April 2014 mit dem „Ethereum Yellow Paper“ die formale Spezifikation und das Design der Ethereum Virtual Machine (EVM). Im Juli 2015 wurde der Betrieb des Ethereum-Netzwerkes gestartet. Nur sieben Monate später, am 29. Februar 2016, erreichte die in Ethereum verwendete Einheit Ether eine Marktkapitalisierung von über 500 Millionen US-Dollar. Weitere zwei Wochen später, am 12. März 2016, hatte sich diese bereits verdoppelt und Ether konnte eine Marktkapitalisierung von über einer Milliarde Dollar verzeichnen. Die Entwicklung wird von der schweizerischen Stiftung Ethereum (Ethereum Foundation) geleitet.
Mitgründer ist der ehemalige Goldman-Sachs-Manager Joseph Lubin, der mit seiner New Yorker Firma ConsenSys Anwendungen für Ethereum entwickelt. Er war CEO von der in der Schweiz ansässigen Anfang 2014 gegründeten Ethereum Switzerland GmbH (EthSuisse). Ebenfalls 2014 erfolgte die Gründung einer Schweizer Ethereum Stiftung und Non-Profit-Organisation, die zur Finanzierung der Kosten der Entwicklung eine Ethereum-Bitcoin-Crowdfunding-Kampagne startete, in der die ersten erzeugten Ether gegen Bitcoin verkauft wurden, wobei insgesamt über 18 Millionen US-Dollar zusammenkamen. Im März 2017 gründeten Forschungsgruppen, Startups und große Unternehmen und Banken die Enterprise Ethereum Alliance (EEA).

### Entwicklungsphasen

Im Juli 2015 wurde die Ethereum-Beta mit dem Namen Ethereum Frontier veröffentlicht. Ethereum Frontier war das Grundgerüst für Ethereum. Die Hauptfunktionen bestanden in der Implementierung eines Proof-of-Work-Algorithmus und verteilt ausgeführten Programmen, den Smart Contracts.
Im März 2016 wechselten die Entwickler von der Frontierphase zu dem nächsten Zwischenziel „Homestead“. Homestead sorgte vor allem dafür, dass die Nutzung von Ethereum sicherer wird, da Fehler behoben wurden.
Die weiteren Hauptziele der Ethereum-Entwickler sind „Metropolis“ und „Serenity“. Im Zwischenziel Metropolis entstanden Anwendungen für Endverbraucher. Metropolis erleichterte die Nutzung z. B. durch Light Clients. Diese mussten nicht mehr die gesamte Ethereum-Blockchain herunterladen. Sie entlasten den eigenen Computer. Eine weitere Neuerung erfolgte mit der Implementierung von ZK-SNARKS, die es ermöglicht, vollkommen anonyme Transaktionen im öffentlichen Ethereum-Netzwerk zu tätigen.
Im September 2022 erfolgte der Wechsel vom Proof-of-Work (POW) zum Proof-of-Stake-Algorithmus (POS).

### Ü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 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.
Das sogenannte Solo-Staking mit eigener Hardware erfordert mindestens 32 Ether, um einen einzelnen Validator zu betreiben. Dafür wird ein Server benötigt, auf dem die Software der Beacon-Kette sowie des Validators laufen. Die Validator Software kann eine beliebige Anzahl Validatoren (mit je 32 Ether) auf einem einzigen Server betreiben.
Für das Staking über z. B. eine der Kryptobörsen kann eine beliebige Anzahl an Ether (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.
Nach dem Start der Beaconchain war es zuerst nur möglich, Ether in den Deposit-Contract einzuzahlen und mit einem Validators zu staken, jedoch nicht eingezahlte Ether wieder abzuheben. Diese Funktion wurde mit dem sogenannten Shanghai/Capella Upgrade am 12. April 2023 hinzugefügt.
Für die Verwaltung eingezahlter Ether wurde der Deposit-Contract entwickelt, dessen Code und Transaktionen auf der Ethereum Blockchain veröffentlicht ist: Der Deposit-Contract enthält Stand März 2023 17,7 Millionen Ether im Wert von 29,5 Milliarden Euro, das entspricht einer Anzahl von 553662 Validatoren.
Die Menge der erzielten Renditen ist variabel und hängt von der Anzahl aller Validatoren ab.
Am 15. September 2022 erfolgte der Wechsel von der energieintensiven Ether-Erzeugung durch das Proof-of-Work-Verfahren hin zum Proof-of-Stake.

### Zukunft

Ursprünglich war geplant das Ethereum-Netzwerk irgendwann durch das sogenannte Sharding auf mehrere Teilbereiche (Splitter – engl. „shards“) aufzuteilen, um die Skalierbarkeit des Netzwerks zu erhöhen. Dieser Schritt war für 2023 geplant. Laut aktuellem Stand wird die Implementierung des 'Proto-Danksharding' als bevorzugte Methode zur Skalierung des Ethereum-Netzwerks weiterverfolgt. Proto-Danksharding zielt darauf ab, die Effizienz und Kapazität von Layer-2-Transaktionen zu erhöhen, indem es die Kosten pro Byte reduziert und die Datenmenge pro Block erhöht. Dies ist ein wichtiger Schritt zur Verbesserung der Skalierbarkeit und zur Vorbereitung auf das vollständige Sharding in der Zukunft.
Proto-Danksharding ist ein vereinfachtes Design des ursprünglich geplanten Shardings, welches darauf abzielt Transaktionen, welche auf Layer 2 Blockchains (Siehe Abschnitt Layer 2) generiert werden, mit noch weniger Transaktionskosten zu ermöglichen. Einfach gesagt wird die mögliche Menge an Daten, welche pro Block geschrieben werden kann, erhöht, während die Kosten pro Byte reduziert werden. Diese Daten sollen dabei nicht persistent sein, sondern nach einem gewissen Zeitraum (1–3 Monate) wieder gelöscht werden, um die Größe der Blockchain nicht unnötigt zu erhöhen.

### Nomenklatur / Ethereum 2.0

Anfangs wurde das geplante Upgrade auf Proof-of-Stake als „Ethereum 2.0“ bezeichnet. Da dies nahelegt, dass es ein „altes“ und ein „neues“ Ethereum geben würde, vermeidet man diese Benennung. Die Ethereum Community bevorzugt die Bezeichnungen Execution Layer (Aktuell POW) und Consensus Layer (in Zukunft POS). Das Execution Layer ist die POW-Implementierung bis August 2022, welche den Konsens und die Ausführung (Execution) von Transaktionen steuert. Künftig wird dieser Prozess aufgespalten, durch Einführung eines neuen Consensus Layers, was die in Entwicklung befindliche POS-Implementierung darstellt. Es wird ab August 2022 eine hybride Implementierung beider Client-Arten (POS und POW) geben, welche parallel laufen. Dabei wird sich der aktuelle POW Client (z. B. Geth) um die Ausführung von Transaktionen sowie das State-Management kümmern, während der POS Client (z. B. Prysm) für den Konsens verantwortlich ist.
Ethereum 2.0 (Eth2) war eine Reihe von drei oder mehr Upgrades, auch als „Phasen“ bekannt, die den Konsensmechanismus des Netzwerks auf Proof-of-Stake umstellen und den Transaktionsdurchsatz des Netzwerks mit Execution Sharding und einer verbesserten EVM-Architektur skalieren sollten.
Die Umstellung von Proof-of-Work auf Proof-of-Stake am 15. September 2022 hat den Energieverbrauch von Ethereum um 99 % gesenkt. Dieses Upgrade, bekannt als „The Merge“, war die erste Phase in einer Reihe von Upgrades. Die Auswirkungen auf den globalen Energieverbrauch und den Klimawandel sind jedoch möglicherweise begrenzt, da die Computer, die zuvor für das Mining von Ether verwendet wurden, für das Mining anderer energieintensiver Kryptowährungen genutzt werden können.
Am 13. März 2024 ging die zweite Phase, bekannt als „Dencun“ oder auch „Deneb-Cancun“-Upgrade, in Betrieb. Dieses Upgrade senkte die Transaktionsgebühren für die vielen Layer-2-Netzwerke, die auf der Ethereum-Blockchain aufsetzen.

## Design
### Überblick

Ethereum ist ein Peer-to-Peer-Netzwerk, das eine Datenbank mit den Speicherwerten aller Ethereum-Konten unterhält und zustandsverändernde Transaktionen verarbeitet. Ungefähr alle 12 Sekunden wird ein Stapel neuer Transaktionen, ein sogenannter „Block“, vom Netzwerk verarbeitet. Jeder Block enthält einen kryptografischen Hash, der die Reihe von Blöcken identifiziert, die ihm vorausgehen müssen, damit der Block als gültig angesehen werden kann. Diese Reihe von Blöcken wird als Blockchain bezeichnet.
Jeder „Knoten“ (Netzwerkteilnehmer) verbindet sich mit einer relativ kleinen Teilmenge des Netzwerks, um seinen Peers Blöcke und nicht validierte Transaktionen (d. h. Transaktionen, die noch nicht in der Blockchain enthalten sind) zum Herunterladen anzubieten, und er lädt alle Blöcke von seinen Peers herunter, die er noch nicht besitzt. Jeder Knoten verfügt in der Regel über einen einzigartigen Satz von Peers, so dass das Anbieten eines Objekts an seine Peers dazu führt, dass sich dieses Objekt innerhalb von Sekunden im gesamten Netzwerk ausbreitet. Die Sammlung nicht validierter Transaktionen eines Knotens wird als „mempool“ bezeichnet.
Ein Knoten kann für sich selbst eine Kopie des Status erstellen. Dazu beginnt er mit dem Genesis-Status und führt jede Transaktion in der Blockchain aus, und zwar in der richtigen Reihenfolge der Blöcke und in der Reihenfolge, in der sie in jedem Block aufgelistet sind.
Any Ethereum account may "stake" (deposit) 32 ETH to become a validator. At the end of each "epoch" (32 block slots, each slot lasting 12 seconds), each validator is pseudorandomly assigned to one of the slots of the epoch after the next, either as the block proposer or as an attester. During a slot, the block proposer uses their mempool to create a block that is intended to become the new "head" (latest block) of the blockchain, and the attesters attest to which block is at the head of the chain. If a validator makes self-contradicting proposals or attestations, or if it is inactive, it loses a portion of its stake. It may add to its stake at any time. A validator's attestation is given a weight equal to its stake or 32, whichever is less. According to the Ethereum protocol, the blockchain with the highest accumulated weight of attestations at any given time is to be regarded as the canonical chain. Validators are rewarded for making valid proposals and attestations. A validator's rewards are paid via transactions within the same chain that contains their proposal or attestation, and therefore would have little or no market value unless that chain becomes the canonical chain. This incentivizes validators to support the chain that they think other validators view as the canonical chain, which results in a high degree of consensus.

### Ether

Ether (ETH) ist die Kryptowährung, die in Übereinstimmung mit dem Ethereum-Protokoll als Belohnung für Validierer in einem Proof-of-Stake-System für das Hinzufügen von Blöcken zur Blockchain generiert wird. Ether wird im Status als vorzeichenlose ganze Zahl dargestellt, die mit jedem Konto verbunden ist, wobei es sich um das ETH-Guthaben des Kontos in Wei handelt (10^18 Wei = 1 Ether). Am Ende jeder Epoche werden neue ETH generiert, indem protokollspezifische Beträge zu den Guthaben aller Validierer für diese Epoche addiert werden, wobei die Blockantragsteller den größten Anteil erhalten. Außerdem ist Ether die einzige Währung, die vom Protokoll als Zahlungsmittel für die Transaktionsgebühr akzeptiert wird. Die Transaktionsgebühr setzt sich aus zwei Teilen zusammen: der Grundgebühr und dem Trinkgeld. Die Grundgebühr wird „verbrannt“ (aus der Existenz gelöscht) und das Trinkgeld geht an den Blockproposer. Die Belohnung des Validators und die Trinkgelder bieten den Validatoren einen Anreiz, die Blockchain wachsen zu lassen (d. h. neue Transaktionen zu verarbeiten). Daher ist ETH von grundlegender Bedeutung für den Betrieb des Netzwerks. Ether können über eine Transaktion von einem Konto zu einem anderen „gesendet“ werden, wobei der zu sendende Betrag einfach vom Guthaben des Absenders abgezogen und dem Guthaben des Empfängers hinzugefügt wird.
Ether wird oft fälschlicherweise als „Ethereum“ bezeichnet.

### Accounts

Es gibt zwei Arten von Konten auf Ethereum: Benutzerkonten (auch bekannt als Konten in externem Besitz) und Vertragskonten. Beide Arten haben ein ETH-Guthaben, können ETH auf ein beliebiges Konto übertragen, den Code eines anderen Vertrags ausführen oder einen neuen Vertrag erstellen und werden auf der Blockchain und im Status durch eine Kontoadresse identifiziert.
Verträge sind der einzige Kontotyp, der über einen zugehörigen Bytecode und Speicherplatz (zur Speicherung des vertragsspezifischen Status) verfügt. Der Code eines Vertrags wird ausgewertet, wenn eine Transaktion an ihn gesendet wird. Der Code des Vertrags kann benutzerspezifische Daten aus der Transaktion lesen und kann einen Rückgabewert haben. Zusätzlich zu den Kontrollflussanweisungen kann der Bytecode Anweisungen enthalten, um ETH zu senden, aus dem Speicher des Vertrags zu lesen und in diesen zu schreiben, einen temporären Speicher zu erstellen, der am Ende der Codeauswertung verschwindet, arithmetische und Hashing-Operationen durchzuführen, Transaktionen an andere Verträge zu senden (und damit deren Code auszuführen), neue Verträge zu erstellen und Informationen über die aktuelle Transaktion oder die Blockchain abzufragen.

### Adressen

Ethereum-Adressen setzen sich aus dem Präfix „0x“ (eine gängige Kennung für Hexadezimalzahlen) zusammen, das mit den äußersten 20 Bytes des Keccak-256-Hash des öffentlichen ECDSA-Schlüssels verkettet wird (die verwendete Kurve ist die sogenannte secp256k1). Im Hexadezimalformat stehen zwei Ziffern für ein Byte, so dass die Adressen 40 hexadezimale Ziffern nach dem „0x“ enthalten, z. B. 0xb794f5ea0ba39494ce839613fffba74279579268. Vertragsadressen haben das gleiche Format, werden jedoch durch den Absender und die Transaktions-Nonce bestimmt.

### Virtual Machine (EVM)

Die Ethereum Virtual Machine (EVM) ist die Laufzeitumgebung für die Ausführung von Transaktionen in Ethereum. Die EVM ist eine stapelbasierte virtuelle Maschine mit einem speziell für Ethereum entwickelten Befehlssatz. Der Befehlssatz umfasst unter anderem Stack-Operationen, Speicheroperationen und Operationen zur Überprüfung des aktuellen Ausführungskontexts, wie z. B. verbleibendes Gas, Informationen über den aktuellen Block und die aktuelle Transaktion. Die EVM ist so konzipiert, dass sie auf einer Vielzahl von Hardware- und Betriebssystemen deterministisch ist, so dass bei einem Zustand vor der Transaktion und einer Transaktion jeder Knoten denselben Zustand nach der Transaktion erzeugt, wodurch ein Netzwerkkonsens ermöglicht wird. Die formale Definition der EVM ist im Ethereum Yellow Paper beschrieben. EVMs wurden in C++, C#, Go, Haskell, Java, JavaScript, Python, Ruby, Rust, Elixir, Erlang und bald auch in WebAssembly implementiert. Der Absender kauft die gesamte Gasmenge (d. h. sein ETH-Guthaben wird mit Gaslimit × Gaspreis belastet und sein Gasguthaben wird auf das Gaslimit gesetzt) im Voraus, zu Beginn der Ausführung der Transaktion, und erhält am Ende eine Rückerstattung für das ungenutzte Gas. Wenn die Transaktion zu irgendeinem Zeitpunkt nicht über genügend Gas für die nächste Operation verfügt, wird die Transaktion rückgängig gemacht, aber dem Absender wird weiterhin nur das nicht verbrauchte Gas erstattet. In Benutzeroberflächen werden die Gaspreise in der Regel in Gigawei (Gwei) angegeben, einer Untereinheit von ETH, die 10-9 ETH entspricht.

### Gas

Gas ist eine Rechnungseinheit innerhalb des EVM, die für die Berechnung der Transaktionsgebühr verwendet wird. Dabei handelt es sich um den ETH-Betrag, den der Absender einer Transaktion an das Netzwerk zahlen muss, damit die Transaktion in die Blockchain aufgenommen wird. Jede Art von Operation, die vom EVM durchgeführt werden kann, ist mit einem bestimmten Gaspreis kodiert, der ungefähr proportional zum Geldwert der Ressourcen (z. B. Rechenleistung und Speicherplatz) ist, die ein Knoten aufwenden muss, um diese Operation durchzuführen.
Wenn ein Absender eine Transaktion erstellt, muss er ein Gaslimit und einen Gaspreis angeben. Das Gaslimit ist die maximale Menge an Gas, die der Absender bereit ist, für die Transaktion zu verwenden, und der Gaspreis ist der Betrag an ETH, den der Absender pro verbrauchter Gaseinheit an das Netzwerk zahlen möchte. Eine Transaktion kann nur an einem Blockslot in die Blockchain aufgenommen werden, dessen Basisgaspreis kleiner oder gleich dem Gaspreis der Transaktion ist. Der Teil des Gaspreises, der den Basisgaspreis übersteigt, wird als Trinkgeld bezeichnet und geht an den Blockproposer. Je höher das Trinkgeld, desto größer ist der Anreiz für den Blockproposer, die Transaktion in seinen Block aufzunehmen, und desto schneller wird die Transaktion in die Blockchain aufgenommen.

## Energieverbrauch

Wie einige andere Cryptowährungen wurde Ethereum zeitweise für seine schlechte Klimabilanz kritisiert. Als Staat hätten Bitcoin und Ethereum gemeinsam den zwölfthöchsten Energieverbrauch aller Staaten, hinter dem Vereinigten Königreich und Frankreich. Ethereum benötigte mit mehr als 100 TWh pro Jahr mehr Energie als die Niederlande, vor allem um die Währung zu schürfen. Mit einem Ausstoß von 50 bis 60 Millionen Tonnen CO$_2$ pro Jahr war Ethereum fast doppelt so klimaschädlich wie Europas größtes Kohlekraftwerk. Erstellt wurde Ethereum durch ein Proof-of-Work-Verfahren. Dabei werden auf der CPU oder der GPU Berechnungen (Ethash) ausgeführt. Als Belohnung erhielten einige der vielen Miner Ether. Um die Belohnungs-Chance zu erhöhen, schlossen sich Ethereum-Miner in Mining Pools zusammen. Seit August 2022 wird durch eine Programm-Aktualisierung mit einem Proof-of-Stake-Algorithmus der Energieverbrauch um 99 Prozent gesenkt, ohne dass installierte Apps, NFTs, Verträge und Wallets angepasst werden müssen.

## Kursentwicklung

Ethereum-Höchststände :
| US-Dollar / Ethereum | erstmals erreicht | benötigte Tage |
| 10 | 9. Mär. 2016 | – |
| 100 | 19. Mai. 2017 | 436 |
| 1.000 | 9. Jan. 2018 | 235 |
| 4.865 | 11. Nov. 2021 | 1.402 |
Ethereum-Allzeithoch :
| Ethereum | US-Dollar | Datum |
| 1 | 4.865,91 | 11. November 2021 |