Grundlegendes zu Ethereum-Token-Formaten

Mit der Zeit dringt die Blockchain zunehmend in unser Leben ein und es wird notwendig, ihre Haupttechnologien zu verstehen, einschließlich der Arbeit von dezentralen Anwendungen (dApps). Die meisten dApps werden derzeit auf Ethereum erstellt. Die Funktionen sind viel flexibler als die Ausgabe der üblichen ERC20-Token.



Warum Standards benötigt werden



Innerhalb des Smart-Vertrags ( was ist das? ) Können Sie die einzigartige Mechanik des Tokens schreiben. Es wird funktionieren, aber andere Entwickler (und intelligente Verträge) können nicht mit generischer Logik darauf zugreifen.



Beispiel: Sie haben einen Token für einen Spielgegenstand erstellt (dezentrales Spielen entwickelt sich derzeit aktiv) und möchten, dass dieser auf Marktplätzen gegen Gegenstände im Spiel eingetauscht werden kann (so ähnlich ). Marktplätze wissen jedoch nicht, wie sie auf Funktionen innerhalb Ihres Vertrags zugreifen sollen. Sie benötigen einen separaten Smart-Vertrag, um Ihr Token zu unterstützen.



Standards kommen zur Rettung. Die Entwickler anderer dApps wissen, wie sie mit ihnen interagieren sollen, und haben im Code alles eingegeben, was Sie benötigen, um mit einem Token auf einem bestimmten Standard zu arbeiten.



Wie Standards erscheinen



Ethereum ist ein Open-Source-Projekt (ERC ist übrigens Ethereum Request for Comments), daher ist es logisch, dass jeder Benutzer einen neuen Token-Standard vorschlagen kann. Wenn der Standard ein wichtiges Problem löst, kann er zum offiziellen Ethereum-Standard werden (dh auf diese Liste gesetzt werden) .



Fungible und nicht fungible Token



Der Ausgangspunkt für die Klassifizierung von Token-Standards ist deren Austauschbarkeit oder deren Fehlen. Fungible Token sind einander gleich und können als Währung verwendet werden. Halb fungible (halb fungible) Token sind fast nicht voneinander zu unterscheiden, aber immer noch einzigartig (zum Beispiel: Tickets in einem Kino, die Kosten können gleich sein, aber jeder hat einen einzigartigen Platz) . Nicht fungible (nicht fungible) Token sind völlig einzigartig, ein tokenisiertes Objekt in einer einzigen Kopie (Beispiel: Copyright-Objekte) .

Bild

Wenn Sie das Kätzchen nicht erkennen, ist dies eines der ersten Spiele auf Ethereum (und dem ERC-721-Standard), CryptoKitties .



ERC-20



Der bekannteste Standard für fungible Token ist ERC20, der bereits 2015 vom Autor der Ethereum-Idee Vitalik Buterin vorgeschlagen wurde. Dieser Token wird häufig für verschiedene Arten des Erstangebots verwendet (erster Vorschlag). Ich vermeide die Begriffe ICO und IEO, da dies nun bei weitem nicht die einzigen Möglichkeiten sind, ein öffentliches Angebot von Token durchzuführen (aber in diesem Artikel geht es nicht darum).



Spezifität: Ein austauschbarer Standard, es gibt einen Ticker für den Austausch, teilbar (die Anzahl der Dezimalstellen wird vom Ersteller des Smart-Vertrags festgelegt), muss einen Gesamtvorrat haben (die Anzahl der Token, die nicht mehr ausgegeben werden können).



Es wurde bereits viel über ERC-20 ( habr ) geschrieben, ich gehe zu anderen Standards über.



ERC-721



Dieser Standard wird häufig verwendet, um eindeutige Token zu erstellen. Land in Decentraland , Binance Collectibles , hier sind Beispiele für ERC-721.



ERC-721 wurde 2017 von Dieter Shirley als EIP (Ethereum Improvement Proposal) vorgeschlagen und 2018 offiziell.



Besonderheiten: Kein austauschbarer Standard, kein Ticker, unteilbar, existiert notwendigerweise nur in einer einzigen Kopie.



