# Ethereum

Ethereum is een opensourceplatform en voorheen miningnetwerk voor diverse cryptovaluta waaronder de eigen cryptovaluta ether (ETH). Dit decentrale netwerk is gebaseerd op het blockchain-concept. Het miningnetwerk werd ontwikkeld om het gebruik van ASICs tegen te gaan doordat minen veel geheugen vergt. Dit werd gedaan om centralisatie van het minen tegen te gaan (zodat iemand het miningnetwerk niet kan overnemen). Sinds september 2022 gebruikt Ethereum een proof of stake consensus mechanisme dat niet werkt met miners.
Er is één blockchain waarin zowel de transacties in ether worden vastgelegd, als die van andere cryptovaluta (waaronder de stablecoins USDT van Tether, en USDC en PAX) en honderden tokens. Deze blockchain kan ook het verloop van andere data bijhouden en bevat daarnaast smart contracts, die een transactie mogelijk maken, bevestigen en onomkeerbaar maken. Bij een meerderheid van de initial coin offerings (ICO's) wordt gebruik gemaakt van de blockchain van Ethereum.
Ethereum werd in 2013 mede door Vitalik Buterin ontwikkeld en opgezet. In 2016 was er een fork, sindsdien is er ook Ethereum Classic (ETC).

## Ether

De 'ether' is de betaaleenheid in het platform. Naast de code ETH wordt ook het symbool Ξ gebruikt, de Griekse hoofdletter xi. Een wei is 10$^{−18}$ ETH, een Gwei (gigawei) is dus 10$^{−9}$ ETH.
Sinds mei 2016 steeg de koers van de ether van circa 8 euro naar 1000 euro. Samen met de bitcoin en andere virtuele munten kende de ether een sterke koersstijging in 2020/2021 en staat hij ruim boven de US$ 1500. Op 2 april 2021 werd voor het eerst de US$ 2.000 bereikt en overtroffen. In mei 2021 zijn er 116 miljoen ether in omloop. De marktwaarde is dus meer dan 200 miljard US dollar.
Er is ook een exchange-traded note (ETN) op basis van Ethereum/ether.

## Gas

Voor het uitvoeren van transacties wordt "gas" verbruikt, de hoeveelheid werk uitgedrukt in een getal. "Dit kost 20 gas" betekent dat het 20 eenheden gas kost. Het aantal gas(eenheden) wordt gedetailleerd op het niveau van elementaire operaties bijgehouden. De kosten zijn dit aantal maal de gasprijs. De gasprijs wordt uitgedrukt in Gwei per eenheid. Vooraf wordt een hoeveelheid gas naar keuze betaald. Het te veel betaalde krijgt men terug. Als tijdens de transactie (dit kan een keten van transacties zijn) het gas opraakt wordt wat al gedaan is teruggedraaid, maar wordt het gas niet terugbetaald.

## Beloning voor het delven van een blok

De beloning voor het delven van een blok bestaat uit vier componenten, waarvan de grootste zijn een vast bedrag van ETH 2 (nieuw uitgegeven ether) en de gaskosten.

## Accounts

Ethereum heeft twee soorten accounts: Externally Owned Accounts (EOAs) en contracten. Beide soorten hebben een adres en kunnen ether ontvangen en betalen. Een contract bevat een computerprogramma en verricht op basis daarvan handelingen na het ontvangen van een transactie met instructies. De handelingen kunnen zijn betalingen aan EOA's of andere contracten, of transacties met instructies aan andere contracten. Ieder EOA kan een contract in de blockchain plaatsen; dit EOA is dan de eigenaar van het contractadres. Voor het maken van een EOA kiest de maker een geheime sleutel en leidt daar op basis van een openbaar algoritme een adres uit af. Met de geheime sleutel kan over de bezittingen van een adres beschikt worden. Normaal gesproken weet slechts één persoon de geheime sleutel van een adres; deze is de houder ervan, en de bezittingen van het adres zijn bezittingen van die persoon. Iedereen kan, zonder zelf de geheime sleutel te kunnen bepalen, een met een geheime sleutel gecodeerde transactie decoderen en daarbij ook bepalen of deze gemaakt moet zijn door iemand die de geheime sleutel van het opgegeven adres van de afzender kent, en dus gerechtigd is te beschikken over de bezittingen van het adres. Een contract heeft wel een adres maar geen sleutel. Iedereen kan een contract een instructie sturen. Of het contract daar iets mee doet, en zo ja wat, hangt af van de inhoud ervan. Een contract doet niets zonder instructie, het is niet een op de achtergrond werkend programma. Een contract kan toestandsvariabelen hebben, dat wil zeggen variabelen waarvan de waarde na het uitvoeren van een instructie blijft opgeslagen en dus later weer gebruikt kan worden.

## Eenvoudig voorbeeld van een contract: geldkraan

Een eenvoudig voorbeeld is een contract dat aan iedereen die daarom vraagt een bedrag tot een bepaald maximum geeft. Donateurs kunnen ether overmaken naar het contract (het overmaken gaat hetzelfde als naar een EOA), dat dan werkt zolang het saldo toereikend is. Het vragen van ether gaat met een instructie aan het contract met als parameter het gewenste bedrag.

## Voorbeeld van NFTs: CryptoPunks

Een ander voorbeeld van een contract is het contract van Crypto Punks. Het regelt het bezit van en de handel in een serie van 10000 non-fungible tokens (NFT's), en wel kleine afbeeldingen van 24×24 pixels, CryptoPunks genoemd. Ze zijn gratis exact te bekijken. Dit contract op de Ethereum blockchain bevat niet de afbeeldingen zelf, maar wel een hash van het geheel, zodat iedereen kan controleren of een geheel van dergelijke afbeeldingen overeenkomt met het origineel.

## The DAO

The DAO, ook geschreven TheDAO, was een decentrale autonome organisatie op Ethereum (bestaande uit een aantal contracten). Deze was gestart in 2016, en er werd al snel 12 miljoen ether (14% van alle ether), met destijds een waarde van 150 miljoen dollar, in geïnvesteerd door het kopen van DAO-tokens. Er zaten echter kwetsbaarheden in het systeem. Die werden uitgebuit, waarbij in totaal 4 miljoen ether, met destijds een waarde van 50 miljoen dollar, werd "buitgemaakt". Er was wel een beveiliging, waardoor de betreffende etherbedragen 27 dagen niet uitgegeven of ingewisseld konden worden. Er was toen nog tijd om de betreffende transacties eventueel op de blockchain terug te draaien. Doordat hier verschillende meningen over waren ontstond er een fork, waarbij de tak zonder terugdraaiing Ethereum Classic (ETC) is gaan heten, en die met terugdraaiing de naam Ethereum (ETH) heeft gehouden.

## Upgradegeschiedenis

De oorspronkelijke alfa-versie van de Ethereum-blockchain heette Frontier. Haar ontwikkelaars garandeerden geen beveiliging.
De eerste upgrade van de Ethereum-blockchain vond plaats op 14 mei 2016 op blokhoogte 1.150.000. De nieuwe versie van het protocol werd Homestead genoemd. De update heeft de canary contracts uit het netwerk verwijderd.
Er werd aangekondigd dat op mijnbouw gebaseerde netwerkbeveiliging (proof-of-work) enkel in de beginfase wordt gepland met een latere overgang naar uitsluitend proof-of-stake-mining met een hybride model in de tussenfase. De hoge eisen die aan het videogeheugen (GPU) werden gesteld (in juli 2017 was 2,04 GB vereist) boden bescherming tegen het gebruik van gespecialiseerde processoren (ASIC's) voor mijnbouw. De plannen zijn anno 2021 verder gevorderd.
Metropolis-upgrade: Byzantium betekende het begin van de overgang naar de proof-of-stake-methode.
Lancering van Metropolis: Constantinopel ging live op 28 februari 2019 en bereidde het netwerk voor op de overgang naar het Casper POS-protocol en de opheffing van het voormalige mijnbouwmodel, die plaatsvond in het eerste kwartaal van 2019.
De volgende upgrade Istanbul was gepland bij blok 9069000 (verwacht op 4 december 2019), maar de upgrade werd uiteindelijk geactiveerd op het hoofdnetwerk van Ethereum op 8 december 2019. De belangrijkste doelstellingen van Istanbul waren om de Ethereum-blockchain compatibel te maken met de anonieme cryptovaluta Zcash en om de schaalbaarheid van het netwerk te verbeteren dankzij de protocollen zk-SNARKs en zk-STARKs. Bovendien maakte de upgrade DoS-aanvallen op het netwerk moeilijker door de gaskosten voor het uitvoeren van opcodes te wijzigen. Istanbul bestond uit twee delen. De overgang naar het tweede deel, Berlin, vond plaats op 15 april 2021.

### Ethereum 2.0

Ethereum 2.0 bestaat uit verschillende upgrades van het Ethereum-protocol:
* "Phase 0" (of "Beacon Chain") werd gelanceerd op 1 december 2020 en creëerde de Beacon Chain, een proof-of-stake blockchain die zal fungeren als de centrale coördinatie en consensus hub van Ethereum 2.0.
* "Fase 1" (of "The Merge") zal de Beacon Chain samenvoegen met het huidige Ethereum-netwerk, waarbij het consensusmechanisme wordt overgezet van proof-of-work naar proof-of-stake. De samenvoeging is een lang geplande protocolupgrade geweest gericht op het verbeteren van het netwerk, en wordt beschouwd als de belangrijkste upgrade die Ethereum heeft gemaakt in zeven jaar sinds het begon. "The merge" is de voltooiing van de overgang naar proof of stake via de samenvoeging van de oorspronkelijke Ethereum execution blockchain (live sinds 2015) met de nieuwere proof of stake consensus blockchain, of "Beacon Chain", die zijn ontstaan pas in december 2020 had. Als de overstap naar proof of stake succesvol is, zal het de komende jaren "de weg vrijmaken voor ontwikkelaars om een groot aantal nieuwe functies in het netwerk te introduceren" die de doorvoer van transacties (die de 100.000 transacties per seconde benaderen) zullen verhogen en het netwerk duurzamer zullen maken. In augustus 2022 bereikten de Ethereum Core Developers overeenstemming rond de definitieve protocol-upgradeparameters, hetgeen resulteerde in een meer specifieke geplande datum voor "The Merge" van ongeveer half september.
* "Fase 2" (of "Shard chains") zal de vastlegging van mutaties in parallelle ketens (shards) implementeren, waarbij verwacht wordt dat de huidige Ethereum 1.0 keten een van de shards van Ethereum 2.0 wordt. Shard ketens zullen de belasting van het netwerk verdelen over 64 nieuwe ketens. Deze fase zal naar verwachting in 2023 worden vrijgegeven.