Inhalt

  • Einführung

  • Was ist der ERC-20-Standard?

  • Ein kurzer Überblick über Ethereum-Token

  • Wie werden ERC-20-Token erstellt?

  • Welche Funktionen haben ERC-20-Tokens?

    • Stablecoins

    • Sicherheitstoken

    • Utility-Token

  • Ist es möglich, ERC-20-Tokens zu schürfen?

  • Vor- und Nachteile von ERC-20-Tokens

    • Vorteile von ERC-20-Tokens

    • Nachteile von ERC-20-Tokens

  • ERC-20, ERC-1155, ERC-223, ERC-721 – was ist der Unterschied?

  • Zusammenfassung


Einführung

Ethereum wurde 2014 von Vitalik Buterin gegründet und sollte eine Open-Source-Plattform für den Betrieb dezentraler Anwendungen (DApps) sein. Bei der Erstellung einer neuen Blockchain berücksichtigte Buterin das Problem der unzureichenden Flexibilität des Bitcoin-Protokolls.

Seit ihrer Einführung hat die Ethereum-Blockchain viele Entwickler, Unternehmen und Unternehmer angezogen und eine wachsende Branche von Benutzern hervorgebracht, die intelligente Verträge und verteilte Anwendungen ausführen.

In diesem Artikel befassen wir uns mit dem ERC-20-Standard – der Grundlage für die Erstellung von Token. Der Standard wurde speziell für das Ethereum-Netzwerk entwickelt, konnte aber auch andere Blockchain-Standards inspirieren, beispielsweise BEP-2 Binance Chain.


Was ist der ERC-20-Standard?

ERC in Ethereum ist eine Aufforderung zur Einreichung von Vorschlägen zur Verbesserung des Netzwerks (englisch: Ethereum Request for Comments). ERCs sind technische Dokumente, die Programmierstandards für Ethereum beschreiben. Diese sollten nicht mit den Ethereum Improvement Proposals (EIPs) verwechselt werden, die wie die BIPs von Bitcoin Verbesserungen des Protokolls selbst vorschlagen. Der Zweck des ERC besteht darin, Vereinbarungen zu treffen, die die Interaktion zwischen Anträgen und Verträgen erleichtern.

ERC-20 wurde 2015 von Vitalik Buterin und Fabian Vogelsteller mit dem Ziel erstellt, ein relativ einfaches Format für die Erstellung von Tokens auf Ethereum anzubieten. Durch den Rückgriff auf einen bestehenden Standard sparen Entwickler Zeit und Aufwand. Mit ERC-20 können sie neue Token erstellen, ohne sich Gedanken über Kompatibilität und Sicherheit machen zu müssen.

Die neuen ERC-20-Tokens werden mit allen Diensten und Software kompatibel sein, die diesen Standard unterstützen (Software-Wallets, Hardware-Wallets, Börsen usw.).

Es ist zu beachten, dass EIP (nämlich EIP-20) auf der Grundlage des ERC-20-Standards entwickelt wurde. Dies geschah aufgrund der weit verbreiteten Verwendung des Standards mehrere Jahre nach der Einführung. Aber auch Jahre später ist der Name „ERC-20“ immer noch relevant.


Ein kurzer Überblick über Ethereum-Token

Im Gegensatz zur ETH (der nativen Kryptowährung von Ethereum) werden ERC-20-Token nicht in Konten gespeichert. Sie existieren nur innerhalb des Vertrags, der eine Art autonome Datenbank darstellt. Der Vertrag definiert die Bedingungen für die Token (z. B. Name, Symbol, Teilbarkeit). Es enthält auch eine Liste, die die Guthaben der Benutzer mit ihren Ethereum-Adressen abgleicht.

Um Token zu verschieben, müssen Benutzer eine Transaktion zum Vertrag einreichen und beantragen, dass ein Teil ihres Guthabens an einen anderen Ort verschoben wird. Wenn Alice beispielsweise Bob 5.000 BinanceAcademy-Token senden möchte, führt sie eine Funktion innerhalb des Smart-Vertrags aus, die ihn dazu auffordert.


Пользователи, взаимодействующие со смарт-контрактом


Ihre Anfrage wird in eine scheinbar normale Ethereum-Transaktion gestellt, die dem Smart Contract 0 ETH belastet. Die Anfrage wird einem zusätzlichen Feld in der Transaktion hinzugefügt, das genau angibt, was Alice tun möchte – in unserem Fall die Token an Bob übertragen.

