IOTA Native Digitale Assets – DevNet Version

TL;DR

Mit dem heutigen Start des IOTA 2.0 DevNet haben wir offiziell auch unser Digital Assets Framework im DevNet veröffentlicht. Es ist Zeit zu tokenisieren, zu NFT, und Spaß zu haben, um magische dezentrale Internet-Token zu senden. Wir haben eine neue Wallet für das IOTA 2.0 DevNet gebaut, um unserer Community die Möglichkeit zu geben, mit digitalen Assets zu experimentieren. Für Entwickler können Sie die Dokumentation hier finden.

Wie bereits angekündigt, haben wir eine frühe Wallet zum Testen und zur Teilnahme am IOTA 2.0 DevNet vorbereitet. Sie basiert auf einer Wallet, die unsere Forschungsabteilung und die Entwickler des Ökosystems verwendet haben, um IOTA 2.0 zu testen. Ihr Zweck ist es, einen ersten Einblick zu geben, wie einfach es ist, Token-Typen zu prägen und verschiedene Arten von digitalen Assets im IOTA 2.0 DevNet zu erstellen. Bitte beachten Sie, dass diese Version nur für Test- und Entwicklungszwecke gedacht ist und ausschließlich auf dem IOTA 2.0 DevNet funktioniert.

Warum sind wir so begeistert von Digital Assets auf IOTA? Sind bestehende DLT-Lösungen nicht gut genug? Nein, das sind sie nicht! Sie haben Gebühren und verschwenden Strom, sind typischerweise nicht skalierbar und sind oft weniger sicher als native Token. Wir haben digitale Assets mit Blick auf die Anforderungen unseres Ökosystems und unserer Industriepartner neu durchdacht. IOTA wird die erste DLT-Infrastruktur für die Erstellung von digitalen Assets bereitstellen, die nativ gesichert sind (d.h. so sicher und skalierbar wie der native IOTA-Token), ohne dass Gebühren anfallen oder Strom verschwendet wird.

DevNet Wallet download

Klingt gut? Lassen Sie uns tokenisieren!

Im Gegensatz zu anderen DLT-Netzwerken wird die Erstellung von digitalen Vermögenswerten im IOTA-Netzwerk immer gefühlslos sein. Für 1 MIOTA erhalten Nutzer 1.000.000 Token für das digitale Asset, das sie erstellen möchten. Mit unserer Test-Wallet für das IOTA 2.0 DevNet kann jeder ausprobieren, wie einfach es sein wird, digitale Assets auf IOTA 2.0 zu erstellen. Wir haben eine Registry eingerichtet, die alle im DevNet erstellten digitalen Assets auflistet: https://v2.iota.org/coin-registry

7 Schritte zur Erstellung eines nativen digitalen Assets im IOTA 2.0 DevNet

  1. Laden Sie die Wallet von der IOTA 2.0 DevNet-Website herunter: https://v2.iota.org.
  2. Öffnen Sie die App, klicken Sie auf die Schaltfläche „New Wallet“ und erstellen Sie Ihre eigene Test-Wallet (Je nach Ihren Sicherheitseinstellungen müssen Sie die Ausführung der App eventuell zulassen).
  3. Kopieren Sie Ihren Seed und bewahren Sie ihn sicher auf. Klicken Sie auf die Schaltfläche „OK“.
  4. Fordern Sie Geld vom Faucet an, indem Sie auf die Schaltfläche „Geld anfordern“ klicken (dies kann je nach Netzwerkauslastung zwischen einigen Sekunden und mehreren Minuten dauern).
  5. Erstellen Sie Ihr eigenes, natives digitales Asset, indem Sie testnet-Token „taggen“: Geben Sie Ihren eigenen Asset-Namen und Ihr Symbol ein und klicken Sie auf die Schaltfläche „OK“.
  6. Airdrop-Zeit! Senden Sie Ihre neu erstellten Token an jeden, den Sie mögen.
  7. Zusätzlich: Senden Sie Ihre Adresse an andere und erhalten Sie deren digitale Assets.

Wir sind gespannt, wie viele kreative digitale Assets auf der IOTA 2.0 DevNet-Registry entstehen werden.

Die Wallet ist nur eine einfache grafische Benutzeroberfläche, die unsere Forscher und Ökosystem-Entwickler nutzen, um die IOTA 2.0-Architektur im DevNet zu testen. Darüber hinaus ist die IOTA 2.0 DevNet Registry, in der die Namen der digitalen Assets gespeichert werden, derzeit eine Testimplementierung der zukünftigen Token Foundry. Angelo Capossele hat es für die Community eingerichtet, um digitale Assets unter Verwendung von menschenlesbaren Namen anstelle von hexadezimalen IDs zu erstellen. Der vollständig dezentralisierte IOTA 2.0 Ledger verwaltet bereits die digitalen Assets selbst. Vorerst werden ihre Namen in einem zentralen Register gespeichert. Wir ermutigen die Community, weitere Verbesserungen an der Wallet zu entwickeln und an neuen Innovationen mit unserem Digital Assets Framework zu arbeiten. Sie können die gesamte Dokumentation und die Open-Source-Projekte hier finden.

In der Zukunft wird die Firefly-Wallet das IOTA 2.0-Protokoll und das digitale Asset-Register unterstützen. Die Pflege von Asset-Namen wird vollständig dezentralisiert sein. Sie können bereits einige witzige digitale Assets sehen, die von Mitgliedern der IOTA Foundation und Community-Mitgliedern erstellt wurden, die sofort die Updates unserer Github-Repos gesehen haben – jeder scheint heutzutage eine Münze besitzen zu wollen. Glücklicherweise kostet ihre Erstellung mit IOTA nichts.

Digitale Vermögenswerte: Was sie sind und warum sie spannend sind

Durch die Digitalisierung von digitalen oder physischen Vermögenswerten wie Edelmetallen, Immobilien, Wertpapieren oder Kunstwerken können Vermögenswerte als digitale Token gespeichert (tokenisiert) werden. Die tokenisierten Vermögenswerte können dann gehandelt werden – wobei der Token als digitale, übertragbare Repräsentation dieses Vermögenswerts fungiert. Tokenisierte Assets werden in der Regel auf einem DLT aufbewahrt und übertragen, da sie ein Maß an Sicherheit bieten, das keine andere Architektur bietet.

Das IOTA-Protokoll ist die digitale Infrastrukturebene für unsere physische Welt, die Menschen und Maschinen mit einem „Vertrauens“-Protokoll ausstattet – unveränderliche und überprüfbare Daten, gebührenfreie Wertübertragungen und die Schaffung digitaler Vermögenswerte. Diese Eigenschaften zusammen ermöglichen digitale Zwillinge, die mit physischen Vermögenswerten verknüpft sind, wobei alle Daten- und Werteflüsse innerhalb dieser Systeme digital abgebildet werden und völlig autonom ablaufen. Das ist es, was letztendlich zur Schaffung der Machine Economy führen wird.

Das IOTA-Protokoll und unser Framework für digitale Vermögenswerte ist nicht nur für physische Vermögenswerte nützlich, sondern auch für jede Art von Tokenisierung, einschließlich anderer Kryptowährungen, Community-Token, digitaler Rechte, Lizenzen und Kunstwerke.

Insbesondere Kunstwerke waren in letzter Zeit in den Nachrichten. Kunst kann über nicht-fungible Token (NFTs) digitalisiert werden: Ein Gemälde bleibt in physischer Form an der Wand und kann von Betrachtern bewundert werden, aber ein tokenisiertes, digitales Kunstwerk oder die Darstellung eines physischen Kunstwerks kann entweder in Teilen oder als Ganzes gehandelt werden. Ohne das Gemälde von der Wand nehmen zu müssen oder das Eigentum in Form eines papierbasierten Vertrages zu überschreiben, kann der Vermögenswert übertragen werden oder sogar geteiltes Eigentum haben.

