IOTA Smart Contracts Protocol - Alpha Release

4. Mrz'21

Übersetzung des IOTA Blogartikel.


Die Veröffentlichung des IOTA Smart Contracts Protocol (ISCP) Alpha markiert einen wichtigen Meilenstein in der Entwicklung des ISCP. Das Ausmaß und die Art der Verbesserungen gegenüber der vorherigen "Pre-Alpha"-Version sind signifikant und wir fühlen uns nun mit dem aktuellen Stand sicher, die "Alpha-Version" zu veröffentlichen.

Die grundlegende und bemerkenswerteste Änderung des ISCP seit der "Pre-Alpha"-Version ist die Integration einer Multi-Chain-Umgebung, die durch den Tangle, den "Layer 1", gesichert wird: Subnetze, bestehend aus Wasp-Nodes, die wir "Komitees" nennen, können viele Blockchains parallel darauf laufen lassen, ohne den Blick auf die Tangle Umgebung zu verlieren, der die digitalen Vermögenswerte von IOTA sichert. Jede dieser Chains, die ein funktionales Äquivalent zu einer Ethereum-Blockchain darstellen, ist in der Lage, viele Smart Contracts zu hosten.

Struktur eines Smart Contracts


Der Ansatz der IOTA Foundation für Smart Contracts ist eine Abkehr von bestehenden Architekturen und beseitigt deren Ineffizienzen, wie z.B. die Unfähigkeit zur parallelen und skalierbaren Ausführung, die Unfähigkeit, "fremde" Smart Contracts auf verschiedenen virtuellen Maschinen laufen zu lassen und die Beeinträchtigung durch volatile und manchmal unerschwingliche Gebühren, um nur ein paar zu nennen.

Mit dem IOTA Smart Contracts Protokoll steht es Entwicklern und Unternehmen frei, ihre eigenen, flexiblen Umgebungen zu definieren, die ihren Anforderungen entsprechen (Smart Contract Sprachen/virtuelle Maschinen) sowie Größen von Validierungskomitees, die ihrem erforderlichen oder gewünschten Grad an Dezentralisierung und Sicherheit entsprechen. Das IOTA Smart Contract Protocol erlaubt es ihnen, eine "permissioned" Smart-Contract-Chain zu betreiben, die z.B. von einem Komitee ihrer eigenen Nodes validiert wird oder ein Komitee von Nodes unter Konsortialpartnern zu definieren. ISCP ist auch mit der Absicht gebaut, vollständig "permissionless" zu laufen, was bedeutet, dass ein Komitee von Validierern auf einem offenen Markt von Validierern ausgewählt werden kann. Alle Smart Contract Chains - ob offen oder privat - profitieren von der inhärenten Sicherheit und Interoperabilität, die durch die Verankerung jedes Smart-Contract-Zustands und ihrer Ergebnisse auf dem gebührenfreien IOTA Basis-Layer entsteht.

IOTA Smart Contracts erfordern daher nicht, dass alle Nodes im Netzwerk alle Smart Contracts ausführen, sondern erlauben eine flexiblere, sinnvolle Definition, die den Anforderungen des Smart-Contract-Besitzers entspricht. Dies wird die Kosten und den Energieaufwand drastisch reduzieren, während die Flexibilität stark erhöht wird und keine Kompromisse bei den individuellen Sicherheitsanforderungen und der von dApps geforderten Kompatibilität und Interoperabilität eingegangen werden müssen.


Mehrere Chains im ISCP



Dies ist die erste größere Version, die es Entwicklern ermöglicht, die Flexibilität und Skalierbarkeit eines DAG-basierten Distributed Ledger für Smart Contracts zu nutzen. Während sich wahrscheinlich vieles ändern wird, wenn das Protokoll weiter reift, ist dies eine bedeutende Gelegenheit, kreative Anwendungen auf dem IOTA-Netzwerk darzustellen, wie z.B. native digitale Vermögenswerte, dezentrale Börsen (AMMs), NFT-Marktplätze, Liquiditätsplattformen und Smart Contracts, welche IOTA Oracles nutzen.

Der am meisten erwartete Aspekt der Alpha-Version ist, dass Entwickler nun IOTA-basierte Smart Contracts und dezentrale Anwendungen (dApps) erstellen können, Smart-Contract-Chains (die von Wasp-Nodes ausgeführt werden) bereitstellen und Smart Contracts auf diesen Chains ausführen können. Nach Abschluss der aktuellen Integration des "Mana"-Moduls in das Coordicide-Testnetz in seinem derzeitigen "Pollen"-Stadium werden IOTA-Smart Contracts über Wasp-Nodes bereitgestellt werden können. Die aktuelle Integration des "Mana"-Moduls in "Pollen" stellt einen wichtigen Baustein des Führerlosen-Konsens-Algorithmus des zukünftigen IOTA-Protokolls dar. Das ISCP-Team hat daher beschlossen, sich auf die Möglichkeit zu konzentrieren, Smart Contracts auf Wasp-Nodes bereitzustellen, bis die Integration des Mana-Moduls in den kommenden Wochen abgeschlossen ist.