Auch wenn sie keinen Ether sendet, muss sie dennoch eine auf Ether lautende Gebühr zahlen, damit ihre Transaktion dem Block hinzugefügt wird. Wenn sie keine ETH hat, muss sie diese kaufen, bevor sie die Transaktion durchführen kann.

Hier ist ein reales Beispiel für einen solchen Prozess auf Etherscan: Jemand stellt eine Anfrage für einen Vertrag in BUSD. Wir sehen, dass die Token übertragen und die Gebühr bezahlt wurden, obwohl ihr Betrag 0 ETH beträgt.

Wir können nun tiefer in die Struktur des ERC-20-Vertrags eintauchen.


Wie werden ERC-20-Token erstellt?


Иллюстрация создания токена ERC-20


Um mit ERC-20 kompatibel zu sein, muss Ihr Vertrag sechs erforderliche Funktionen enthalten: „totalSupply“, „balanceOf“, „transfer“, „transferFrom“, „approve“ und „allowance“. Darüber hinaus können Sie zusätzliche Funktionen wie Name, Symbol und Dezimalzahl hinzufügen. Anhand der Namen der Funktionen können Sie ihren Zweck erkennen. Als nächstes werden wir uns jeden von ihnen genauer ansehen.

Nachfolgend werden die Funktionen so dargestellt, wie sie in der für Ethereum erstellten Solidity-Sprache geschrieben sind.


Gesamtversorgung

Funktion totalSupply() öffentliche Ansicht gibt zurück (uint256)

Auf Anfrage des Benutzers zeigt die obige Funktion die Gesamtzahl der Token im Vertrag an.


Gleichgewicht von

Funktion balanceOf(Adresse _owner) öffentliche Ansicht gibt zurück (uint256 Balance)

Im Gegensatz zu totalSupply verwendet die Funktion balanceOf einen Parameter (Adresse). Auf Anfrage wird der Saldo der Adresstokens angezeigt. Denken Sie daran, dass Ethereum-Konten öffentlich sind, sodass Sie den Kontostand jedes Benutzers abfragen können, solange Sie dessen Adresse kennen.


Übersetzung

Funktion transfer(Adresse _an, uint256 _Wert) public gibt zurück (bool Erfolg)

Die Übertragungsfunktion überträgt Token von einem Benutzer zum anderen. Um es nutzen zu können, müssen Sie die Adresse des Empfängers und den Überweisungsbetrag angeben.

Die Übertragungsfunktion löst ein Ereignis (in unserem Fall Ereignisübertragung) aus, das die Blockchain anweist, einen Verweis darauf aufzunehmen.


Übertragen von

Funktion transferFrom(Adresse _von, Adresse _an, uint256 _Wert) public gibt zurück (bool Erfolg)

Die transferFrom-Funktion ist eine komfortablere Alternative zur Transferfunktion, die eine bessere Programmierbarkeit in dezentralen Anwendungen bietet. Wie bei der Übertragung werden damit Token bewegt, die jedoch nicht unbedingt der Person gehören, die auf den Vertrag zugreift.

Mit anderen Worten: Sie können eine andere Person oder einen anderen Vertrag ermächtigen, Gelder in Ihrem Namen zu überweisen. Ein weiterer Anwendungsfall ist die automatische Zahlung für abonnementbasierte Dienste, falls Sie nicht jeden Tag/Woche/Monat manuell Zahlungen senden möchten. Das Programm erledigt dies für Sie.

Diese Funktion löst dasselbe Ereignis wie die Übertragung aus.


genehmigen

Funktion genehmigen (Adresse _spender, uint256 _value) öffentlich gibt zurück (bool Erfolg)

Genehmigen ist aus Sicht der Programmierbarkeit eine weitere nützliche Funktion. Mit seiner Hilfe können Sie die Anzahl der Token begrenzen, die ein Smart Contract von Ihrem Guthaben abheben kann. Andernfalls besteht die Gefahr, dass der Vertrag missbraucht wird: Jemand könnte ihn für seine eigenen Zwecke ausnutzen oder Ihr gesamtes Geld stehlen.

Schauen wir uns ein Beispiel mit einem Abo-Modell an. Nehmen wir an, Sie haben viele BinanceAcademyTokens und möchten wöchentliche Zahlungen für Ihren DApp-Streaming-Dienst einrichten. Sie studieren bereits Tag und Nacht die Inhalte der Binance Academy und möchten nicht jede Woche manuell eine Transaktion erstellen.