Ein wesentlicher Vorteil der Tokenisierung besteht darin, dass einzelne Assets, wie z.B. Immobilien, auf Bruchteilsbasis gehandelt werden können. Somit ist es für Investoren möglich, Anteile dieser Assets in kleineren Mengen zu erwerben und somit ganze Assetklassen für Investoren zugänglicher zu machen. Ermöglicht wird dies durch DLT, die die Zwischenhändler ausschaltet und so die Kosten senkt und die Teilhabe an der Wirtschaft weiter demokratisiert.

Original by IOTA Foundation: https://blog.iota.org/iota-native-digital-assets-devnet/

IOTA Smart Contracts Pre-Alpha veröffentlicht

Eine Plattform für skalierbare, Gebührenfreie und flexible intelligente Verträge

In diesem Artikel stellen wir unsere hochmoderne Implementierung des IOTA Smart Contract Protocol (ISCP) vor, die erste skalierbare, Gebührenfreie und flexible Implementierung intelligenter Verträge im IOTA-Netz. In dieser Veröffentlichung stellen wir drei intelligente PoC-Verträge vor, die von der IOTA-Stiftung entwickelt wurden, um die frühen Fähigkeiten der Plattform zu demonstrieren. Darüber hinaus stellen wir Entwicklern eine Reihe von Tools zur Verfügung, mit denen sie die Funktionalität unserer intelligenten Verträge erkunden können.

Wir führen IOTA Smart Contracts als eine technologische Entwicklung ein, so dass wir uns auf die zugrunde liegenden technischen Konzepte, die Architektur und die Eigenschaften konzentrieren werden.

Wir werden die Diskussion in künftigen Beiträgen erweitern, um spezifische Anwendungsfälle und das Marktpotenzial intelligenter Verträge und digitaler Vermögenswerte vorzustellen. Wir werden in den folgenden Monaten weiter an der erweiterten Funktionalität und der Stabilität der Software arbeiten, um sie für die Produktion und die Bedürfnisse des Marktes voll ausgereift zu machen. Für eine Einführung in IOTA Smart-Verträge lesen Sie unseren Blog-Post Einführung in IOTA Smart-Contracts.

Pre-Alpha heute verfügbar!

Ab heute steht das IOTA Smart Contracts Pre-Alpha zum Ausprobieren zur Verfügung! Anhand einer frühen Reihe von Bausteinen können Entwickler mit der Erkundung der Möglichkeiten des IOTA Smart Contracts Protocol beginnen, während wir die Funktionalität für eine vollständige Veröffentlichung in den kommenden Monaten weiter ausbauen.

Für diejenigen unter Ihnen, die gerade erst zu uns gestoßen sind: IOTA Smart Contracts ist eine flexible und Gebührenfreie Implementierung intelligenter Vertragsfunktionalität auf einem verteilten, DAG-basierten UTXO-Ledger. Dies geschieht durch die Einrichtung von Ausschüssen, die intelligente Verträge überprüfen und ihre Konsistenz und Unveränderlichkeit auf dem verteilten IOTA-Ledger garantieren.

Aufgrund ihrer Gebührenfreien und flexiblen Designs werden unsere intelligenten Verträge ideal für Unternehmensanwendungen und reale Anwendungsfälle von Organisationen auf der ganzen Welt geeignet sein – ein großer Fortschritt für unsere Branche. Wir glauben auch, dass das IOTA-Protokoll für intelligente Verträge die Grundlage für ein reichhaltiges Ökosystem legt, das sich entwickeln wird, mit einer großen Vielfalt an Erweiterungen und Bausteinen, von denen wir erwarten, dass sie von der Gemeinschaft geschaffen werden.

In diesem Release enthaltene Funktionen

Mehrere Komponenten sind in unserem ersten großen Release enthalten:

  • Wasp-Node-Software Version 0.0.1 (das frühe Alpha-Release) finden Sie hier das Repository. Der Wasp-Knoten führt ISCP im Netzwerk der Wasp-Knoten aus, einer Schicht über dem Netzwerk der Goshimmer-Knoten. Wir stellen auch das Goshimmer-Node-Plugin WaspConn zur Verfügung, das es einem Wasp-Knoten erlaubt, sich mit dem experimentellen Pollen-Netzwerk der Goshimmer-Knoten zu verbinden und auf diesem zu laufen (siehe Wasp-Zweig des Goshimmer-Repositoriums).
  • Drei Demo dApps, intelligente PoC-Verträge namens TokenRegistry, FairAuction und DonateWithFeedback. Diese einfachen dApps enthalten intelligente Vertragsprogramme, die als Go-Module im Wasp-Knoten selbst fest codiert sind. Jeder PoC umfasst bereitgestellte Demo-Instanzen von intelligenten Verträgen im Pollen-Netzwerk, ihre Web-Dashboards und Brieftaschen.
  • CLI-Brieftasche wwallet. Wie eine gewöhnliche IOTA-Brieftasche ermöglicht Ihnen die wwallet (die Wasp-Brieftasche) das Senden und Empfangen von Tokens im Pollen-Netzwerk. Darüber hinaus können Benutzer mit der Wallet auch Funktionen der PoC-Smart-Verträge anfordern. Mit wwallet können Sie z.B. digitale Assets prägen und gleichzeitig in derselben Transaktion in den TokenRegistry Smart-Vertrag eintragen lassen. Sie können auch geprägte digitale Assets verkaufen, indem Sie eine Auktion im FairAuction Smart-Vertrag erstellen und andere zur Abgabe von Geboten in dieser Auktion von jedem Netzwerkteilnehmer einladen.

Außerdem bieten wir als Teil der Wallet ein einfaches Verwaltungstool, mit dem Sie Ihre eigenen Instanzen eines der drei PoC Smart-Verträge mit Ausschüssen von Wasp-Knoten und einen Webserver für PoC Smart-Vertrags-Dashboards bereitstellen können.
In dieser Version stellen wir einen wichtigen Teil der ISCP noch nicht zur Verfügung: die Wasm VM (Virtual Machine) und die Rust-Programmierumgebung für intelligente Verträge.

Der Wasp-Knoten implementiert eine abstrakte VM-Sandbox-Schnittstelle, so dass jeder Interessierte sich damit vertraut machen und wenn er mutig genug ist, es sogar ausprobieren kann, indem er das Repository gabelt und seine eigenen hart codierten intelligenten Verträge direkt in die Wasp schreibt!

Einige wichtige Funktionen der ISCP sind deaktiviert, z.B. die Belohnungsfunktion (optionale Knotengebühren, so dass der aktuelle Smart-Kontrakt völlig Gebührenfrei ist) und die Zugriffsknotenfunktion (ein Zugriffsknoten ist ein Wasp-Knoten, der einen gültigen Smart-Kontrakt-Ledger-Status enthält, aber nicht am Komitee des Smart-Kontrakts teilnimmt).

Wasp-APIs haben noch keine Autorisierung implementiert, so dass in dieser Version jeder auf den Status jedes Smart-Vertrags zugreifen oder jeden Wespen-Knoten als Ausschussknoten für seinen Smart-Vertrag verwenden kann.

Die fehlenden Funktionen und Sicherheitslücken werden in späteren Versionen des Wasp-Knotens Schritt für Schritt ergänzt.

PoC-konforme Verträge verwenden

