Was ist ein Smart Contract? Funktionsweise und Beispiele
Ein Smart Contract ist ein Programm, das auf einer Blockchain gespeichert ist und automatisch läuft, wenn festgelegte Bedingungen erfüllt sind. Ist er einmal live, kann niemand ihn stoppen, seine Regeln ändern oder eine Transaktion blockieren, die er ausführen soll. Deshalb können Smart Contracts Geld bewegen, ohne dass eine Bank oder ein Broker dazwischensteht.
Smart Contracts sind der Motor hinter dezentralen Finanzen (DeFi), dezentralen Börsen, Stablecoins und NFTs. Wenn du schon einmal in einer Wallet-App einen Token getauscht hast, hast du einen genutzt.
Was ist ein Smart Contract, einfach erklärt?
Ein Smart Contract ist ein Satz von „Wenn dies, dann das“-Regeln, als Code geschrieben und in einem Blockchain-Netzwerk gespeichert. Sind die vorab festgelegten Bedingungen erfüllt, führt der Contract seine Anweisungen selbstständig aus, und das Ergebnis wird auf der Blockchain festgehalten, wo es jeder prüfen kann.
Der klassische Vergleich ist ein Snackautomat. Du wirfst den richtigen Betrag ein, wählst einen Snack, und der Automat gibt ihn heraus. Niemand muss dein Geld prüfen oder den Verkauf genehmigen: Die Regeln sind in den Automaten eingebaut. Smart Contracts funktionieren für digitale Vermögenswerte genauso. Der Informatiker Nick Szabo beschrieb die Idee in den 1990er-Jahren, praktikabel wurde sie aber erst, als Ethereum 2015 mit einer Blockchain startete, die dafür gebaut war, solche Computerprogramme auszuführen.
Trotz des Namens ist ein Smart Contract kein rechtlicher Vertrag. Er ist Software. Er kann die Bedingungen umsetzen, auf die sich zwei Parteien einigen, ersetzt aber weder rechtliche Verträge noch die Klärung von Streitigkeiten vor Gericht.
So funktionieren Smart Contracts
Smart Contracts funktionieren in vier Schritten: Sie werden geschrieben, bereitgestellt, ausgelöst und ausgeführt.
- Geschrieben. Ein Entwickler schreibt den Code des Smart Contracts in einer Programmiersprache, auf Ethereum meist in Solidity.
- Bereitgestellt. Der Code wird auf einer Blockchain gespeichert und bekommt eine eigene Contract-Adresse, so wie eine Wallet eine Adresse hat. Von da an liegt er auf einer Blockchain, auf der jeder Knoten eine Kopie hält.
- Ausgelöst. Jemand sendet eine Transaktion an die Contract-Adresse, zum Beispiel, um Token zu tauschen oder Geld einzuzahlen.
- Ausgeführt. Jeder Knoten im Netzwerk führt den Code auf dieselbe Weise aus, auf Ethereum in der Ethereum Virtual Machine, und einigt sich auf das Ergebnis. Sind die Bedingungen erfüllt, bewegt der Contract das Geld. Wenn nicht, schlägt die Transaktion fehl.
Jeder Schritt kostet Rechenleistung, deshalb zahlst du für jede Transaktion eine Gas-Gebühr an das Netzwerk. Bei Netzwerküberlastung steigen diese Gebühren, und ein einfacher Swap kann mehr kosten, als der Trade wert ist.
Woher Smart Contracts externe Daten bekommen
Eine Blockchain kann die reale Welt nicht von sich aus sehen. Ein Contract, der auszahlt, wenn der Euro einen bestimmten Kurs erreicht, braucht externe Daten. Diese Daten kommen von „Oracles“, Diensten, die Daten aus der realen Welt wie Kurse oder Wetter in die Blockchain einspeisen. Sie sind auch eine Schwachstelle: Meldet ein Oracle einen falschen Preis, führt der Contract seine Anweisungen auf Basis falscher Daten aus.
Ein Beispiel für einen Smart Contract
Angenommen, du willst auf einer dezentralen Börse Ether im Wert von 500 € gegen einen Euro-Stablecoin tauschen. Du verbindest deine eigene Wallet und bestätigst den Swap. Ein Smart Contract prüft dann dein Guthaben, berechnet den Preis aus den Token in seinem Liquiditätspool, nimmt dein Ether und schickt den Stablecoin zurück, alles in einer Transaktion. Zu keinem Zeitpunkt hält ein Unternehmen dein Geld, und wenn etwas fehlschlägt, wird die ganze Transaktion rückgängig gemacht, und nur die Gas-Gebühr ist verbraucht.
Weitere Beispiele für Smart Contracts, die du bei Krypto findest:
- Token. Jeder ERC-20-Token, auch die meisten Stablecoins, ist ein Smart Contract, der festhält, wem wie viel gehört.
- Lending. DeFi-Lending-Apps halten Einlagen und geben Kredite automatisch frei, wenn genug Sicherheiten gesperrt sind.
- Non-Fungible Tokens. NFT-Contracts halten Eigentumsrechte an einem bestimmten digitalen Objekt fest.
- Governance. DAOs nutzen Smart Contracts, um Stimmen zu zählen und Entscheidungen umzusetzen.
Außerhalb von Krypto haben Unternehmen Smart Contracts für Lieferketten-Management, Versicherungsauszahlungen, Immobiliengeschäfte und Dokumente im Welthandel getestet. Diese Ideen sind vielversprechend, aber der Einsatz in der realen Welt ist im Vergleich zu DeFi größtenteils noch gering.
Die möglichen Vorteile von Smart Contracts
Smart Contracts bieten gegenüber klassischen Verträgen mehrere Vorteile, wenn die Regeln einfach und die Vermögenswerte digital sind:
- Automatisch. Sie werden automatisch ausgeführt, sobald die Bedingungen erfüllt sind, ohne Papierkram und ohne auf eine Bank zu warten.
- Transparent. Der Code und alle Blockchain-Transaktionen sind öffentlich, sodass jeder sehen kann, was ein Contract tut.
- Weniger Mittelsmänner. Intermediäre auszuschalten kann Verwaltungskosten senken und zentrale Ausfallpunkte beseitigen.
- Schwer zu manipulieren. Weil Blockchain-Einträge unveränderlich sind, kann niemand heimlich eine vergangene Transaktion ändern.
Entwicklung von Smart Contracts
Die Entwicklung von Smart Contracts ist eine spezielle Art des Programmierens, weil Fehler öffentlich und meist dauerhaft sind. Auf Ethereum und kompatiblen Netzwerken schreiben Entwickler meist in Solidity; andere Blockchains nutzen andere Sprachen, etwa Rust auf Solana. Vor dem Start testet ein sorgfältiges Team den Code, veröffentlicht ihn, damit jeder ihn lesen kann, und bezahlt externe Prüfer, die nach Schwachstellen suchen. Viele Projekte betreiben außerdem Bug-Bounty-Programme, die Hacker dafür bezahlen, Probleme zu melden, statt sie auszunutzen.
Für dich als Nutzer ist dieser Prozess etwas, das du prüfst, nicht etwas, das du selbst tust. Ein Projekt mit öffentlichem, geprüftem Code, einer langen Historie und vielen Nutzern birgt trotzdem Risiken, ist aber eine viel kleinere Wette als ein Contract, den ein anonymes Team letzte Woche gestartet hat.
Risiken und Schwachstellen von Smart Contracts
Das größte Risiko von Smart Contracts ist, dass Code genau das tut, was er sagt, einschließlich seiner Fehler. Fehlerhaften Code kann man nicht mit einem Anruf beim Kundenservice reparieren, und ein gestohlenes Guthaben lässt sich meist nicht zurückholen.
Der bekannteste Fall ist The DAO im Jahr 2016, ein früher Investmentfonds auf Ethereum, der von einem Smart Contract betrieben wurde. Ein Bug erlaubte einem Angreifer, einen großen Teil seines Ethers abzuziehen, und die Ethereum-Community spaltete das Netzwerk mit einem Hard Fork, um das rückgängig zu machen. Seitdem sind Schwachstellen in Smart Contracts einer der Hauptwege geblieben, auf denen DeFi-Nutzer Geld verlieren.
Achte auf diese Risiken:
- Bugs. Auch geprüfte Contracts wurden schon gehackt. Ein Audit senkt das Risiko, es beseitigt es nicht.
- Admin-Schlüssel. Viele Contracts können von dem Team, das sie gebaut hat, aktualisiert oder pausiert werden. Das hilft, Bugs zu beheben, bedeutet aber, dass du diesem Team vertraust.
- Unbegrenzte Freigaben. Wenn du eine DeFi-App nutzt, bittet dich deine Wallet oft, dem Contract zu erlauben, deine Token auszugeben. Eine unbegrenzte Freigabe an einen bösartigen oder gehackten Contract erlaubt ihm, diesen Token komplett aus deiner Wallet abzuziehen. Gib nur den Betrag frei, den du brauchst, und widerrufe alte Freigaben.
- Gefälschte Contracts. Betrüger kopieren beliebte Token. Prüfe die Contract-Adresse auf der offiziellen Website des Projekts, bevor du kaufst.
Smart Contracts und EU-Regeln
In der EU reguliert MiCA Unternehmen, die Krypto-Dienstleistungen erbringen, nicht Code. Dienstleistungen, die vollständig dezentral ohne jeden Intermediär erbracht werden, fallen nicht unter MiCA. Hinter den meisten DeFi-Apps steht deshalb kein lizenziertes Unternehmen und keine Aufsichtsbehörde, bei der du dich beschweren kannst.
Das ist für dich der praktische Unterschied. Kaufst du Krypto bei einer Börse mit MiCA-Lizenz, hast du ein beaufsichtigtes Unternehmen mit einem Beschwerdeverfahren. Nutzt du einen Smart Contract aus deiner eigenen Wallet, hast du mehr Kontrolle, aber kein Sicherheitsnetz. Das gehört zum Kompromiss der Selbstverwahrung. Wenn das neu für dich ist, fang mit kleinen Beträgen an und lies zuerst unsere Seite zu DeFi.
Das Fazit
Ein Smart Contract ist Code auf einer Blockchain, der von selbst läuft, wenn Bedingungen erfüllt sind. Er macht Token, DEX-Swaps und DeFi-Lending ohne Mittelsmann möglich, aber Bugs, falsche Daten und nachlässige Freigaben können dich Geld kosten, das dir niemand zurückgeben kann. Nutze bekannte Contracts, gib nur frei, was du brauchst, und halte größere Beträge von experimentellen Apps fern.
Verwandte Begriffe
Häufige Fragen
Was ist ein Smart Contract, einfach erklärt?
Ein kleines Programm auf einer Blockchain, das genau das tut, was sein Code vorgibt, wenn bestimmte Bedingungen erfüllt sind, etwa Token zu senden, sobald eine Zahlung eingeht. Niemand kann es auf halbem Weg stoppen oder ändern.
Ist Bitcoin ein Smart Contract?
Nein. Bitcoin hat ein einfaches Skriptsystem, das grundlegende Bedingungen unterstützt, etwa Zahlungen, die mehrere Signaturen brauchen, aber es wurde nicht für komplexe Programme entwickelt. Ethereum und ähnliche Netzwerke wurden für Smart Contracts gebaut.
Kann man Smart Contracts vertrauen?
Du kannst darauf vertrauen, dass ein Smart Contract so läuft, wie er geschrieben ist, aber nicht darauf, dass er gut geschrieben ist. Bugs, Admin-Schlüssel und falsche Preisdaten haben große Verluste verursacht. Ein Contract ist also nur so vertrauenswürdig wie sein Code und das Team dahinter.
Sind Smart Contracts rechtlich bindend?
Nicht automatisch. Ein Smart Contract ist Code, kein rechtlicher Vertrag, auch wenn er genutzt werden kann, um eine rechtlich bindende Vereinbarung umzusetzen. Ob ein Gericht ihn als Vertrag behandelt, hängt vom nationalen Recht ab.
Wie schreibt man einen Smart Contract?
Entwickler schreiben Smart Contracts in einer Programmiersprache wie Solidity, testen sie und stellen sie dann gegen eine Gas-Gebühr auf einer Blockchain bereit. Große Projekte bezahlen vor dem Start meist ein unabhängiges Sicherheitsaudit.