Nehmen wir an, Sie verfügen über einen großen Vorrat an BinanceAcademyTokens, der Ihre Abonnementgebühr bei weitem übersteigt. Um zu verhindern, dass der DApp-Dienst es verbraucht, können Sie mithilfe der Genehmigungsfunktion ein Limit festlegen. Ihr Abonnement kostet beispielsweise einen BinanceAcademyToken pro Woche. Wenn Sie den Höchstbetrag auf zwanzig Token begrenzen, kann das Abonnement automatisch über fünf Monate hinweg bezahlt werden.

Im schlimmsten Fall, wenn die DApp versucht, Ihr gesamtes Geld abzuheben, oder ein unerwarteter Fehler auftritt, verlieren Sie nur zwanzig Token. Diese Option beseitigt mögliche Probleme nicht, schützt Sie jedoch vor dem Verlust Ihres gesamten Vermögens.

Wenn die Genehmigungsfunktion aufgerufen wird, wird das Genehmigungsereignis ausgelöst. Es schreibt wie das Übertragungsereignis Daten in die Blockchain.


Zuschuss

Funktion allow(address _owner, address _spender) öffentliche Ansicht gibt zurück (uint256 verbleibend)

Die Zuschussfunktion kann in Verbindung mit der Genehmigungsfunktion verwendet werden. Sobald Sie dem Vertrag die Erlaubnis erteilt haben, seine Token zu verwalten, können Sie mit dieser Funktion prüfen, wie viele Token er noch abschreiben kann. Wenn Ihr Abonnement beispielsweise zwölf der zwanzig erlaubten Token verbraucht hat, dann sollte beim Aufruf der Allowance-Funktion die Zahl acht angezeigt werden.


Zusätzliche Funktionen

Die oben besprochenen Funktionen sind obligatorisch. Die Namens-, Symbol- und Dezimalfunktionen sind optional, können aber Ihren ERC-20-Vertrag verbessern. Sie geben Ihnen die Möglichkeit, einen eindeutigen Namen hinzuzufügen, ein Symbol festzulegen (z. B. ETH, BTC, BNB) und festzulegen, in wie viele Dezimalstellen die Token unterteilt werden können. Beispielsweise können Token, die als Währung verwendet werden, stärker von einer größeren Teilbarkeit profitieren als ein Token, der Eigentum darstellt.


Sie können diese Elemente in einem echten Vertrag in diesem Beispiel auf GitHub sehen.


Welche Funktionen haben ERC-20-Tokens?


Иллюстрация различных вариантов использования токенов ERC-20


Wenn wir alle oben genannten Merkmale kombinieren, erhalten wir einen ERC-20-Vertrag. Es kann verwendet werden, um den Gesamtvorrat an Token abzufragen, Guthaben zu überprüfen, Gelder zu überweisen und anderen DApps Berechtigungen zur Verwaltung von Token zu erteilen.

Der Hauptvorteil von ERC-20-Tokens ist die Flexibilität. Darüber hinaus können Sie damit auch zusätzliche Funktionen implementieren und bestimmte Parameter entsprechend Ihren Bedürfnissen einstellen.


Stablecoins

Stablecoins (an Fiat-Währungen gekoppelte Token) verwenden häufig den ERC-20-Token-Standard. Ein Beispiel ist die zuvor erwähnte BUSD-Vertragstransaktion. Die meisten Stablecoins sind in diesem Format verfügbar.

Der Emittent eines durch Fiat gedeckten Stablecoins hält Reserven in Euro, Dollar usw. Er erstellt dann für jede Einheit in seiner Reserve einen Token. Das heißt, wenn 10.000 US-Dollar im Tresor wären, könnte der Emittent 10.000 Token im Wert von jeweils 1 US-Dollar erstellen.

Dies ist in Ethereum recht einfach zu implementieren. Der Emittent schließt einen Vertrag mit 10.000 Token ab. Anschließend werden sie an die Nutzer verteilt mit der Aussicht auf eine weitere Einlösung in Fiat-Währung.

Benutzer können Token zum Bezahlen von Waren und Dienstleistungen verwenden oder sie in DApp-Anwendungen verwenden. Darüber hinaus haben Nutzer die Möglichkeit, beim Herausgeber einen sofortigen Umtausch der Token zu beantragen. In diesem Fall vernichtet der Emittent die zurückgegebenen Token (sie sind nicht mehr verfügbar) und entnimmt den entsprechenden Betrag in Fiat aus seinen Reserven.