Wir bieten Artikel im Wasp-Repository zu Github mit einer schrittweisen Einführung in die Hauptkonzepte von IOTA Smart Contracts am Beispiel von PoC Smart Contracts.

In diesen Artikeln werden drei PoC Smart-Contracts im Detail beschrieben:

  • DonateWithFeedback implementiert einen einfachen intelligenten Vertrag, der Spenden und damit verbundene Kommentare für eine Website handhabt. Wir stellen die meisten Konzepte am Beispiel von DonateWithFeedback vor, da dies der einfachste aller 3 PoC-Smart Verträge ist.
  • TokenRegistry ermöglicht es uns, farbige IOTA-Tokens zu prägen und ihnen gleichzeitig Metadaten in derselben Transaktion zuzuweisen. Die TokenRegistry führt das unveränderliche Register der Token und ihrer Metadaten, zusammen mit kryptographischen Beweisen für den Urheber der Lieferung und die Liefermenge.
  • FairAuction implementiert einen einfachen automatisierten Marktplatz für IOTA-Farbtoken ein, die über eine Aktion zum Verkauf angeboten werden. Jeder kann seinen Token verkaufen und jeder kann mit seinem IOTAs auf den zu verkaufenden Token bieten, indem er Anfragen an die intelligente Vertragsinstanz sendet. Jede Auktion wird über den Smart-Vertrag abgewickelt. Einmal gestartet, wird garantiert, dass sie fair und prüfbar ist und bis zum Ende läuft.

Die Dashboards der Demo-Instanzen von intelligenten PoC-Verträgen finden Sie hier.

Jede Seite des Dashboards enthält minimale Anweisungen zur Installation und Verwendung der wwallet.

Wir haben auch einige technische Anleitungen entwickelt, die durch einige der Funktionen dieser Version führen und Entwicklern helfen, mit dem Testen zu beginnen. Schauen Sie sich unser Demonstrationsvideo zum Proof of Concept an und beginnen Sie, unsere Plattform zu erkunden!

Nächste Schritte für intelligente IOTA-Verträge

Der nächste große Meilenstein für das Team, das mit IOTA Smart Contracts arbeitet, ist die Implementierung von Wasm VM und der entsprechenden Entwicklungsumgebung in Rust. Wir gehen davon aus, dass sie bis Ende des Jahres zur Verfügung stehen wird.

Zusätzlich enthält ein hochrangiger Plan für den zukünftigen Umfang:

  • Reifung der Kernprotokolle: Perfektionierung des Konsenses, Zugriff auf Knotenfunktionen, Knotenbelohnungen, Zustands-Schnappschüsse, Smart Contract Verwaltung
  • Anpassung auf der Grundlage laufender Entwicklungen des Goshimmer Value Tangle Ledgers;
  • Anpassungen der Kernsicherheit: Vollständig verteilte DKG (in dieser Version teilweise verteilt), digitales Identitätssystem für Knoten, Knotenbesitzer und Smart Contract Inahber
  • Authentifizierung des API-Zugriffs, Sicherheit, Client-Bibliotheken
  • Erweiterung der eingebauten Smart-Contract-Logik, d.h. automatische Rückgabe von Geldern im Fehlerfall, erweiterte Ausnahmebehandlung
  • Migration der eingebauten Logik zu Wasm VM
  • Toolchain für die Knoten- und Smart-Contract-Verwaltung (CLI-Tools, Dashboard, Backup/Recovery)
  • Toolchain und Umgebung für die Entwicklung. Hochsprachliche Metaphern, Abbildung auf mehrere Sprachen
  • Framework für Client-Bibliotheken für dApp-APIs. Rahmenwerk für SC-Unit-Tests und Werkzeuge

Abschließend

Die heute veröffentlichte Prä-Alpha-Arbeit des IOTA Smart Contract Protocol ist der Höhepunkt monatelanger harter und engagierter Arbeit der IOTA-Stiftung. Wir betrachten diese Veröffentlichung als den ersten Schritt zur Schaffung eines großen, lebendigen Ökosystems dezentralisierter Anwendungen im IOTA-Netzwerk.

Wir laden unsere Mitglieder der Gemeinschaft ein, unsere Demo-PoCs auszuprobieren, die Dokumentation durchzusehen und sogar zu versuchen, Ihre eigenen zu erstellen!

Wie immer laden wir alle ein, bei Discord auf dem Kanal #smartcontracts vorbeizuschauen, um mit unserem Team zu sprechen, das mit IOTA Smart Contracts arbeitet!

Folgen Sie uns auf Twitter, um über alle Neuigkeiten auf dem Laufenden zu bleiben!

Original Übersetzt: https://blog.iota.org/iota-smart-contracts-pre-alpha-released-40efad27994b

IOTA macht mehrere Puzzleteile, die durch erstaunliche Arbeit an Blockchain zusammenkommen

Die Ergebnisse des technischen Feedbacks der IOTA-Gemeinschaft zeigen, dass 69% der Befragten angaben, dass die Erfahrungen mit dem Hornet sehr gut sind; 70% haben von Chrysalis gehört; 75% erklärten, das IOTA-Konzept sei logisch und verständlich; 79% planen, einen eigene IOTA-Node zu betreiben.

IOTA twitterte: „Wir danken allen, die sich die Zeit genommen haben, am technischen Feedback der IOTA-Gemeinschaft teilzunehmen. Deine Antworten helfen uns, eine bessere entwicklerfreundliche Erfahrung zu schaffen!

IOTA Streams als die Weiterentwicklung des Masked Authenticated Messaging (MAM), haben zum Ausdruck gebracht, dass sie wesentliche Fortschritte bei den IOTA Streams gemacht haben. Sie luden die Gemeinschaft ein, einige ihrer neuen Funktionen in Vorbereitung auf die Betaversion zu testen.

Dominik Schiener brachte kürzlich zum Ausdruck, dass Jakub Cech, Director of Engineering bei IOTA Token, bei der Leitung der Engineering-Abteilung der IOTA Foundation eine erstaunliche Arbeit leistet. Dadurch ist es möglich, eines der wichtigsten und größten Upgrades von IOTA bisher zu realisieren. Er erklärte auch, dass es erstaunlich sein wird, all die verschiedenen Komponenten und Puzzleteile zusammenkommen zu sehen.

Sydney Ifergan, der Krypto-Experte, twitterte: „Die IOTA führt viele Forschungsprojekte durch, und große Unternehmen stehen bereits Schlange, um im Raum der Blockchain das Beste aus ihrem Talent zu machen. Die ganze Arbeit geht endlich in die Produktion, und die ganze Arbeit zahlt sich immer wieder aus„.

Dominik Schiener stellte zuvor fest, dass es mehr technische Reife, mehr Akzeptanz und mehr Fortschritt als je zuvor gibt. Er behauptete auch, dass sie eines der wenigen Projekte seien, die von der Regierung, von Zuschüssen und Unternehmen finanziert werden. Er wies erneut darauf hin, wie wichtig es sei, die Aufmerksamkeit zu stoppen, die die Schlagzeilen erregt, und dafür zu sorgen, dass die Quellen stimmen.

IOTA-Fortschritte bei Schlüsselprojekten

Vor kurzem sprach die IOTA darüber, wie sie nach Korea expandiert. Sie äußerten: „Wir freuen uns, unsere Präsenz in Korea w/@binancekorea zu erweitern! Unsere koreanischen Gemeindemitglieder können #IOTA nun problemlos bei Binance Korea kaufen & tauschen.“ Sehen Sie David Sønstebø von IOTA in einem speziell übersetzten Interview zur Erinnerung an unseren Start! Diejenigen, die daran interessiert sind, sollten sich das Video ansehen.
IOTA Dev Update, September 2020 erklärte, dass ihr Team hart an den neuen aufregenden Veröffentlichungen gearbeitet hat, die in diesem Monat erscheinen werden. Sie müssen sagen, dass es viele aufregende Neuigkeiten zu Schlüsselprojekten gibt, darunter Pollen, IOTA Streams, Bee, Hornet, Strong Hold.

