Woordenlijst
Blockchain-infrastructuur

Smart contract

Een smart contract is een programma dat op een blockchain is opgeslagen en automatisch wordt uitgevoerd wanneer aan zijn voorwaarden is voldaan, waarbij het geld vasthoudt en verplaatst volgens zijn code, zonder dat een bedrijf, bank of rechtbank het hoeft uit te voeren. Zodra het is geïmplementeerd, leeft de code op een adres op de keten, kan iedereen de functies ervan aanroepen door een transactie te sturen, en voert elke node de aanroep identiek uit – dus de uitkomst wordt afgedwongen door het netwerk zelf in plaats van door vertrouwen in een tegenpartij.

Ethereum maakte het model populair, en smart contracts vormen nu de basis van het meeste wat er op programmeerbare blockchains gebeurt: tokens (elke ERC-20-token is een contract dat saldi bijhoudt), gedecentraliseerde exchanges, leenmarkten, NFT's en DAO's. Uniswap is bijvoorbeeld een reeks smart contracts waarmee iedereen tokens kan ruilen tegen gepoolde liquiditeit – je stuurt tokens naar het contract, de code berekent de prijs uit de reserves van de pool en geeft in dezelfde transactie het andere activum terug, zonder orderboek of tussenpersoon.

Een veelvoorkomende misvatting is dat smart contracts juridisch bindende overeenkomsten of op de een of andere manier intelligent zijn; ze zijn geen van beide – gewoon deterministische code, en "the code is the contract" betekent dat bugs net zo getrouw worden afgedwongen als bedoelingen. Geïmplementeerde contracten zijn doorgaans onveranderlijk, wat een tweesnijdend zwaard is: niemand kan stilletjes de regels wijzigen, maar een kwetsbaarheid kan catastrofaal en niet te patchen zijn, zoals herhaalde exploits van miljoenen dollars hebben laten zien. Daarom ondergaan serieuze projecten audits, en daarom bevatten sommige contracten upgrademechanismen die zelf weer afwegingen over vertrouwen introduceren.

Gidsen die dit behandelen

Gerelateerde termen