ERC-721 ist wie ERC-20 weit verbreitet, daher werde ich nicht weiter darauf eingehen.



ERC-777



Dieses Format ist eine "Verbesserung" des bekannten ERC-20. Es ist abwärtskompatibel mit ERC-20, hat jedoch mehrere Vorteile:



  • Beim Austausch von Token wird in ERC-20 eine Transaktion anstelle von zwei verwendet.
  • storniert automatisch Transaktionen für inkompatible Verträge;
  • die Fähigkeit, unzuverlässige Adressen zu markieren;
  • die Fähigkeit, Betreiber zu ernennen (Adressen, die das Recht haben, Token von einer anderen Adresse zu senden);
  • beschleunigte Transaktionen.




ERC-223



Auch eine "Erweiterung" von ERC-20, die das Senden von Transaktionen an zufällige Verträge verhindert. Wenn der Smart-Vertrag keine Funktionen zum Arbeiten mit Token enthält, werden diese an den Absender zurückgegeben.



Bild: mywishplatform



ERC-1155



Die Idee für diesen Standard wurde von den Entwicklern des Enjin-Projekts im Jahr 2018 vorgeschlagen. Enjin ist ein Projekt, das die Erstellung von Spielen auf Ethereum vereinfachen soll. Daher sollte der von ihnen vorgeschlagene Standard zunächst als Spielstandard betrachtet werden, obwohl seine Anwendung nicht darauf beschränkt ist.



Spezifität:



  • Ermöglicht die Ausgabe mehrerer Token in einem Vertrag.
  • Token in einem Vertrag können gleichzeitig fungibel und nicht fungibel sein.
  • unterstützt Atom-Swaps;
  • unterstützt "Batch" -Transaktionen;
  • Nicht alle Transaktionen müssen auf das Ende des Blocks warten.


Wenn die ersten beiden Punkte klar sind, können der dritte und vierte Fragen aufwerfen. Schauen wir uns zunächst die Atom-Swaps an.



Atomic Swaps



Einer der Gründe für die Ablehnung der Blockchain überall ist die Unfähigkeit, schnell und effizient (in Bezug auf Gebühren) einen Token gegen einen anderen auszutauschen (und die Anzahl der verschiedenen Token nimmt ständig zu). Die Lösung für das Problem wurde bereits erstellt - dies sind Atom-Swaps. Normalerweise werden Atomic Swaps als die Technologie des dezentralen Austauschs zwischen Kryptowährungen verschiedener unabhängiger Blockchains verstanden ( darüber wird in BitcoinWiki gut geschrieben ). Es lohnt sich aber auch, Atom-Swaps im Zusammenhang mit dem Austausch von Token innerhalb eines intelligenten Vertrags in Betracht zu ziehen.



Ein Bild aus dem Enjin-Blog zeigt einen Austausch mehrerer Token unter Verwendung des ERC-1155-Standards.

Foto vom Enjin-Blog



Und Batch-Transaktionen sparen zwar keine Zeit, aber Gas ( was ist das? ), Indem sie mehrere Transaktionen als eine in das Netzwerk schreiben.

Foto vom Enjin-Blog



Es ist erwähnenswert, dass ERC-1155 zwar weiter verbreitet ist, jedoch viel vom ERC875 entlehnt wurde, der einige Monate zuvor erschien. ERC-875 bot neben der Unterstützung fungibler Token die gleiche Funktionalität.



ERC-865



Ein Standard ähnlich dem ERC-20, der jedoch nicht Gas für Provisionen verwendet, sondern die Token selbst. Aufgrund des komplexen Systems zur Zahlung von Gasprovisionen (der Gaspreis wird unabhängig gewählt) und manchmal der Unvorhersehbarkeit der Provisionsgröße kann eine solche Verbesserung sehr nützlich sein, um Token auf Ethereum zu akzeptieren.



Links



Ich habe nicht alle Standards berücksichtigt, aber wenn wir über alle ERCs sprechen, sind sie sich größtenteils ähnlich und bieten entweder eine Lösung für ERC-20-Probleme oder eine Anwendung in einer separaten Nische. Wenn Sie den Code im Detail lesen möchten: Github EIPs , Github OpenZeppelin . Ethereum.org .



All Articles