Bei einigen Projekten werden weitere Verbesserungen vorgenommen, bei anderen werden die letzten Teile zusammengefügt, einige Änderungen sind im Gange, einige Projekte werden eingestellt und neue Projekte treten an ihre Stelle und es finden weitere Abstimmungen statt, um das Beste herauszuholen.

Einführung von Pollen: Das erste dezentralisierte Testnetz für IOTA 2.0

Original by IOTA Foundation: https://blog.iota.org/introducing-pollen-the-first-decentralized-testnet-for-iota-2-0-349f63f509a1 (20.06.2020)

Nach Jahren intensiver Forschung, rigoroser Tests und unermüdlicher Bemühungen unserer Ingenieure sind wir stolz darauf, endlich alle zur Teilnahme an diesem bedeutenden Meilenstein für das IOTA-Projekt einladen zu können. Pollen markiert den Beginn des weltweit ersten wirklich dezentralisierten, skalierbaren und gebührenfreien Distributed Ledger, das von Anfang an das Versprechen der IOTA war. Pollen ist die erste Phase der dreiteiligen Freigabestrategie von IOTA, die in unserem koordinatorenlosen, produktionsbereiten Netzwerk gipfeln wird: IOTA 2.0. Pollen ist ein sich rasch entwickelndes Forschungs-Testbed, in dem die Gemeinschaft, Forscher und Ingenieure die Konzepte von IOTA 2.0 testen und validieren können.

Sie können die neue Version herunterladen und das vollständige Changelog hier einsehen.

Pollen stellt ein wichtiges Upgrade im Vergleich zur vorherigen Version Alphanet v0.1.3 dar. Wir zählen ungefähr 60000 Hinzufügungen und 25000 Löschungen in der Codebasis. Wir haben die Grundlage für ein funktionales Netzwerk ohne Koordinator geschaffen. Von hier aus werden iterative Verbesserungen des Codes Pollen in den endgültigen, funktionsreichen Release-Kandidaten für IOTA 2.0 verwandeln.IOTA Update 2.0

Die heutige Veröffentlichung enthält die folgenden Aktualisierungen der Hauptfunktionen:

  • Fast Probabilistic Consensus – der neue Konsens-Algorithmus für IOTA für ein dezentralisiertes Netzwerk. Sie können das Forschungspapier hier lesen
  • Werttransaktionen – Netzwerkteilnehmer können jetzt einen automatisierten Hahn benutzen, um Tokens zu empfangen, Werttransaktionen zu senden (über eine Brieftasche) und die Konfliktlösung im Netzwerk zu testen
  • Tokenisierte Vermögenswerte – Einzelpersonen können jetzt IOTA-Token mit verschiedenen Attributen „einfärben“, die reale Vermögenswerte wie Gebäude, IoT-Geräte oder sogar Firmenkapital repräsentieren
  • Prometheus- und Grafana-Integration – Knotenbetreiber können jetzt mehrere Metriken überwachen, indem sie ein Grafana-Dashboard aktivieren
  • Feeless dApps – diese Version beinhaltet eine zukünftige Fähigkeit für das IOTA-Ökosystem: die Entwicklung von gefühllosen dezentralisierten Anwendungen

Wir haben auch bereits früher veröffentlichte Funktionen der letzten Version von Alphanet verbessert. Dazu gehören eine verbesserte Stabilität und Instrumentierung sowohl des Autopeering- als auch des Klatschmoduls. Wir haben ein erweitertes Dashboard mit einem brandneuen Tangle-Explorer und Visualizer gebaut. Der Analyseserver wurde von Grund auf neu gestaltet, um nicht nur die Visualisierung und Analyse des Autopeering-Netzwerks zu unterstützen, sondern auch die Echtzeit-Aktualisierung des Fast Probabilistic Consensus-Protokolls in Aktion.

Dashboard GoShimmer

Unser Interesse an diesem Testnetz wird sich auf das Gesamtverhalten des Netzwerks konzentrieren und nicht auf seine rohe Leistung und Benutzererfahrung. Wir werden in künftigen Iterationen schrittweise an Optimierungen und Verbesserungen arbeiten. Was die Implementierung betrifft, so stecken die neu eingeführten Komponenten noch in den Kinderschuhen (z.B. Brieftaschenbibliothek, FPC) und einige Komponenten sind noch nicht optimiert (z.B. Klatsch und Tratsch). Bitte beachten Sie, dass wir das Netzwerk von Zeit zu Zeit zurücksetzen werden, bis lokale Snapshots implementiert sind, um zu verhindern, dass die Datenbank zu stark wächst und um potentiell brechende Änderungen einzuführen.

Mit dieser neuen Version haben wir eine neue Architektur eingeführt, die aus drei separaten Schichten besteht: Der Netzwerk-, Kommunikations- und Anwendungsschicht. Diese neue Architektur wird Unterstützung für zukünftige Funktionen wie Tokenisierung, skalierbare intelligente Verträge, Feeless dApps und Sharding bieten.

IOTA Update 2.0

Es gibt Parallelen zwischen unseren Schichten und den oberen Schichten des OSI-Modells, obwohl wir den Leser vor tiefgreifenden Vergleichen warnen. Die Netzwerkschicht verwaltet die Verbindungen und die Paketübertragung zwischen den Knoten. Die Kommunikationsschicht schafft eine standardisierte Plattform für die Speicherung und Kommunikation von Informationen. Den Entwicklern steht es dann frei, dezentralisierte Anwendungen auf der Anwendungsschicht zu entwerfen und gleichzeitig die unteren Schichten zu abstrahieren. Um mehr darüber zu erfahren, können Sie unseren Blogpost „A Guide to Upcoming IOTA 2.0 Terminology“ lesen.

IOTA Pollen Update

