Inhoudsopgave
les 11
Wat is Ethereum?
Wat is Ethereum?

9 min leestijd

Bijgewerkt

Wat is Ethereum?

Ethereum is net als Bitcoin een decentraal platform dat gebruik maakt van blockchain technologie. Ethereum heeft ook zijn eigen cryptocurrency genaamd Ether (ETH). Uniek aan Ethereum is dat ontwikkelaars zelf applicaties en functies kunnen maken die via alle aangesloten computers van het Ethereum-netwerk werken. Zelf noemt Ethereum zich “het meest programmeerbare netwerk van de wereld”. De visie van de bedenkers is om een onstuitbare, censuurbestendige, zelfvoorzienende en gedecentraliseerde wereldcomputer te creëren via het Ethereum-netwerk. 

Wat is precies Ethereum?

Ethereum is een decentraal platform dat opgebouwd is uit blockchain technologie. Even ter herhaling: blockchain is een technologie die transacties vastlegt. Dat kunnen transacties van geld zijn, maar ook het opslaan van een document of het versturen van een bericht kan als een transactie worden gezien. Elke transactie die gedaan wordt, wordt ook openbaar vastgelegd in de blockchain. Elke miner heeft hier een kopie van. 

Met Ethereum kan meer gedaan worden dan alleen financiële transacties. Omdat het mogelijk is om zelf applicaties en smart contracts (zie later) te programmeren voor het Ethereum-netwerk wordt Ethereum soms ook “het nieuwe internet” genoemd. 

Toepassingen van Ethereum en de blockchain

De technologie achter blockchain is niet eenvoudig. Ethereum maakt het gemakkelijker om toepassingen (applicaties, apps) te ontwikkelen die blockchain technologie gebruiken. Met deze toepassingen kun je andere transacties decentraal uitvoeren. In het Ethereum-netwerk worden deze toepassingen ‘dApps’ (decentrale apps) genoemd. Een dApp maakt gebruikt van een smart contract in combinatie met een front end user interface om het gebruik van de applicatie aangenamer te maken. Smart contracts worden verder in het artikel uitgelegd.

Hoe werkt een dApp?

Een dApp is een toepassing die ontwikkeld is via het Ethereum-netwerk en ecentrale blockchain technologie gebruikt . Transacties via een dApp zijn dus per definitie decentraal. Ter vergelijking, een bericht ( transactie) dat via Whatsappverstuurd wordt, gaat via de server van Whatsapp. Deze servers worden centraal (door één instantie) beheerd. Wanneer een transactie uitgevoerd wordt via een dApp gaat deze over de blockchain, een decentraal netwerk. Een decentraal netwerk is moeilijker te hacken en is daarom veiliger dan een centraal netwerk.

Hoe sluit je aan op het Ethereum-netwerk?

