Begriff
Smart Contract
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Ein normaler Vertrag ist Papier + Anwalt + Gericht (falls einer bricht). Ein Smart Contract ist Code, der auf der Blockchain lebt. Er hat die Logik eingebaut: "WENN Person A mir 5 Euro schickt, DANN schicke ich ihr automatisch das digitale Bild." Niemand kann das stoppen. Niemand kann betrügen. Der Code ist Gesetz ("Code is Law"). Er ist wie ein Getränkeautomat: Du wirfst Geld rein, Cola kommt raus. Du brauchst keinen Verkäufer, dem du vertrauen musst.
Merksatz: Ein selbstausführender Vertrag, dessen Bedingungen direkt in Codezeilen geschrieben sind und der automatisch auf einer Blockchain ausgeführt wird.
Hauptplattform: Ethereum. Sprache: Solidity. Beispiele:
- DeFi (Uniswap): Ein Roboter-Börsenmakler. Tauscht Token A gegen B, vollautomatisch 24/7.
- NFTs: Ein Smart Contract, der sagt: "Dieses JPEG gehört Adresse X."
- DAOs: Eine Firma ohne Chef. Der Smart Contract verwaltet das Geld und führt Abstimmungen durch.
1. Immutability (Unveränderlichkeit)
Einmal hochgeladen ("deployed"), kann der Code nie wieder geändert werden. Gefahr: Wenn ein Bug drin ist, bleibt er drin. Für immer. Hacker können den Bug nutzen und Millionen stehlen (DAO Hack 2016). Man kann "Upgrade-Patterns" nutzen (Proxy Contracts), aber das macht es kompliziert und zentralisierter.
2. Gas Fees
Code ausführen kostet Strom. Auf Ethereum musst du für jeden Rechenschritt (Opcode) Gas (in Ether) bezahlen. Schlechter Code (Endlosschleife) wird abgebrochen, wenn das Gas alle ist ("Out of Gas"). Das verhindert, dass jemand das Netzwerk mit Spam lahmlegt (Halting Problem gelöst durch Bezahlung).
1. Reentrancy Attacks (Der DAO-Hack)
Der berühmteste Bug in Smart Contracts ist die Reentrancy. Stell dir vor, du willst Geld von einem Vertrag abheben.
- Der Vertrag prüft dein Saldo (100 €).
- Der Vertrag sendet dir die 100 €.
- Der Vertrag setzt dein Saldo auf 0 €.
Das Problem: Wenn du einen bösartigen Vertrag als Empfänger nutzt, kann dieser während Schritt 2 (beim Empfang des Geldes) sofort wieder die
Abheben-Funktion aufrufen. Da Schritt 3 noch nicht erreicht wurde, steht dein Saldo immer noch auf 100 €! Der Hacker kann den Vertrag leerspaugen ("re-entern"), bevor der Saldo jemals auf Null gesetzt wird. In Solidity nutzt man heute das Checks-Effects-Interactions Pattern: Zuerst Saldo auf 0 setzen, dann das Geld schicken.
2. Die EVM (Ethereum Virtual Machine) & Opcodes
Ein Smart Contract wird nicht direkt ausgeführt, sondern in Bytecode für die EVM kompiliert. Jeder Befehl (Opcode) hat feste Kosten.
ADD(Addieren): 3 Gas.SSTORE(Speichern auf die Blockchain): bis zu 20.000 Gas. Das Speichern von Daten ist extrem teuer (da jeder Rechner auf der Welt diese Daten für immer speichern muss). Profis optimieren Smart Contracts auf Assembler-Ebene, indem sie Variablen packen (Variable Packing). Zwei 128-Bit-Zahlen in einen 256-Bit Slot zu quetschen spart 20.000 Gas pro Schreibvorgang – bei Millionen von Transaktionen spart das den Nutzern Millionen von Euro in echten Gebühren.
3. Oracles & The Trust Gap
Smart Contracts sind wie ein Computer ohne Internetkabel. Sie dürfen aus Sicherheitsgründen (Determinismus) keine API-Requests an die Außenwelt stellen. Wenn ein Wett-Contract wissen will: "Wer hat das Fußballspiel gewonnen?", kann er das nicht selbst googlen. Er braucht ein Oracle (z. B. Chainlink). Dies ist ein Drittanbieter-Netzwerk, das die Information "Real-World $\rightarrow$ Blockchain" pusht. Dies ist der schwächste Punkt: Wenn der Oracle-Feed gehackt oder manipuliert wird (Oracle Manipulation), führt der Smart Contract seine Logik auf Basis von Lügen aus. Viele DeFi-Hacks basieren darauf, dass Angreifer den Preis-Feed eines Oracles kurzzeitig manipulieren, um den Smart Contract zu billigen Verkäufen zu zwingen.
Quick-Check
Sind sie rechtlich bindend?
Grauzone. In vielen Ländern ja, aber wenn der "Code is Law" sagt: "Hacker darf Geld behalten", sagt das echte Gericht meist: "Nein, das ist Diebstahl."Können sie das Wetter abfragen?
Nein. Blockchains sind isoliert. Sie kennen nur ihre eigenen Daten. Um Daten aus der echten Welt (Wetter, Aktienkurse) zu bekommen, braucht man Oracles (z. B. Chainlink).Ist Bitcoin ein Smart Contract?
Ein sehr primitiver (Script). Ethereum wurde erfunden (von Vitalik Buterin), weil Bitcoin nicht Turing-vollständig ist (keine Schleifen) und deshalb keine komplexen Apps erlaubt.