Die Hauptkomponenten, aus denen die Alpha-Version besteht, sind:

  • Unsere erste Spezifikation des Protokolls in Form des IOTA Smart Contract Protocol Architecture-Beschreibungsdokuments, das den aktuellen Stand und alle Elemente des ISCP der "Pre-Alpha"-Version und danach widerspiegelt.
  • Die Wasp Node Version 0.1.1., die den aktuellen Stand des ISCP implementiert, einschließlich einer sicheren DKG (Distributed Key Generation) basierend auf dem Rabin-Genarro-Algorithmus.
  • Eine frühe Version eines ISCP-Toolset, das es Entwicklern ermöglicht, Smart Contracts zu schreiben und zu kompilieren, sie in der Testumgebung einzusetzen und auszuführen, sowie einführende Tutorials enthält.
  • Fast 400 Unit- und Integrationstests

Beachten Sie, dass die aktuelle Implementierung des ISCP auf Goshimmer-Nodes (der Pollen-Version, unserem aktuellen Coordicide-Testnetz) des Tangle basiert. Die Implementierung sollte als "experimentell" betrachtet werden: Aufgrund der laufenden Arbeiten und der Integration der verbleibenden Aspekte werden die Wasp-Nodes und andere ISCP-Software bis zur Produktionsfreigabe mit "Coordicide" (IOTA 2.0) erhebliche Verbesserungen und Änderungen erfahren.



Das mit ISCP Alpha veröffentlichte Entwicklungs-Toolset enthält:

  • Eine Rust-Umgebung zum Schreiben von Smart Contracts und Kompilieren in die WebAssembly (Wasm) Binärdateien für den späteren Einsatz auf der Chain.
  • Das "Cluster-Tool", das es ermöglicht, isolierte Testnetze mit einem Goshimmer (mit Mocked-Token-Ledger) und vielen Wasp-Nodes zu betreiben, um Chains bereitzustellen, Smart Contracts zu implementieren, Front-Ends von dApps auszuführen, etc. sowie Integrationstests durchzuführen.
  • Das "Solo-Tool", ein mächtiges Werkzeug zum Schreiben von Unit-Tests für Smart Contracts und dApps.
  • Das "Wasp-cli", eine Kommandozeilenschnittstelle (CLI) (eine Wallet) für die Interaktion mit Wasp-Nodes, die Bereitstellung von Chains und Smart Contracts, das Arbeiten mit Token auf Adressen und On-Chain-Konten.
  • Der "Wasp Explorer", ein einfaches Dashboard, das es jedem ermöglicht eine Node-Konfiguration, implementierte Chains, Smart Contracts und On-Chain-Konten zu erforschen.
  • APIs und eine API-Bibliothek für Front-End-Anwendungen


Rust-Smart-Contract-Programm - kompiliert zu Wasm


Zukünftige Pläne

Mit dem Alpha-Release nimmt das IOTA Smart Contract Protokoll endlich Gestalt an. Unser kurzfristiges Ziel für die nächsten Monate ist es, die Entwicklung von Goshimmer, dem Coordicide-Protokoll und dem Chrysalis-Mainnet-Upgrade voranzutreiben. Wir werden auch weitere Showcases und ein Demonstrationsnetz mit Smart Contracts und Colored Coins entwickeln. In der Tat haben wir bereits damit begonnen, dies zusammen mit der Community zu tun.

Über die unmittelbaren nächsten Schritte hinaus, stellen die folgenden Schritte unsere Hauptrichtungen für unsere weiteren Bemühungen dar:


Entwicklungsumgebung

Die nächste Stufe der Rust-Entwicklungsumgebung und -Werkzeuge, einschließlich einer plattformneutralen Datenschema-Definition und einer neuen funktionalen Sprache für die Programmierung von Smart Contracts: mit Verifizierbarkeitseigenschaften


Virtuelle Maschine (VM)

Erforschung der VM-agnostischen Natur der ISCP und Integration der Ethereum Virtual Machine (EVM) in die ISCP-Sandbox, die wir "Virtual Ethereum" nennen. Das Ziel ist eine binäre Kompatibilität mit dem Ethereum-Ökosystem, einschließlich der Möglichkeit, Tools und Smart-Contract-Sprachen wie Solidity auf dem IOTA-Netzwerk zu verwenden.


Brücken bauen

Ein Framework für Inter-Chain Atomic Swaps mit nativen und externen Blockchains, wie Ethereum sowie bekannte Decentralized Finance (DeFI) Anwendungsfälle wie AMM und DeX (wie Uniswap), On-Chain Tokenization basierend auf ERC-20, etc.


Kern-Algorithmen

Ein überarbeiteter und verbesserter Konsens-Algorithmus, der auf dem klassischen BFT (byzantine fault tolerance) basiert, um den proprietären zu ersetzen, der jetzt zu Testzwecken implementiert wurde, sowie Merkle-Proofs im Chain-State, um die Unabhängigkeit von Snapshots auf dem Base-Layer sicherzustellen.


Permissionless-Markt für Chain Validators

Layer 1 und Layer 2 Unterstützung für Staking und Komitee-Rotation, sowie Core-Contracts für die Marktinfrastruktur. Beachten Sie, dass an dieser Aufgabe noch aktiv geforscht wird und sie in zukünftigen Updates erweitert werden wird.


Ressourcen



Sehen Sie sich die Präsentation mit Evaldas Drąsutis, Hauptentwickler für ISCP, an:


Wir empfehlen allen, die Dokumentation zu überprüfen und selbst auszuprobieren. Teilen Sie Ihre Kommentare und Ihr Feedback zur # smartcontracts-Diskussion auf unserem Discord-Server mit! Es ist auch eine Gelegenheit, direkt mit Evaldas Drąsutis zu chatten.