Smart Contract
Ein Smart Contract ist ein auf einer Blockchain gespeichertes Programm, das automatisch läuft, wenn seine Bedingungen erfüllt sind, und gemäß seinem Code Guthaben hält und bewegt, ohne dass ein Unternehmen, eine Bank oder ein Gericht es ausführen müsste. Sobald er bereitgestellt ist, liegt der Code unter einer Adresse in der Blockchain, jeder kann seine Funktionen durch Senden einer Transaktion aufrufen, und jeder Node führt den Aufruf identisch aus – das Ergebnis wird also vom Netzwerk selbst durchgesetzt und nicht durch Vertrauen in eine Gegenpartei.
Ethereum hat das Modell populär gemacht, und Smart Contracts bilden inzwischen die Grundlage der meisten Vorgänge auf programmierbaren Blockchains: Token (jeder ERC-20-Token ist ein Contract, der Guthaben nachhält), dezentrale Börsen, Kreditmärkte, NFTs und DAOs. Uniswap ist zum Beispiel eine Reihe von Smart Contracts, mit denen jeder Token gegen gebündelte Liquidität tauschen kann – Sie senden Token an den Contract, sein Code berechnet den Preis aus den Reserven des Pools und gibt in derselben Transaktion den anderen Vermögenswert zurück, ohne Orderbuch und ohne Vermittler.
Ein verbreiteter Irrtum ist, dass Smart Contracts rechtlich bindende Vereinbarungen oder irgendwie intelligent seien; sie sind weder das eine noch das andere – nur deterministischer Code, und „der Code ist der Vertrag“ bedeutet, dass Fehler ebenso getreu durchgesetzt werden wie Absichten. Bereitgestellte Contracts sind typischerweise unveränderlich, was ein zweischneidiges Schwert ist: Niemand kann die Regeln unbemerkt ändern, aber eine Schwachstelle kann katastrophal und nicht behebbar sein, wie wiederholte Exploits im Millionen-Dollar-Bereich gezeigt haben. Deshalb lassen seriöse Projekte Audits durchführen, und deshalb enthalten manche Contracts Upgrade-Mechanismen, die ihrerseits Zielkonflikte beim Vertrauen mit sich bringen.