Der Kern von Pollen besteht aus diesen Merkmalen:

  • Neues Nachrichten-Layout – Jede Nachricht enthält die Hashes der Eltern, Ausgabeinformationen (Ausgabeknoten-ID, Zeitstempel usw.), eine Nutzlast, den PoW, eine Nonce und die Signatur des Ausgabeknotens
  • Binär – Da jetzt alles binär ist, haben wir eine neue konfigurierbare Proof of Work (PoW)-Bibliothek entwickelt, die in zukünftigen und iterativen Versionen auf unseren adaptiven PoW-Mechanismus umgestellt wird. Wir haben die Unterstützung für traditionelle Public-Key-Kryptographie auf der Basis elliptischer Kurven (z.B. Ed25519 und BLS) sowie binäre Hash-Funktionen wie SHA-256, SHA-512 und Blake2b integriert
  • Ledger-Zustand & UTXO – Diese GoShimmer-Version wird mit einem völlig neuen Ledger-Zustand ausgeliefert, der auf einer erweiterten Version von UTXO basiert – dem auf Parallel-Realität basierenden Ledger-Zustand. Durch die Entkopplung von Konsens und Saldenverfolgung ermöglichen wir ein unübertroffenes Maß an Flexibilität und reduzieren die Komplexität der Nachrichten massiv, indem nur über Konflikte abgestimmt wird
  • FPC – Das Fast Probabilistic Consensus-Protokoll treibt den Konsens unseres Testnetzes voran. Für diese erste „Vanille“-Version des Protokolls lassen wir Knoten FPC auslösen, falls bei der Erstarrung Konflikte festgestellt werden. Die ersten Meinungen basieren auf den Ankunftszeiten der Nachrichten. Neue Knoten, die online gehen, erhalten die Nachrichten jedoch nicht in der richtigen Reihenfolge und können daher zu einer falschen Meinung kommen. In zukünftigen Versionen werden wir einen Synchronisationsmechanismus hinzufügen, der diese Diskrepanzen verhindern wird
  • Zufälligkeit – Die von FPC verwendete Zufälligkeit wird lokal von jedem Knoten auf der Grundlage des Unix-Zeitstempels generiert. Genauer gesagt wird jede Minute in Epochen von 5 Sekunden eingeteilt. Es liegt auf der Hand, dass die durch diese Methode erzeugte Zufallszahlenfolge vorhersehbar und somit unsicher ist. Aufgrund ihrer Einfachheit und Unabhängigkeit vom Netzwerk oder einer anderen Komponente eignet sie sich jedoch sehr gut für einen ersten Test des FPC-Verhaltens. Die nächste Iteration wird sich auf ein gemeindebasiertes Komitee dRNG stützen
  • Lokales Dashboard – Wir haben das Dashboard um einen brandneuen Tangle-Explorer, Tangle Visualizer und Faucet bereichert
  • Grafana-Dashboard über Prometheus – Jeder Knotenbetreiber kann das Prometheus-Plugin aktivieren und Grafana zur Anzeige von Metriken zum Netzwerkverkehr, Autopeering-Status, FPC-Statistiken und mehr verwenden
  • Netzwerk-Verzögerungsanwendung – Wir werden periodisch eine spezifische Netzwerk-Verzögerungsmeldung an das gesamte Netzwerk senden. Dadurch werden die Knoten, die sie empfangen, veranlasst, den Zeitstempel des Empfangs an einen zentralen Logger zu senden, so dass wir periodisch die durchschnittliche netzwerkweite Verzögerung beurteilen und diese Information zur Optimierung der Abstimmung der FPC-Parameter verwenden können.
  • Brieftaschenbibliothek – Wir stellen eine sehr einfache Brieftaschenbibliothek zur Verfügung, damit Entwickler und Tester Token verschieben können. Sie können gerne mit einer Wallet-UI beitragen, die auf dieser Bibliothek basiert
  • (Faucet)Zapfhahn-App – Das GoShimmer-Dashboard wird mit einer Zapfhahn-Sektion geliefert, so dass Sie Token an eine bestimmte Adresse anfordern können
  • Client-Bibliothek & API – Tester, Entwickler und Knotenbetreiber können über die Client-Bibliothek und/oder API mit einem GoShimmer-Knoten interagieren. Um mehr darüber zu erfahren, können Sie sich auf unserer Wiki-Seite informieren.
  • Analyse-Server – Wir haben auch den Analyse-Server verbessert. Dieser zeigt den Gesamtnetzwerkstatus an und hat einen brandneuen Abschnitt, der den Gesamtnetzwerkkonsens anzeigt – ein Echtzeit-Update des FPC-Ergebnisses zu jedem Konflikt. Diese Ergebnisse werden in einer Datenbank gespeichert, so dass wir zusammen mit unserer Gemeinschaft genügend experimentelle Daten sammeln können, um sie mit unseren früheren, durch Simulationen erzielten Ergebnissen zu vergleichen.

Wir haben ein Wiki geschrieben, um der Gemeinschaft die Möglichkeit zu geben, diese Version des Pollen-Testnetzes auszuprobieren und mehr über sie zu erfahren:

Mit unserem nächsten großen Release, genannt Nectar, werden die übrigen Komponenten (wie Mana, Ratenkontrolle, adaptives PoW, um nur einige zu nennen) für ein voll funktionsfähiges, mit Anreizen versehenes Testnetz auf unser Testnetz freigegeben.

Pollen ist ein wichtiger Meilenstein für IOTA 2.0. Es ist ein wesentlicher Schritt zur Erprobung der Kernideen des vollständig dezentralisierten IOTA-Netzes.

Wir freuen uns darauf, Sie auf dieser aufregenden Reise mit Pollen mit uns zu begleiten, und wir hoffen, dass Sie die Entwicklung dieses Projekts ebenso genießen werden wie wir. Wie immer begrüßen wir Ihre Kommentare und Fragen entweder hier auf Medium oder im Kanal #tanglemath auf unserer Discord. Sie können auch an der #goshimmer-Diskussion auf Discord teilnehmen.

Eine Einführung in IOTA Smart Contracts

Original by Evaldas Drasutis: https://blog.iota.org/an-introduction-to-iota-smart-contracts-16ea6f247936 (06.05.2020)

Ich möchte mich bei meinen Kollegen in der IOTA-Stiftung bedanken, die Beiträge und Feedback zu diesem Artikel geliefert haben. Insbesondere Eric Hop, der das Qubic-Projekt leitete und jetzt zu IOTA Smart Contracts gehört, und Jake Cahill, der für den größten Teil des Wortlauts verantwortlich ist.

IOTA Smart Contracts ist eine fortlaufende Bemühung der IOTA Foundation. Das Ziel dieses Artikels ist es, die Gemeinschaft darüber zu informieren, was wir tun und wohin wir mit IOTA Smart Contracts gehen. Er bietet auch eine Gelegenheit für die Gemeinschaft, mit Fragen und Feedback zum Projekt beizutragen.

Hintergrund

Kürzlich stellte Eric Hop das Qubic-Projekt in seinem Artikel The State of Qubic vor und erläuterte unsere Entscheidung, uns vorerst ausschließlich auf intelligente Verträge zu konzentrieren. Natürlich warfen diese Entwicklungen viele Fragen aus der Gemeinschaft auf, wie sich die intelligenten Verträge der IOTA zu Qubics Vision verhalten.

Der vorliegende Artikel wird diese Fragen beantworten, indem er einen Kontext und eine technische Einführung zu den IOTA Smart Contracts bietet. Obwohl viele Aspekte der IOTA Smart Contracts vom Qubic-Projekt abgeleitet wurden, handelt es sich in vielerlei Hinsicht um ein eigenständiges, eigenständiges Projekt. Wir glauben, dass die Richtung, die wir einschlagen, viel Potenzial hat, und wir unternehmen jetzt die notwendigen Schritte, um dieses Potenzial in der Praxis unter Beweis zu stellen.

Was ist ein Vertrag?

Bevor wir einen intelligenten Vertrag definieren, ist es wichtig, zunächst zu verstehen, was ein legaler Vertrag ist.

Juristische Verträge sind nicht-deterministische Vereinbarungen, die komplexen Rechtssystemen unterliegen. Die Gesetze, die Verträge umgeben, variieren in Abhängigkeit von einer Reihe von Faktoren, wie zum Beispiel dem Land, in dem alle Parteien den Vertrag abgeschlossen haben. Das wichtigste Wort ist hier „nicht-deterministisch“. Das bedeutet, dass Verträge oft mehrdeutig sind, und ihre subjektive Auslegung kann zu Streitigkeiten führen.

Was ist ein Intelligenter Vertrag?

Im Gegensatz dazu ist ein intelligenter Vertrag eine programmierte Vereinbarung, die völlig deterministisch ist und automatisch durchgesetzt wird. Dies macht es unmöglich, zu streiten.

Das Konzept eines intelligenten Vertrags wurde von Nick Szabo in den 90er Jahren in seiner Abhandlung mit dem Titel „Forming and Securing Relationships on Public Networks“ (Beziehungen in öffentlichen Netzwerken bilden und sichern) erfunden. In diesem Papier stellte er sich Vertragsregeln vor, die als Computercode kodiert sind.

