IOTA Smart Contracts | IOTA-Wiki.com

Von | Letzte Aktualisierung: 21.02.2021
Bevor wir uns mit IOTAs Smart Contracts auseinandersetzen, sollten wir erstmal klären, was „Smart Contracts“ überhaupt sind. Smart Contracts sind Computerprotokolle, die Verträge innerhalb eines Distributed Ledger Systems überprüfen und Rechtssicherheit gewähren. Die Vorteile sind hier einerseits Sicherheit und andererseits der Wegfall von Vermittlern. Denken Sie an einen Hauskauf: Person A kauft von Person B ein Haus. Für gewöhnlich werden jetzt Anwälte und Notare hinzugezogen, dann gibt es noch Grundbucheinträge und vieles mehr.

Das alles könnte wegfallen, indem man sich auf Smart Contracts verlässt, die automatisch durch Erreichen bestimmter Bedingungen in Kraft treten können. In diesem Fall wäre dies die Überweisung von Geld: Person A überweist Person B die notwendige Summe für den Hauskauf. Anschließend wird der Vertrag automatisch die notwendigen Einträge im Netzwerk vornehmen und das Haus auf Ihren Namen übertragen.

Auch im Softwarebereich sind Smart Contracts sehr hilfreich: Durch automatisierte Checks für Vertragseinhaltungen lässt sich etwa Software ausschalten, wenn der Kunde nicht den dafür monatlich fälligen Betrag überwiesen hat. In Anwendungsbereichen der echten Welt gibt es ebenfalls kaum Grenzen. Ein Ehepaar etwa könnte einen QR-Code mit dem Smartphone einscannen. Dieser Ehevertrag landet im Distributed Ledger Netzwerk und ist dann juristisch bindend.

Smart Contracts bieten viele spannende Anwendungsbereiche.

Smart Contracts bei IOTA

Anders als z. B. Ethereum hat sich die IOTA Foundation für eine Second-Layer-Lösung entschieden. Dies hat den Vorteil, dass nicht jede Node im Netzwerk den gleichen Code ausführen muss, wenn ein Smart Contract ausgelöst wird. Damit will man Skalierungs-Engpässe vermeiden. Die Vision von IOTA ist es, ein Multi-Chain-Netzwerk zu werden, in dem viele Blockchains nebeneinander existieren und ungestört arbeiten. Die Smart Contracts laufen in Teilnetzwerken.

Die Bestätigung von Smart Contracts geschieht über sogenannte Komitees. Der Ersteller eines Smart Contracts hat die Möglichkeit, sowohl die Teilnehmer als auch die Größe (die Zahl N) des Komitees zu bestimmen. Ein Smart Contract, der hochwertige Transaktionen verarbeitet, erfordert logischerweise ein großes Komitee von Nodes. Während ein Smart Contract, der Mikrotransaktionen abwickelt, möglicherweise nur 20 Nodes im Komitee benötigt.

Mehr Nodes = mehr Dezentralität und mehr Sicherheit.

IOTA Smart Contracts

Das Komitee und das Quorum

  • Smart Contract werden von einer festen Gruppe von Wasp-Nodes betrieben, dem Komitee.
  • Es gilt das so genannte “Quorum-Konsensus-Verfahren”: Nur wenn mehrere Teilnehmer (normalerweise 2/3 plus 1 des Komitees) die gleichen Informationen bereitstellen, wird das Ergebnis angenommen und der Zustand des Smart Contracts aktualisiert.
  • Das Komitee besitzt einen verteilten Satz von private Keys.
  • Die Auswahl des Komitees erfolgt außerhalb des IOTA Smart Contract Protocols (ISCP).

Eine Anfrage an einen Smart Contract senden

  • Wir senden Anfragen an einen Smart Contract, wenn wir auf seine Funktion zugreifen wollen.
    • Anforderungscode
    • Ziel-SC-Adresse
    • Parameter
    • Zeitsperre
  • Anfragen werden in eine Wertetransaktion verpackt (1 IOTA-Token). Die Transaktion kann Daten und Gelder enthalten.
  • Jede Anforderung führt zu einer SC-Zustandsänderung
  • Es wird durch das IOTA Smart Contract Protocol (ISCP) garantiert, dass alle Anfragen genau einmal verarbeitet werden.

Wasp: Node für IOTA Smart Contracts

IOTA Smart Contracts werden auf einer zweiten Ebene verarbeitet (Off Chain) - über das IOTA Smart Contract Protocol (ISCP). Dieses wird von der Node-Software "Wasp" betrieben.

IOTA Wasp

Zukünftige Anwendungsfälle (Use cases)

  • ISCP soll funktional äquivalent zu Ethereum und Co sein.
  • Zukünftige Erweiterungen: offene(r) (erlaubnisfreie) Markt(e) für Komitees, Staking.
  • Eine Bandbreite an Anwendungsfällen, einschließlich solcher im Mikrobereich: Oracles, Logistik, verteilte Workflows, verteilte Marktplätze, DeFi, Mikrofinanzen.
  • Lösung für die Anforderungen der GDPR und der Datensouveränität.

Smart Contracts: IOTA vs. Ethereum

Ethereum IOTA
Skalierbarkeit Smart Contracts lassen sich on-chain schlecht skalieren. Smart Contract Programme müssen von allen Nodes ausgeführt werden. Smart Contracts lassen sich off-chain gut skalieren. Nicht alle Nodes im Netzwerk müssen jedes Smart Contract Programm ausführen.
Dezentralisierung (Sicherheit) Hohe Dezentralisierung und Sicherheit. Die Dezentralisierung (und damit die Sicherheit) hängt von der Größe des Komitees ab.
Kosten Smart Contracts können, je nach Auslastung des Netzwerks, sehr teuer werden. Niedrig und vorhersehbar.

Häufige Fragen zu Smart Contracts bei IOTA

Sind IOTA Smart Contracts kostenlos?

Die Initialisierung ist kostenlos. Smart Contracts können jedoch recht rechenintensiv sein. Den Betreibern der Smart Contract Nodes steht es daher frei, eine Gebühr in IOTA-Tokens zu verlangen, z.B. zur Deckung der Betriebskosten. Sozusagen eine Art Belohnung für die Arbeit. Einfache Smart Contracts, die kaum Rechenleistung benötigen, werden unglaublich billig (fast kostenlos) sein. Komplexere, ressourcenintensive SC-Programme werden mehr kosten. Es ist nicht anders als bei zentralisierten Serverlösungen. Wenn Sie zum Beispiel eine AWS-On-Demand-Instance mieten, zahlen Sie für die genutzten Instances nach Stunde oder Minute.

Mit welchen Programmiersprachen lassen sich IOTA Smart Contracts schreiben?

IOTA Smart Contracts können in den Programmiersprachen Go und Rust geschrieben werden.

Videos zum Thema

  • IOTA Smart Contracts: Einfach erklärt - ELI5

    Erklärvideo von Everything Tangle zu den Smart Contracts von IOTA.

    Wiedergabe
  • IOTA Smart Contracts - Proof of Concept Demonstration

    Dave de Fijter demonstrates the IOTA Smart Contracts Proof of Concept.

    Wiedergabe
  • IOTA Experience Smart Contracts Kickoff Meeting

    Recording of the IOTA Experience Team Smart Contracts Kickoff Meeting.

    Wiedergabe
  • IEN Talks: IOTA Smart Contracts, concepts and solutions

    Evaldas Drasutis is a Senior Software Engineer at IOTA Foundation and is leading the development of IOTA Smart Contracts.

    Wiedergabe