Als iemand gebruik wilt maken van de toepassingen op het Ethereum-netwerk of zelf Ether wil minen, moet hij zich aansluiten op het Ethereum-netwerk. Hiervoor moet de  software genaamd “Ethereum client” worden gedownload. Deze software verbindt de computer met alle andere computers op het Ethereum netwerk. Als de computer is verbonden, nu een node, wordt de Ethereum blockchain gedownload. Iedere node (heeft namelijk een lokale kopie van de blockchain. Dan kan de computer ook beginnen met het valideren van nieuwe blokken en deze toevoegen  aan de blockchain. 

Met de Ethereum client software kun je nog meer dingen doen. Zo kun je  verbinden met het Ethereum netwerk en het netwerk  gebruiken. Ook kunnen nieuwe transacties en nieuwe smart contracts gemaakt worden via de software, net als het uitvoeren van bestaande smart contracts. Wanneer een computer een nieuw blok valideert en toevoegt, krijgt deze net zoals bij de Bitcoin blockchain een beloning voor het uitvoeren van dit werk. De beloning is in dit geval de cryptomunt Ether. 

Wat is het verschil tussen Ethereum en Bitcoin?

Hoewel Ethereum en Bitcoin beide blockchain technologie gebruiken en cryptomunten hebben, verschillen ze op enkele belangrijke punten. In de Bitcoin blockchain wordt ongeveer elke tien minuten een nieuw blok toegevoegd. In de Ethereum blockchain wordt ongeveer elke veertien seconden een nieuw blok toegevoegd. Als op hetzelfde moment een bitcoin transactie en een Ethereum Transactie uitgevoerd wordt, zal de Ethereum transactie sneller opgenomen worden.

Ethereum is ontstaan als netwerk dat ontwikkelaars toestaat om applicaties (dApps) en smart contracts te maken en te publiceren. Het is daarmee verschillend van Bitcoin, omdat Ethereum een programmeerbaar netwerk is dat een soort marktplaats is voor financiële diensten, games en applicaties. Het betalingsmiddel op deze marktplaats is uiteraard de cryptocurrency Ether. In de Bitcoin blockchain wordt vaak de analogie van een gedistribueerd grootboek gebruikt. Omdat deze marktplaats een complexere functie heeft dan alleen het versturen en ontvangen van valuta, is een geavanceerde analogie nodig om Ethereum te beschrijven. In plaats van enkel een gedistribueerd grootboek is Ethereum een gedistribueerde machine, genaamd Ethereum Virtual Machine (EVM, zie later). 

Wat is het verschil tussen Ethereum en Ether?

De termen Ethereum en Ether worden vaak door elkaar gebruikt. Ze betekenen echter iets heel anders. Ethereum is het hele netwerk. Op dit netwerk is een token (cryptomunt) beschikbaar die een bepaalde waarde vertegenwoordigt. Met deze cryptomunt kunnen dan betalingen uitgevoerd worden. Volgens het principe van een decentraal netwerk en de blockchain worden miners ook betaald voor het validatie werk dat ze uitvoeren. De tokens op het Ethereum netwerk worden Ethers genoemd. Ethers zijn de cryptomunten. 

Wat is een smart contract?

Een smart contract (ook wel slim contract, is een contract dat zichzelf kan uitvoeren en waarbij de overeenkomstvoorwaarden tussen koper en verkoper in de code van het contract wordt geprogrammeerd. In simpele woorden is een smart contract een computerprogramma dat werkt volgens het principe “als dit gebeurt, doe dan dat”. De vele computers aangesloten op het Ethereum netwerk voeren deze programma’s uit en controleren ze om de betrouwbaarheid van het netwerk te garanderen. 

Smart contracts zijn één van de functionaliteiten die Ethereum onderscheidt van andere blockchains. Een blockchain maakt het mogelijk om op een gedistribueerde, betrouwbare manier data op te slaan. Smart contracts bieden de mogelijkheid om op een gedistribueerde, betrouwbare manier berekeningen uit te voeren. 

Hoe werken smart contracts?

Smart contracts zijn als het ware een soort Ethereum account. Ze kunnen een transactie over het netwerk sturen en ze hebben een saldo. Het verschil is dat ze niet beheerd worden door een gebruiker, maar rechtstreeks in het netwerk worden ingevoerd en uitgevoerd  worden zoals ze zijn geprogrammeerd. Gebruikersaccounts kunnen ook communiceren met een smart contract. Dit kan door transacties in te dienen die een bepaalde functie uitvoeren, dit is gedefinieerd in het betrefffende smart contract. De uitgevoerde transacties door smart contracts zijn onomkeerbaar. Het is ook onmogelijk om smart contracts te verwijderen. 

Een smart contract kan allerlei vormen en maten aannemen, maar het principe is steeds hetzelfde. Een praktisch voorbeeld is dat sommige functies van een bankrekening kunnen optreden als een smart contract. Een bankaccount heeft een saldo. Voor sommige betalingen, zoals de maandelijkse huur, is het mogelijk om een automatische betaling op te zetten. De bankrekening weet dan, dat als er voldoende geld op de bankrekening staat, dat de betaling uitgevoerd moet worden. Als er niet genoeg geld op de bankrekening staat, wordt de betaling niet uitgevoerd. In dit geval wordt het hele proces gecontroleerd door één instantie: de bank. Bij smart contracts wordt het proces gecontroleerd door de vele computers op het Ethereum netwerk. 

Ethereum Virtual Machine

De Ethereum Virtual Machine (EVM) is één enkele entiteit die wordt onderhouden door de duizenden computers verbonden met het Ethereum-netwerk via de Ethereum client software. 

Het Ethereum protocol zelf bestaat om de ononderbroken, onveranderlijke en continue werking van de EVM te garanderen. De EVM is namelijk “het brein” van Ethereum, het is de omgeving waarin alle Ethereum accounts en slimme contracten zijn opgeslagen. Om opnieuw de vergelijking te maken met het Bitcoin netwerk: het bestaan van het ethereum netwerk is een grote gegevensstructuur die niet alleen alle rekeningen en saldi bevat (zoals Bitcoin), maar ook een machinestatus (EVM). De machinestatus kan van blok tot blok veranderen volgens een vooraf gedefinieerde set regels. De EVM kan tevens willekeurige machinecode uitvoeren en de specifieke regels voor het wijzigen van de status van blok naar blok worden bepaald door de EVM. 

Een smart contract en de EVM werken op een gelijkaardige manier zoals Microsoft Excel macros en het programma Microsoft Excel. Het programma Microsoft Excel leest de kleine stukjes code die vervat zitten in een Microsoft Excel macro en voert deze vervolgens in het programma uit. De EVM leest ook de smart contracts en voert deze vervolgens uit over het Ethereum netwerk. 

Hoe worden smart contracts aangemaakt en uitgevoerd?

In theorie kan iedereen een smart contract aanmaken en op het netwerk plaatsen. Je hebt alleen voldoende programmeerkennis nodig om een smart contract te schrijven. Ook moet je genoeg ETH hebbenom het contract op het netwerk te plaatsen. 

Het maken (programmeren) van smart contracts is een essentieel onderdeel van Ethereum. Ethereum heeft dan ook zijn eigen programmeertalen ontwikkeld om deze smart contracts mee te schrijven. Solidity is de bekendste programmeertaal en is gelijkwaardig aan Javascript. Smart contracts zijn  openbaar en kunnen gezien worden als open APIs. Dit betekent dat het mogelijk is om tijdens het programmeren met andere smart contracts contact op te nemen en deze te gebruiken in een nieuw smart contract. Dit maakt de mogelijkheden van smart contracts bijna eindeloos. 

Het versturen van een contract op het netwerk wordt gezien als een transactie. Voor alle transacties op het Ethereum-netwerk moeten transactiekosten betaald worden, dit wordt ook wel ‘gas’ genoemd. De hoeveelheid gas die nodig is om een smart contract op het netwerk te sturen, is groter dan voor normale transacties. 

Gas en gasprijs

Wanneer een smart contract geactiveerd wordt, moet elke miner (computer) het  contract uitvoeren en controleren. Dit kost tijd en elektriciteit. Gas is het mechanisme dat gebruikt wordt om deze tijd en elektriciteit te vergoeden. Gas wordt ook wel vergeleken met het inbrengen van een muntje in een jukebox. Wanneer het gas (muntje) is betaald, wordt het smart contract (het liedje) uitgevoerd (afgespeeld). 

Hoe complexer een smart contract, hoe meer gas nodig is om het uit te voeren. 

De hoeveelheid gas is vastgelegd per contract, maar de gasprijs is afhankelijk van de gebruiker en het moment dat de aanvraag wordt ingediend. Elke miner kijkt naar de voorgestelde gasprijs en bepaalt of hij dit smart contract in zijn blok wil steken of niet. Hoe hoger de gasprijs, hoe gemotiveerder miners zijn om contract uit te voeren. 

Beperkingen

Hoewel er veel mogelijk is via smart contracts, zijn er ook beperkingen. Het is onmogelijk voor smart contracts om informatie op te halen uit de “echte wereld”. Ze kunnen namelijk geen HTTP-verzoeken verzenden. Dit is bewust zo gedaan. Wanneer een smart contract gebaseerd zou zijn op externe informatie uit de “echte wereld”, kan de consensus gecomprimeerd worden. De consensus is cruciaal voor de veiligheid en de decentralisatie van het netwerk. 

Een tweede beperking is dat smart contracts een maximum grootte hebben van 24 KB. Indien groter, heeft het contract niet voldoende “gas” om uitgevoerd te worden. Deze beperking kan echter omzeild worden door gebruik te maken van het “Diamond Pattern”. Een diamant is een contract met externe functies die geleverd worden door contracten, genaamd “facetten”. Facetten zijn op hun beurt dan weer afzonderlijke, onafhankelijke contracten die interne functies, bibliotheken en statusvariabelen kunnen delen.

Conclusie

Ethereum is een decentraal platform dat gebruik maakt van blockchain technologie om transacties uit te voeren. Daarmee worden  niet alleen financiële transacties bedoeld, maar ook het verzenden van berichten of het uitrekenen van vergelijkingen. Ethereum heeft ook zijn eigen cryptomunt genaamd Ether (ETH). 

Uniek aan het Ethereum netwerk is dat er niet alleen een decentraal grootboek wordt bijgehouden, maar dat het netwerk zelf programmeerbaar is. Ethereum is dus een gedecentraliseerde computer die via de aangesloten miners verspreid is over de hele wereld. 

Een belangrijk onderdeel van Ethereum zijn smart contracts. Smart contracts zijn kleine computerprogramma’s die een bepaalde functie hebben. Ze werken volgens het principe “als dit gebeurt, doe dan dat”. Iedereen kan zo’n smart contract maken en iedereen kan een bestaand smart contract activeren. Om dit te doen is gas nodig. Op het moment dat een smart contract geactiveerd wordt, moet deze namelijk door elke miner op het netwerk uitgevoerd en gecontroleerd worden op de Ethereum Virtual Machine (EVM). Het gas wordt gebruikt om de miners te betalen voor hun werk.