Ein intelligenter Vertrag könnte zum Beispiel für die folgende Vereinbarung programmiert werden:

Wenn Flug F mehr als 3 Stunden Verspätung hat, dann zahlen Sie den Versicherungsbetrag A auf das Konto von Alice.

„Der Flug hat Verspätung“ ist eine Bedingung der Vereinbarung, und „Versicherungsbetrag A an Alice zahlen“ ist eine Folge dieser Bedingung.

Die Folgen der Ausführung eines intelligenten Vertrags hängen von einer Reihe von Bedingungen ab, die wir seinen Zustand nennen.

Der Zustand eines intelligenten Vertrags kann zum Beispiel umfassen

  • Flug F: Pünktlichkeit
  • Das Konto von Alice: 0
  • Intelligentes Vertragskonto: 1000
  • Deckungssumme: 100
  • Ausbezahlt: Falsch

Der Status eines intelligenten Vertrags wird in einem verteilten Ledger veröffentlicht. Wenn eine Aktualisierung erfolgt und das Netzwerk einen Konsens über die Änderung erzielt, wird eine neue Transaktion an das Ledger angehängt, um den Status des Vertrags zu aktualisieren:

Flug F: Verspätet (ein Verweis auf eine andere Transaktion mit Nachweis der Verspätung)

  • Das Konto von Alice: 100
  • Intelligentes Vertragskonto: 900
  • Deckungssumme: 100
  • Ausbezahlt: Wahr

Intelligente Verträge hinterlassen einen unveränderlichen Prüfpfad auf dem verteilten Ledger, und ihre Automatisierung spart Zeit und Geld für die beteiligten Parteien. Das Konzept ist einfach und lässt sich in nahezu jeder Branche in einer Vielzahl interessanter Anwendungsfälle anwenden, von der Verfolgung von Waren in der gesamten Lieferkette bis hin zum Austausch von Eigentum an Aktien und Anleihen. Intelligente Verträge sind jedoch eine aufstrebende Technologie. Es bleibt eine offene Frage, wie sie sich in den bestehenden Rechtsrahmen einfügen werden, und es ist noch einiges zu tun, bevor sie ihr volles Potenzial erreichen.

Arten von intelligenten Verträgen

Schicht 1 („On-Chain“)
Intelligente „On-Chain“-Verträge, wie die auf Ethereum, sind Teil des Kernprotokolls. Das bedeutet, dass sie von allen Knoten im Netzwerk ausgeführt und validiert werden.

Vorteile

  • Die Sicherheit von intelligenten Verträgen ist proportional zur Größe des Netzwerks
  • Intelligente Verträge können Tokens von ihrem Konto übertragen, ohne eine Unterschrift zu leisten

Nachteile

  • Intelligente Verträge skalieren schlecht, weil ihre Programme von allen Knoten ausgeführt werden müssen
  • Intelligente Verträge unterliegen Netztransaktionsgebühren, die ebenso volatil sind wie der zugrunde liegende symbolische Preis.
  • Die durchschnittlichen Kosten eines intelligenten Vertragsabschlusses sind ungefähr proportional zum zugrunde liegenden symbolischen Preis

Schicht 2 („Off-Chain“)
„Off-chain“ intelligente Verträge werden außerhalb des Kernprotokolls ausgeführt. Nur eine Untergruppe von Knoten, ein so genannter Ausschuss, muss sie ausführen, und ein Konsens kann außerhalb des Kernprotokolls erreicht werden.

Vorteile

  • Intelligente Verträge belasten den Rest des Netzwerks nicht
  • Die durchschnittlichen Kosten für eine intelligente Vertragsabwicklung sind niedrig und vorhersehbar
  • Der notwendige Grad der Dezentralisierung (und damit die Sicherheit) eines intelligenten Vertrags kann an jeden Anwendungsfall angepasst werden.

Nachteile

  • Um Token zu übertragen, müssen intelligente Vertragsprogramme Transaktionen unterzeichnen, um nachzuweisen, dass sie Zugriff auf die Kontoadresse haben.
  • Die Dezentralisierung (und damit die Sicherheit) intelligenter Verträge hängt von der Größe des Ausschusses, den Ausschussmitgliedern und der Stelle ab, die den Ausschuss einsetzt.

Warum braucht die IOTA intelligente Verträge?

Intelligente Verträge sind in vielen Bereichen von IOTA unverzichtbar, darunter Supply Chain, Smart Cities, Industrial IoT und andere. Intelligente IOTA-Verträge können Vertragsverpflichtungen innerhalb dieser Branchen automatisieren.
Im Vergleich zu ihren Blockchain-Pendants haben IOTA Smart-Contracts dank der Tangle-Eigenschaften wie Skalierbarkeit, hoher Durchsatz und Gebührenfreie Transaktionen viele Vorteile.

Wie funktionieren intelligente Verträge in IOTA?

IOTA Smart Contracts werden als unveränderliche Zustandsmaschinen definiert:

  • Zustandsmaschine: Jeder intelligente Vertrag hat einen Zustand, der mit dem Tangle verbunden ist. Der Zustand enthält Daten wie Kontostände, Eingabebedingungen und Konsequenzen im Laufe der Zeit. Jede Zustandsaktualisierung stellt einen Zustandsübergang auf dem Tangle dar.
  • Unveränderlich: Der Zustand und der Programmcode des intelligenten Vertrags sind beide unveränderlich, da sie auf dem Tangle gespeichert sind. Der Zustand kann inkrementell aktualisiert werden, indem neue Transaktionen an das Tangle angehängt werden.

Der Tangle bietet einen verifizierbaren Prüfpfad der Zustandsübergänge. Dadurch können wir darauf vertrauen, dass die Zustandsübergänge gültig sind und nicht durch böswillige oder fehlerhafte Knoten verfälscht werden können.

Der Fall für intelligente Layer-2-Verträge

Um die Anwendungsfälle der IOTA, einschließlich des Internet der Dinge, zu erleichtern, bauen wir intelligente IOTA-Verträge auf Schicht 2, „off-Tangle“.

Obwohl die „on-chain“ intelligenten Verträge von Ethereum aufgrund ihrer Eigenschaften beliebt sind, haben sie einige bedeutende Nachteile. Der hervorstechendste ist, dass jeder Knotenpunkt für jeden intelligenten Vertrag, der existiert, eine Kopie des Programmcodes und -status des Vertrags behalten muss. Jeder Knoten im Netzwerk muss genau den gleichen Code ausführen, wenn der Smart-Vertrag ausgelöst wird.

Es gibt keine Begrenzung der Anzahl der Knoten, die diesen identischen Code ausführen müssen, nur um ein einziges Ergebnis zu erzeugen. Und je größer das Netzwerk wird, desto mehr Verarbeitung ist erforderlich, um dasselbe Ergebnis zu erzielen. Dies stellt ein enormes Hindernis für die Skalierbarkeit dar.

Zusätzlich zu den Transaktionsgebühren, die Sie zahlen müssen, um für die Aufnahme in das Hauptbuch in Betracht gezogen zu werden, müssen Sie auch Gasgebühren zahlen, um das Programm lange genug laufen zu lassen, damit es abgeschlossen werden kann. Das bedeutet, dass die Kosten für den Betrieb dieser intelligenten Verträge unerschwinglich hoch werden, wenn man von bestimmten Anwendungsfällen absieht, in denen der Kostenaufwand relativ unbedeutend ist.
Aus diesem Grund werden IOTA Smart-Contracts nicht als Teil des Kernprotokolls implementiert, sondern als ein Layer-2-Protokoll.

