Smart Contracts, also intelligente Verträge, sind nichts anderes als Skripte, die in der Blockchain gespeichert werden. Da diese Skripte
eine eindeutige Adresse besitzen, können sie über eine Transaktion angesprochen werden, wodurch
der Vertrag ausgelöst wird.
Das ganze kannst du dir ähnlich einer „if … then“- Bedingung vorstellen und
macht halt den Einsatz überall dort attraktiv, wo Vertrauen erforderlich ist.
Auf der Ethereum Blockchain musst du dafür mit den Ethereum eigenen Sprachen ‚Solidity‘ oder
‚Serpent‘ ein Programm schreiben, kompilieren und auf der EVM (Ethereum Virtual Machine) laufen lassen.
Beispiel:Bob setzt einen smart contract im Netzwerk ein, der folgende Funktionen definiert:
(a) Eine ‚Einzahlung‘- Funktion, die es ihm erlaubt Einheiten von X in den Vertrag zu
hinterlegen
(b) Eine ‚Handel‘- Funktion, die eine Einheit X zurücksendet, sobald sie fünf Einheiten Y
erhält
(c) Eine ‚Abheben‘- Funktion, die es Bob ermöglicht alle Vermögenswerte abzuheben, die der
Vertrag beinhaltet.
Nun sendet Bob eine Transaktion an die Adresse des Smart Contracts, ruft die ‚Einzahlung‘-
Funktion auf und deponiert 3 Einheiten von X.
Die Transaktion wird in der Blockchain aufgezeichnet.
Alice besitzt 12 Einheiten von Y, sendet 10 davon an die ‚Handel‘- Funktion des Smart Contracts
und bekommt deshalb 2 Einheiten von X zurück.
Diese Transaktion wird ebenfalls in der Blockchain aufgezeichnet.
Anschließend sendet Bob eine signierte Transaktion an die ‚Abheben‘- Funktion. Der Vertrag prüft
die Signatur, um sicherzustellen, dass diese Abhebung vom Vertragsinhaber eingeleitet wird und
überträgt alle Einzahlungen (1 Einheit X und 10 Einheiten Y) an Bob zurück.
Hoffe es ist halbwegs verständlich
Anhand von dem Beispiel erklär ich es zumindest gern.