Der Vertrag, der diesen Prozess regelt, ist, wie bereits erwähnt, relativ einfach. Die Einführung eines Stablecoins erfordert jedoch viele externe Faktoren wie Logistik, Einhaltung gesetzlicher und behördlicher Vorschriften usw.


Sicherheitstoken

Sicherheitstoken ähneln Stablecoins. Auf Vertragsebene können sie als identisch betrachtet werden, da sie auf die gleiche Weise funktionieren. Für den Emittenten gibt es jedoch einen erheblichen Unterschied. Security Token repräsentieren Wertpapiere (Aktien, Anleihen oder physische Vermögenswerte). Sie wecken beim Inhaber oft (jedoch nicht immer) ein gewisses Interesse an einem Unternehmen oder Produkt.


Utility-Token

Utility-Token sind mit Abstand die am weitesten verbreiteten Token-Typen. Im Gegensatz zu den beiden vorherigen Optionen werden sie von nichts unterstützt. Während Asset-Backed-Tokens mit Aktien von Fluggesellschaften vergleichbar sind, ähneln Utility-Tokens eher einem Vielflieger-Treueprogramm: Sie dienen einem Zweck, bieten aber keinen anderen Wert. Utility-Tokens können vielfältig eingesetzt werden. So können sie als Spielwährung, Treibstoff für dezentrale Anwendungen, Treuepunkte und vieles mehr dienen.


➠ Bereit für den Einstieg in die Kryptowährung? Kaufen Sie Ether auf Binance!


Ist es möglich, ERC-20-Tokens zu schürfen?

Benutzer können Ether (ETH) schürfen, jedoch keine Token – es werden Token erstellt. Wenn der Vertrag ins Leben gerufen wird, verteilen die Entwickler Token gemäß den bestehenden Plänen und der Roadmap.

Dies erfolgt typischerweise durch ein Initial Coin Offering (ICO), ein Initial Exchange Offering (IEO) oder ein Security Token Offering (STO). Möglicherweise stoßen Sie auf verschiedene Abkürzungen, aber im Wesentlichen sind sie alle ziemlich ähnlich. Anleger senden Ether an die Vertragsadresse und erhalten im Gegenzug neue Token. Die erhaltenen Mittel dienen der Finanzierung der Weiterentwicklung des Projekts. Benutzer erwarten, dass sie ihre Token (sofort oder später) verwenden oder mit Gewinn weiterverkaufen können, während sich das Projekt entwickelt.

Der Token-Verteilungsprozess erfordert keine Automatisierung. Bei vielen Crowdfunding-Events können Sie in verschiedenen digitalen Währungen bezahlen (wie BNB, BTC, ETH und USDT). Anschließend werden die Benutzerguthaben an den angegebenen Adressen entsprechend dem gezahlten Betrag wieder aufgefüllt.


Vor- und Nachteile von ERC-20-Tokens

Vorteile von ERC-20-Tokens

Austauschbarkeit

Fiat-Währungen sind fungibel, da jede Einheit nicht von einer anderen entsprechenden Einheit unterscheidbar ist. Wenn Sie über den BinanceAcademyToken verfügen, spielt es keine Rolle, welchen spezifischen Token Sie besitzen. Solche Token können an andere Benutzer verkauft werden und bleiben funktionell identisch, wie Geld oder Gold.

Dies ist sehr praktisch, wenn Sie den Token als Währung verwenden möchten. In diesem Fall benötigen Sie keine einzelnen Einheiten mit besonderen Merkmalen, die sie nicht austauschbar machen. Unterschiede können dazu führen, dass einige Token mehr (oder weniger) wertvoll sind als andere, was wiederum ihre Hauptfunktion beeinträchtigt.


Variabler Zinssatz

Wie wir im vorherigen Abschnitt festgestellt haben, sind ERC-20-Token in hohem Maße anpassbar und können für eine Vielzahl von Verwendungszwecken angepasst werden. So können sie beispielsweise als Spielwährung, in Treueprogrammen, als digitale Sammlerstücke oder sogar als Kunst- und Eigentumsrechte verwendet werden.


Beliebt

Die Popularität von ERC-20 in der Kryptowährungsbranche führt dazu, dass dieses Protokoll als Grundlage für die Erstellung neuer Token verwendet wird. Aus diesem Grund gibt es viele Börsen, Wallets und Smart Contracts, die bereits mit neu veröffentlichten Token kompatibel sind. Darüber hinaus erhalten sie umfassenden Entwicklersupport und verfügen über alle notwendigen Dokumentationen.