Infolgedessen bieten IOTA Smart-Contracts eine natürlichere Art und Weise, verteilte Berechnungen auszuführen. Jeder Smart-Contract kann in einem lokalisierten Kontext ausgeführt werden, ohne dass das gesamte Netzwerk zur Ausführung gezwungen wird. Dies bedeutet auch, dass IOTA Smart-Contracts in Zukunft nicht zu einem Hindernis für die Skalierung des IOTA-Netzwerks mit Sharing-Lösungen werden.

Der Eigentümer eines intelligenten Vertrags

Jeder Smart-Vertrag hat einen Eigentümer, der für ihn verantwortlich ist:

  • Das smart contract-Programm zu erstellen und beim Netzwerk einzureichen
  • Festlegung der Größe des Komitees (die Zahl N) und die Auswahl der Netzwerkknoten, die Teil des Komitees sein sollen
  • Entscheidung, wie viele Ausschussknoten einen Konsens über Aktualisierungen des Smart Contract-Status erreichen müssen. Diese Zahl wird als Quorum bezeichnet
  • Festlegung anderer allgemeiner Konfigurationsparameter des Smart-Vertrags

Ein Eigentümer kann eine einzelne Einheit sein, z. B. eine Organisation oder eine Person, oder es kann sich um eine dezentralisierte Sammlung von Peers handeln, z. B. ein Konsortium von Organisationen. In jedem Fall verwaltet der Eigner nur die Einrichtung und Konfiguration des Smart-Vertrags und nimmt nicht an dessen Betrieb teil.

Der Eigentümer kann je nach Kontext und Zweck wählen, wie intelligente Verträge eingerichtet werden sollen. Beispielsweise kann ein intelligenter Vertrag, der hochwertige Transaktionen abwickelt, einen großen Ausschuss von Knoten erfordern. Während ein intelligenter Vertrag, der Mikrotransaktionen abwickelt, unter Umständen nur 20-30 Knoten im Ausschuss benötigt.

Motivationen: Belohnungen und Reputation

Es gibt viele mögliche Gründe, einen intelligenten Vertrag zu erstellen oder zu betreiben. Ein Grund ist die Belohnung.

Obwohl IOTA-Transaktionen Gebührenfrei sind, bieten intelligente IOTA-Verträge den Unternehmen die Möglichkeit, eine Gebühr in IOTA-Tokens zu verlangen, z.B. zur Deckung der Betriebskosten. Wir nennen diese Gebühr eine Belohnung.

Sowohl Eigentümer als auch Ausschussknotenpunkte können intelligente Vertragsbelohnungen erhalten. Es ist Sache des Eigentümers, mit den Betreibern von Komitee-Knotenpunkten zu verhandeln, um die minimal akzeptable Belohnung festzulegen.

  • Ausschussknoten können Belohnungen erhalten, indem sie einen bestimmten intelligenten Vertrag bearbeiten, der eine Belohnung bietet
  • Eigentümer haben auch die Möglichkeit, intelligente Verträge zu erstellen, die dem Eigentümer einen Prozentsatz der Belohnung zukommen lassen.

Eine weitere potenzielle Motivation für die Mitgliedschaft in einem Ausschuss ist der Aufbau eines guten Rufs. Kluge Vertragsinhaber können sich dafür entscheiden, Ausschüsse nur aus Knotenpunkten mit einem guten Ruf zu bilden.
Diese Art von Reputationssystem könnte einen offenen Markt für Ausschussknoten schaffen, der gutes Verhalten im Netzwerk fördert.

Das Smart Contract Programm

Ein intelligentes Vertragsprogramm ist ein Algorithmus, der Anweisungen für eine virtuelle Maschine (VM) enthält. Wir werden WebAssembly (WASM) als Haupt-VM für IOTA Smart Contracts verwenden. Aber im Allgemeinen kann die VM in jeder Sprache oder sogar fest in der Software des Knotens programmiert sein.

Das Programm nimmt zwei Transaktionen als Input: die Anfragetransaktion und die Transaktion des aktuellen Status. Die Transaktion des nächsten Zustands verweist immer auf die Anfragetransaktion und die Transaktion des vorherigen Zustands. Auf diese Weise verfügt das intelligente Vertragsprogramm über eine deterministische Methode zum Aufbau einer Kette von Zustandsaktualisierungen, die durch eingehende Anfragen ausgelöst werden.

Der Hash des Programms wird im Tangle gespeichert und ist daher unveränderlich.
(Hinweis: Intelligente IOTA-Verträge werden durch eine Transaktion und nicht durch ein Bündel definiert, da wir sie im IOTA-Protokoll nach dem IOTA-Koordizid implementieren, das ein UTXO-Modell für Werttransaktionen verwendet)

Ein Beispiel für ein intelligentes Vertragsprogramm

Es folgt eine kurze Beschreibung des intelligenten FairRoulette-Vertrags: unser interner PoC, den wir für Tests verwenden.

Betrachten Sie einen Smart-Vertrag, der Wetten auf ein Rouletterad annimmt. Der Smart-Vertrag würde in seinem Konto gestapelte IOTA-Münzen sowie Daten über jede platzierte Wette (Summe, Farbe, Spieler) enthalten. Letzteres wird für Auszahlungen an die Gewinner von Roulette-Spielen benötigt.

Um eine Wette zu platzieren, senden Sie eine Antragstransaktion an den Smart-Vertrag. Die Transaktion würde enthalten:

  • Eine Gebührenzahlung von IOTA-Marken für die Bearbeitungskosten
  • Eine Einzahlung von IOTA-Münzen, die Sie setzen möchten
  • Die Farbe, auf die Sie wetten

Wenn die Komitee-Knotenpunkte dann diese Transaktion sehen, werden sie das Programm des intelligenten Vertrags ausführen, um den Status mit Ihrer Wette zu aktualisieren.

Die Auszahlung an die Gewinner wird nach Spielende automatisch gemäß dem Programm des Smart-Vertrags ausgeführt.

Der Ausschuss und das Quorum

Die Kontoadresse des Smart-Vertrags ist Eigentum des Ausschusses. Diese Adresse enthält die hinterlegten IOTA-Marken. Nur ein Quorum von Ausschussknoten ist in der Lage, Tokens von der Adresse weg zu übertragen. Mit anderen Worten, ein Quorum von Ausschussknoten muss zusammenarbeiten, um IOTA-Marken vom Konto zu entfernen.

Wir verwenden BLS-Adressen mit mehreren Unterschriften, um den Ausschussknoten das gleiche Eigentumsrecht an der Adresse zu geben. Diese Adressen ermöglichen Schwellenunterschriften, was bedeutet, dass eine bestimmte Anzahl von Knoten im Ausschuss, das Quorum, dieselbe Transaktion mit ihrem geheimen Schlüssel unterschreiben muss, um eine gültige Unterschrift zu erzeugen und somit den Zustand des Smart-Vertrags zu aktualisieren und die vom Smart-Vertrag kontrollierten Mittel zu bewegen.

Wie intelligente Verträge erstellt werden

Der Eigentümer eines Smart-Vertrags erstellt das Programm, und sein Binärcode wird in Ausschussknoten gespeichert. Der Hash des Programms ist durch die staatliche Transaktion immer zugänglich, so dass der Smart-Vertrag unveränderlich ist.

