De tweede generatie blockchain: smart contracts

De Bitcoin bewees dat je geen centrale autoriteit nodig hebt voor een geldsysteem. De eerste jaren van de cryptowereld stonden in het teken van verkrijgen, bewaren, wisselen en besteden van digitaal geld. Voor Vitalik Buterin was dat niet genoeg.

De tweede generatie blockchain: smart contracts
0%
Bert Slagter
Door Bert Slagter

In de loop van 2013 stelde Buterin dat Bitcoin eigenlijk een betere programmeertaal nodig had. Script, de taal waarin de transacties van Bitcoin worden geschreven, is een stack-based programmeertaal, waarin alleen heel eenvoudige programma's kunnen worden geschreven.

Buterin besloot om een nieuw project te starten, en begin 2014 begon hij met een team te werken aan Ethereum. Doel? Een blockchain waarmee je meer kunt dan alleen geld maken.

"I first wrote the initial draft of the Ethereum whitepaper on a cold day in San Francisco in November, as a culmination of months of thought and often frustrating work into an area that we have come to call "cryptocurrency 2.0″ – in short, using the Bitcoin blockchain for more than just money.

UTXO's en rekeningen

De bouwsteen van Bitcoin is de unspent transaction output, of UTXO. Je zou dat kunnen zien als een zakje met een bepaald bedrag aan bitcoins dat alleen door jou te besteden is, omdat jij de private key bezit.

In een transactie wordt zo'n UTXO verdeeld in één of meerdere stukken, en die stukken zijn daarna door de nieuwe eigenaar te besteden. Er bestaat niet zoiets als een bitcoin-rekening, maar er is een verzameling van UTXO's die alleen jij kunt besteden.

De bouwsteen van Ethereum is niet een UTXO, maar een rekening. De blockchain legt de staat van alle rekeningen vast. In een transactie worden wijzigingen aan saldo's op rekeningen vastgelegd.

Bij Ethereum zijn er twee soorten rekeningen:

  1. Externally Owned Accounts (EAO's) worden bediend door mensen en kunnen worden beheerd met de juiste private key. Het is vergelijkbaar met een bankrekening.
  2. Contract Accounts worden beheerd door de programmacode die op dat adres gepubliceerd is. Die programmacode heet een (smart) contract. Zo'n contract wordt geprogrammeerd door een mens en gepubliceerd op een bepaalde rekening, maar tenzij dit expliciet is vastgelegd in de code kan de maker niet bij de rekening.

Smart contracts

Deze programmeerbare rekeningen die Ethereum introduceerde, openen een totaal nieuwe wereld aan mogelijkheden.

Een contract kan een bedrag verdelen volgens een bepaalde verdeelsleutel en doorsturen naar andere rekeningen. Het kan een bedrag een bepaalde tijd vasthouden en dan wekelijks een stukje doorsturen. Zo'n beetje alles wat je kunt verzinnen, kun je programmeren.

Voor de hand ligt om slimme dingen te doen met geld. Escrow, leningen, crowdfunding, weddenschappen, micropayments en apparaten elkaar laten betalen.

Al iets spannender wordt het als je je realiseert dat je ook data kunt opslaan bij een smart contract, op de blockchain. Denk aan digitaal stemmen, vastleggen van een testament of bewijs van copyright.

Maar het interessantst is misschien wel dat een smart contract in ruil voor een betaling een aantal tokens kan teruggeven. Zo kun je op de Ethereum-blockchain je eigen munt maken, waarvan de waarde en de economie los staat van ETH. Of een fysiek ding, zoals een auto of schilderij, een representatie geven door er een uniek token te koppelen die kan worden overgedragen.

Platform

De tweede generatie blockchain heeft als belangrijkste kenmerk dat erop geprogrammeerd kan worden. De blockchain is eigenlijk een platform waarop anderen hun apps kunnen bouwen.

Naast Ethereum zijn er andere platforms gekomen waarop dit kan, zoals NEO, Cardano, WAVES en Qtum. Maar Ethereum is tot nu toe verreweg de grootste, gemeten in aantal projecten dat er gebruik van maakt.

Ethereum is de ultieme representant van de tweede generatie blockchains. De eerste en de grootste, het toont wat er allemaal kan, maar ook wat de drempels nog zijn voor echt wereldwijd succes van blockchain.

Drempels daarvoor zijn bijvoorbeeld hoge transactiekosten, lange wachttijd, gebrek aan privacy, gebrek aan bestuur, hoge energiekosten, bugs in smart contracts en gebrek aan uitwisselbaarheid tussen blockchains.

Daarover gaat het in het volgende artikel over blockchain 3.0.

Dit artikel heeft deze tags

Over de auteur

Bert Slagter

Bert Slagter

Medeoprichter van LekkerCryptisch. Achtergrond in informatica en natuurkunde. Bouwt mooie software, teams en bedrijven. Student van geopolitiek, macro-economie, complexe systemen en waarschijnlijkheid. Op zoek naar het signaal in de ruis.

Steun

LekkerCryptisch wordt gesteund door BLOX.

Altijd op de hoogte