Nachteile von ERC-20-Tokens

Skalierbarkeit

Wie viele Kryptowährungsnetzwerke ist auch Ethereum nicht immun gegen Probleme, die mit dem Wachstum des Netzwerks auftreten. Das Netzwerk weist derzeit Skalierbarkeitsprobleme auf. Daher führt der Versuch, eine Transaktion während der Hauptverkehrszeiten zu senden, zu hohen Gebühren und Verzögerungen. Wenn Sie einen ERC-20-Token starten, während das Netzwerk überlastet ist, kann die Nutzbarkeit des Tokens beeinträchtigt sein.

Nicht nur Ethereum ist mit diesem Problem konfrontiert. Verteilte Systeme müssen Kompromisse eingehen, um Sicherheit zu erreichen. Die Community plant, dieses Problem mit der Umstellung auf Ethereum 2.0 zu lösen, das die Updates Ethereum Plasma und Ethereum Casper implementieren wird.

Erfahren Sie mehr über Skalierbarkeitsprobleme in unserem Artikel Blockchain-Skalierbarkeit – Sidechains und Zahlungskanäle.


Betrug

Obwohl dies kein Problem mit der Technologie selbst ist, kann die einfache Einführung eines Tokens als Nachteil angesehen werden. Das Erstellen eines einfachen ERC-20-Tokens erfordert nur minimalen Aufwand, was bedeutet, dass es jeder tun kann, auch für kriminelle Zwecke.

Daher müssen Sie sehr vorsichtig sein, in was Sie investieren. Es gibt eine Reihe von Schneeballsystemen, die als Blockchain-Projekte getarnt sind. Bevor Sie investieren, studieren Sie alles sorgfältig, um selbst zu entscheiden, ob das Projekt zuverlässig ist.

 

ERC-20, ERC-1155, ERC-223, ERC-721 – Was ist der Unterschied?

ERC-20 war der erste (und ist immer noch der beliebteste) Ethereum-Token-Standard, aber es ist bei weitem nicht der einzige. Im Laufe der Jahre sind viele weitere Protokolle entstanden, die Verbesserungen des ERC-20 bieten oder versuchen, andere Ziele zu erreichen.

Einige der weniger verbreiteten Standards werden zur Erstellung von nicht fungiblen Token (NFTs) verwendet. Abhängig vom Verwendungszweck benötigen Sie möglicherweise eindeutige Token mit unterschiedlichen Attributen. Wenn Sie ein einzigartiges Kunstwerk, ein Spielobjekt usw. tokenisieren möchten, können Sie eine dieser Vertragsarten verwenden.

Beispielsweise wurde der ERC-721-Standard für die äußerst beliebte DApp CryptoKitties verwendet. Ein solcher Vertrag stellt Benutzern eine API zur Verfügung, mit der sie ihre eigenen nicht fungiblen Token erstellen und Metadaten (Bilder, Beschreibungen usw.) verschlüsseln können.

Der ERC-1155-Standard kann als Verbesserung gegenüber ERC-721 und ERC-20 angesehen werden. Dieser Standard unterstützt sowohl fungible als auch nicht fungible Token in einem einzigen Vertrag.

Andere Optionen wie ERC-223 oder ERC-621 zielen darauf ab, die Benutzerfreundlichkeit zu verbessern. ERC-223 implementiert Vorsichtsmaßnahmen, um eine versehentliche Übertragung von Token zu verhindern. ERC-621 bietet zusätzliche Funktionen zum Erhöhen und Verringern des Token-Vorrats.

Um mehr über NFTs zu erfahren, lesen Sie unbedingt den Leitfaden zu Krypto-Sammlerstücken und nicht fungiblen Token (NFTs).


Zusammenfassung

Der ERC-20-Standard dominiert seit vielen Jahren den Bereich der Krypto-Assets, und das ist keine Überraschung. Jeder kann problemlos einen einfachen Vertrag für verschiedene Zwecke einsetzen (Utility-Token, Stablecoins usw.). Dem ERC-20 fehlen jedoch einige Funktionen, die in anderen Standards vorhanden sind. Und obwohl es keine genaue Antwort auf die Frage gibt, ob andere Vertragsarten es in Zukunft ersetzen werden oder nicht.