Der Eigentümer setzt einen Ausschuss von Knotenpunkten ein, die für die Ausführung des Programms, das Abhören des Tangle für Anfragetransaktionen und die kollektive Aktualisierung des Zustands des Smart-Vertrags verantwortlich sind.
Während der Einsetzung des Ausschusses entscheidet der Eigentümer über die Größe des Ausschusses und das Quorum und initialisiert einen Prozess der verteilten Schlüsselerzeugung (Distributed Key Generation, DKG) zwischen den Knoten des Ausschusses. Dieser Prozess erzeugt:

  • Eine durch den Smart-Vertrag kontrollierte Kontoadresse
  • Einen privaten Schlüssel für jeden Ausschussknoten (weder dem Eigentümer noch anderen Ausschussknoten bekannt)

Dieser Prozess kann entweder zentralisiert oder dezentralisiert sein. In der zentralisierten Version kann der Eigentümer bei Bedarf einen Generalschlüssel verwenden, um Ausschussbeschlüsse außer Kraft zu setzen. In der dezentralisierten Version kann der Verantwortliche Entscheidungen nicht außer Kraft setzen.

Wie der Status eines intelligenten Vertrags aktualisiert wird

Die Ausschussknotenpunkte hören immer auf den Tangle, wenn es um Anfragetransaktionen geht, die an den intelligenten Vertrag gesendet werden sollen.

Wenn ein Ausschussknoten eine Transaktion erkennt, berechnet er den nächsten Zustand, indem er das Smart-Contract-Programm ausführt. Auf diese Weise werden ehrliche und synchronisierte Knoten immer genau die gleiche Zustandsaktualisierungstransaktion erzeugen. Ausschussknoten tauschen nie echte Ergebnisse aus, sondern nur Hashes. Es besteht also kein Risiko, dass Knoten die Ergebnisse der anderen kopieren, um zu versuchen, die Belohnung auszuspielen.

Wenn sich die Knoten nicht über den aktualisierten Zustand einig sind, wird jeder Knoten eine andere Transaktion unterzeichnen, was zu einer ungültigen Signatur führt. Die Knoten müssen daher einen mehrheitlichen Konsens über den aktualisierten Zustand erreichen.

In der asynchronen Einstellung des Tangles kann jeder Ausschussknoten einen anderen Zustand sehen, je nach seiner lokalen Uhr oder seinen Nachbarn. Ausschussknoten müssen daher einen verteilten Konsensalgorithmus ausführen, um einen Konsens über das Ergebnis zu erzielen. Das Ergebnis des Konsenses ist ein Hash des Ergebniskerns, eine Sammlung von Teilunterschriften des BLS und ein Zeitstempel. Alle intelligenten Vertragstransaktionen werden mit einem Zeitstempel versehen, und der Zeitstempel stimmt mit den lokalen Uhren der meisten Knoten überein.

Wenn alle Knoten einen Konsens erreicht haben, sammelt ein Ausschussmitglied, der Leiter, alle Teil-BLS-Signaturen der Knoten, bevor die endgültige Transaktion an das Tangle übermittelt wird. Diese Transaktion muss sich auf den vorherigen Zustand beziehen, um eine Kette von Zustandsaktualisierungen zu erstellen, die als Prüfpfad dient. Wenn die Transaktion bestätigt wird, wird sie zum neuen Zustand des intelligenten Vertrags.

Herausforderungen

IOTA Smart Contracts sind äußerst flexibel, aber diese Flexibilität bringt auch Herausforderungen mit sich, für die wir zum Teil bereits Lösungen entwickelt haben.

Staatliche „Forks“

Ein State Fork ist eine widersprüchliche Kopie des Zustands des intelligenten Vertrags. Dies kann passieren, wenn zwei oder mehr Transaktionen an den Tangle angehängt werden, die beide den Zustand auf unterschiedliche Weise aktualisieren.

Obwohl wir erwarten, dass Zustandsabzweigungen selten sind, könnten sie theoretisch in einer asynchronen Umgebung auftreten. Zum Beispiel verliert der führende Knoten unmittelbar vor der Verbuchung der letzten Transaktion die Verbindung mit dem Tangle und nach einer Zeitüberschreitung übernimmt ein anderer Knoten die Führung. In diesem Fall könnten zwei führende Knoten Aktualisierungen des Tangle nach der Verbuchung der letzten Transaktion vornehmen.

Um Zustandsabzweigungen zu verhindern, wird bei der Einrichtung des Smart-Vertrags ein einzigartiges farbiges Token, das als Smart-Vertrags-Token (mit einem Gesamtvorrat von 1) bezeichnet wird, erstellt und an die Smart-Vertragsadresse übertragen. Bei jeder Statusaktualisierung wird das einzige Smart-Contract-Token an dieselbe Adresse gesendet, wodurch die entsprechende nicht ausgegebene Ausgabe in die neue Transaktion verschoben wird. Auf diese Weise bilden die Transaktionen eine nicht verarbeitbare Kette, da es unmöglich ist, den Output des intelligenten Vertragstokens aufzuteilen und zweimal auszugeben.

Schnappschüsse

Ein Schnappschuss ist eine Möglichkeit für einen Knoten, Speicherplatz zu sparen. Transaktionen vor einem bestimmten Datum werden möglicherweise „weggeschnappt“. Dabei können ältere intelligente Transaktionen und Aktualisierungen des Vertragsstatus verloren gehen.

Um dieses Problem zu entschärfen, können intelligente Verträge ihre eigenen Momentaufnahmen durchführen, indem sie alle Zustandsinformationen sammeln und sie zu einer einzigen Transaktion hinzufügen. Diese Transaktion wird zum Anfang der neuen Kette.

Große Summen von Tokens

Eine große Geldsumme über einen langen Zeitraum in einem Vertrag zu sperren, ist viel sicherer, wenn man sich darauf verlassen kann, dass das gesamte Netzwerk für die Abwicklung zur Verfügung steht, wie bei den intelligenten Verträgen von Ethereum Level 1. Es ist jedoch nicht garantiert, dass nach einem langen Zeitraum ein Ausschuss von begrenzter Größe existiert. Für diese Anwendungsfälle könnte ein intelligenter Vertragsinhaber von Fall zu Fall andere Notfallpläne aufstellen.

Schlüsselverwaltung

Die Knotenpunkte müssen für jeden Ausschuss, dem sie angehören, einen Schlüssel verwalten. Wenn ein Knotenpunkt Teil vieler Ausschüsse ist, ist daher die Speicherung und Verwaltung dieser Schlüssel eine wesentliche Aufgabe. Die Knotenpunkte benötigen eine Lösung für eine sichere und skalierbare Schlüsselverwaltung.

Schlussfolgerung

IOTA Smart Contracts sind intelligente Vertragsprogramme, die von einem genehmigten Ausschuss auf Schicht 2 (Off-Tangle) ausgeführt werden. Der Ausschuss der Knotenpunkte aktualisiert das Ledger kollektiv, indem er unterzeichnete Transaktionen (unter Verwendung von Schwellenwertunterschriften) an das Tangle einreicht.

IOTA Smart-Contracts sind sehr flexibel und benötigen viel weniger Ressourcen als die Blockketten-Alternativen. Sie ermöglichen Anwendungsfälle, die mit Gebühren als einzigem Anreiz nicht möglich gewesen wären. Dies gilt insbesondere im Bereich des IoT, wo Mikroverträge und Mikrotransaktionen die Norm sein dürften.

Wir planen, WebAssembly in der ersten Version zu verwenden, aber wir sind nicht auf eine einzige virtuelle Maschine (VM) beschränkt, mit der Möglichkeit, in Zukunft auch andere Programmiersprachen und VMs zu verwenden.

Wir laden die Gemeinschaft ein, ihre Gedanken, Ideen und ihr Feedback im Kanal #smartcontracts auf dem offiziellen IOTA-Discord zu teilen.