Smart Contract
# Smart Contract

Smart Contracts sind Programme, die auf einer Blockchain ausgeführt werden und es ermöglichen benutzerdefinierte Funktionalität auf einer bestehenden Blockchain, die Smart Contracts unterstützt, zu implementieren. Die Bezeichnung als "selbst-ausführende" Verträge und die Behauptung Smart Contracts könnten Verträge selbstständig durchsetzen sind sehr missverständlich, da diese selbstständige Ausführung sich auf die Blockchain auf der sie laufen beschränkt. Smart Contracts sind nicht als "Verträge" oder auch nur als ein für den normalen Endanwender verständliches Konzept zu betrachten, sondern als technischer Fachbegriff.

## Anwendungsfelder

### Tokens

Tokens repräsentieren meistens eine Kryptowährung, die nicht auf einer eigenen Blockchain basiert, sondern als Smart Contract auf einer bestehenden Blockchain implementiert wurde. Tokens können theoretisch beliebige Dinge repräsentieren, da es sich grob gesagt nur um eine Liste handelt, wer wie viele "Tokens" besitzt.

Sogenannte "ERC20-Tokens" auf der Ethereum-Blockchain sind Smart Contracts. Diese Smart Contracts "merken sich"(speichern) wer wie viele Tokens besitzt. Wenn ein Benutzer nun Tokens an einen anderen überweisen möchte, ruft dieser – in Form einer "Transaktion" die über das P2P-Netzwerk an die Miner übermittelt wird – eine Methode des Smart Contracts auf, welche zuerst prüft ob der Benutzer über ausreichend Tokens verfügt, und wenn ja die zu überwiesene Summe vom Überweisenden abzieht und beim Empfänger addiert (vereinfachte Darstellung). "ERC20" bezieht sich auf eine im ERC20-Standard (englisch) standardisierte API.

### DeFi

Beispiele:

* Dezentraler Handel von Tokens gegen andere Tokens auf derselben Blockchain oder gegen die native Währung der Blockchain (z. B. Uniswap)
* diverse spekulative Finanzinstrumente (z. B. AAVE)

## Geschichte

In den 1970er- bis 1980er-Jahren wurde der Terminus „Agoric Computing“ geprägt, um die Abbildung von Marktmechanismen wie Auktionen und Ressourcenmanagement in Software abzubilden. Inzwischen hat die Public-Key-Kryptografie die Möglichkeiten hierzu revolutioniert.

Der Begriff „Smart Contract“ wurde etwa 1993 durch den Informatiker Nick Szabo geprägt, um die Verbindung von hochentwickeltem Vertragsrecht und verwandten Disziplinen mit dem Design von E-commerce-Protokollen zu betonen. Szabo, der von Forschern wie David Chaum inspiriert wurde, erwartete, dass Spezifikationen auf Basis klarer Logik, Verifikation auf Basis kryptographischer Protokolle und andere digitale Sicherheitsmechanismen eine wesentliche Verbesserung gegenüber dem traditionellen Vertragsrecht bringen könnten, sogar für einige traditionelle Anwendungsbereiche.

Die meisten der oben zitierten Beispiele haben sich jedoch vermutlich unabhängig voneinander und von den oben genannten Entwicklungslinien entwickelt, und in der Tat sehen einige Befürworter Smart Contracts als notwendige Weiterentwicklung vieler unabhängiger Bemühungen, um Transaktionen in verschiedenen Industrien auf Basis digitaler Technologien zu verbessern. Verschiedene formale Sprachen wurden entwickelt oder vorgeschlagen, um Vertragsklauseln in Software abzubilden. Das IEEE hat dazu bereits zwei Workshops über Electronic Contracting abgehalten, die diese Bemühungen unterstützen.

Seit 2015 experimentierte UBS mit Smart Bonds, die als „Bonds“ eine Bitcoin-Blockchain verwenden und in der Zahlungsströme hypothetisch vollständig automatisiert werden könnten, wodurch ein selbstzahlendes Instrument geschaffen würde. Im Jahr 2018 beauftragte die Weltbank die Commonwealth Bank of Australia mit der Herstellung des ersten blockchain-basierten Bonds der Welt.

## Gefahren im Umgang

Der Umgang mit Smart Contracts kann ohne relativ weitreichendes Verständnis der zugrunde liegenden Technik(oder fehlerhaftem Verständnis der Sicherheitsversprechen von Smart Contracts und/oder Blockchains) zum Verlust der sich in dem eigenen Wallet befindlichen Werte führen.

In der Regel interagiert der Endbenutzer über eine dApp mit einem oder mehreren Smart Contracts. Diese dApp kann i. d. R. als Benutzeroberfläche für den Smart Contract angesehen werden. Möchte der Nutzer eine Handlung mit der dApp durchführen die Zugriff auf das eigene Wallet benötigt, generiert die dApp eine "Transaktion" die, wenn sie vom Inhaber des Wallets kryptographisch Signiert wird, an das p2p-Netzwerk der Blockchain übermittelt und in die Blockchain verewigt werden kann. Oftmals ist die dApp als normale Website im Internet aufrufbar, um über sie mit dem eigenen Wallet Handlungen auf der Blockchain durchzuführen, muss der Benutzer allerdings ein spezielles Add-on wie z. B. MetaMask installieren.

In der Regel wird die Benutzeroberfläche von einer zentralen Instanz kontrolliert und aktualisiert. Sollte eine Aktualisierung bösartig sein, kann sie Transaktionen generieren, die andere Handlungen auf der Blockchain durchführen als der Benutzer glaubt.

Da der Code der Smart Contracts an sich für den Laien nicht zu verstehen ist, gibt es keine inhärente Garantie dafür, das der Smart Contract tut was er angeblich tun soll. Wenn der Code des Smart Contracts unveränderlich ist kann er allerdings durch dritte überprüft werden. Die Unveränderlichkeit ist in der Praxis, auch auf Blockchains auf denen Smart Contracts grundsätzlich unveränderlich sind, nicht immer wirklich gegeben(Stichwort "upgradable proxy").

Es gibt keine Garantie dafür das ein Smart Contract, der eine bestimmte API implementiert, auch die Vorgaben für die Funktionsweise der API auch einhält. Es ist also z. B. möglich ein Token zu implementieren das den Anschein erweckt ein normales ERC20-Token zu sein, aber wenn die Methode zur Überweisung aufgerufen wird, statt eine Überweisung durchzuführen alle Werte die das aufrufende Wallet besitzt zu stehlen, nicht nur Einheiten des Tokens selbst, sondern auch alle anderen Werte.

## Smart Contracts in der populären Kultur

Der Science-Fiction-Roman Permanence (2002) von Karl Schroeder beschreibt eine „Rechteökonomie“, in der alle physischen Objekte mit „Nano-Tag“ versehen sind. Diese Tags enthalten die vertraglichen Regelungen und setzen sie auch durch, so dass sich z. B. eine Militärmission im All laufend über ihr „Cost-Benefit-Verhältnis“ rechtfertigen muss, ansonsten wird das Raumschiff gestoppt.

