Do. Apr 25th, 2024

Der ERC20-Token ist vielen bekannt, möglicherweise besitzen sogar einige Kunden von wie Sie ein paar davon. Mit dem ERC20-Token-Standard sind oberflächlich alle bekannten und wichtigen Bugs beseitigt worden, es sind jedoch noch einige Nachteile vorhanden. Neben diesen Token, die auf Ethereum basieren gibt es noch einige weitere Standards. Der folgende Artikel gibt Ihnen eine Übersicht über ERC20 sowie andere Standards.

Akute Bugs bei ERC20

Bei ERC20 handelt es sich um den ersten Ethereum-Token. ERC bedeutet dabei “Ethereum Request for Comments) und wird als offizielles Protokoll zur Verbesserung des Netzwerks von Ethereum. Token werden als “ERC20-Token” akzeptiert, wenn bestimmte, von ERC20 definierte Regeln eingehalten wurden. Diese ERC20-Token lassen sich wie jede andere Blockchain-Asset (also wie bei Bitcoin, Litecoin, Ethereum und jeder anderen Kryptowährung) handeln, empfangen und senden.

Natürlich ist auch der ERC20-Standard programmiert wurden und enthält dementsprechend einige Bugs oder Logikfehler. Bei der Erstellung wurden zwei verschiedene Wege zur Transaktion von Token berücksichtigt. Einerseits können Token an eine andere Adresse gesendet werden. Ein Smart-Contract wird angezahlt, indem die Funktionen “approve” sowie “transferFrom” genutzt wird. Danach kann die Genehmigung des Contracts erfolgen, damit die Token abgehoben werden können. Im Anschluss wird mittels “transferFrom” das Füllen bzw. Abheben der Token durchgeführt.

Bei der Übergabe von Token für einen Vertrag mit “transferFrom” ist diese Transaktion grundsätzlich gültig. Allerdings erkennt der Vertrag vom Nutzer diese nicht an, was dazu führt, dass die Token nicht auf Ihr Konto geladen werden. Normalerweise ist eine Funktion für Notfall-Token im Austauschvertrag (dezentral) hinterlegt. Sollte dies nicht der Fall sein, können die Token nicht zurückgegeben werden und sind damit für immer verloren.

ERC20

ERC20 wird weiterhin genutzt

Die Community von Ethereum wurde bereits frühzeitig auf diesen Fehler aufmerksam gemacht, aber trotzdem wird ERC20 aus folgenden Gründen weiterhin genutzt und ist weit verbreitet.
Die Entwickler sehen sich schlicht und ergreifend nicht in der Verantwortung.
So wie bei TheDAO fördert die Ethereum Foundation den ERC20-Token unabhängig davon, ob dieser Mängel aufweist oder nicht.
Bei der Entwicklung von Token geht es immer darum, möglichst viel Geld und Investitionen zu generieren und nicht um ein gutes Produkt.
Jede Veränderung bei den Standards führt zu Streit innerhalb des Netzwerks und gerade Ether hatte in der Vergangenheit bereits Schwierigkeiten bei der Erweiterung.

Kann ein neuer Standard die Probleme lösen?

Mit dem ERC223-Token können Transaktionen im Ether-Netzwerk ebenfalls und genauso durchgeführt werden. Allerdings wird bei diesem Standard der Tokenverlust verhindert, indem bei jeder Transaktion eine Ereignisbehandlung stattfindet. Damit werden Transaktionen storniert, falls ein Fehler bei der Übertragung auftritt und die Token können nicht verloren gehen. Damit ist der wesentliche Bug bei ERC20 behoben und das Hauptaugenmerk liegt auf der Übertragungssicherheit.

ERC20

Die Erweiterung von ERC223

Die Funktion zur Übertragung enthält bei ERC223 einen zusätzlichen Parameter, damit umfangreiche Vorgänge ermöglicht werden.

Da viele Nutzer den Verlust von Token beklagen könnten, wenn diese einen Transfer an einen Vertrag durchführen, anstatt “approve” und “transferFrom” zu nutzen, muss dieses Hauptproblem beseitigt werden.

Bei der Übertragung muss eine Überprüfung der Empfängeradresse stattfinden. Wenn es sich dabei um einen Vertrag handelt (enthält Daten bzw. Keine Daten), kann die Funktion “tokenFallback” genutzt werden. Sollte diese allerdings nicht implementiert sein, können die Token verloren gehen, da die Sicherungsfunktion des Vertrags aufgerufen wird.

Der neue Standard ERC777

ERC777 basiert auf ERC820 und soll umfassende Verluste von Token durch Fehler im ERC20-Standard verhindern, indem eine verbesserte Kompatibilität der Token angestrebt wird. Der Fokus liegt hierbei auf der Akzeptanz von Transaktionen, indem mehr Mechanismen zur Verarbeitung von diesen bereitgestellt werden.

Die Vorteile von ERC777

Bei ERC820 gibt es im Netzwerk ein zentrales Vertragsregister. Damit ist es möglich, eine neue Methode zu entwickeln, welche die Contract-Interfaces erkennt. Im Register kann überprüft werden, ob eine Adresse vorhanden ist und welche Funktionen implementiert sind.

Damit wird ein großes Problem bei Ether gelöst, nämlich das Nichtvorhandensein von einer Möglichkeit zur Feststellung der unterstützten Funktionen. Dieses Vorgehen wurde vom ERC820-Standard übernommen.

Bei diesem Standard werden die Funktionen “transfer”, “approve” sowie “tokenFallback” durch andere ersetzt, nämlich “send”, “authorizeOperator” und “tokensReceived”. Damit werden die alten Funktionen nicht ersetzt und die Token von ERC777 und ERC820 sind zueinander kompatibel.

Probleme bei der Sicherheit

Token können in Ihrem Namen verwaltet werden, indem die Funktion “authorizeOperator” genutzt wird. Damit ist im ersten Schritt keine komplette Transaktion möglich, denn für die Ausgabe muss eine zweite Transaktion erfolgen und zwar dann, wenn auch eine Transaktion durchgeführt werden könnte. Dies benötigt insgesamt mehr Leistung und verringert auch die Bandbreite des Netzwerks.

Durch einen Abgleich der Adresse mit einer Whitelist am Interface “ITokenRecipient” wird verhindert, dass ein Token nicht weitergeleitet wird. Diese Prüfungen dürfen auf keinen Fall nur optional erfolgen, da durch den netzwerkorientierten ERC777-Standard mehrere Millionen Dollar in Form von Token transferiert werden.

Weitere Standards, die wichtig sind

Der ERC827 vereint die Vorteile des ERC20 mit den Neuerungen des ERC220-Standards. Weiterhin liegt der Hauptfokus bei ERC664 bei der Modularität der Token. Damit ist eine Aktualisierung von Smart-Contracts möglich, enthält jedoch ebenfalls den kritischen Bug des ERC20. Weitere unbekannte Standards sind ERC721, ERC820 und ERC677, die aber im Gegensatz zu den anderen nicht weiter verwendet werden.

Sind die Standards kompatibel zueinander?

Sofern Dienste (z. B. Wallets) korrekt mit ERC20 funktionieren, lassen sich diese auch mit dem ERC223-Standard verwenden. Damit sind diese kompatibel, jedoch mit einer Ausnahme. Sollten Verträge “approve” und “transferFrom” als Template benutzen, können diese mit ERC223 verwendet werden, jedoch ist dies im Standard im Moment nicht vorgesehen. Sonstige dritte, die keine Smart-Contracts sind, können mit dem Standard ERC223 benutzt werden, wozu Wallets und weitere Dienste gehören.

ERC777 und ERC20- sind zu älteren Versionen kompatibel. Damit lassen sich Verbesserungsvorschläge (EIP) senden und damit besteht zwischen diesem und dem ERC20-Token eine Kompatibilität.

Abschluss

Die Freigabe von Token erfolgt immer nur mit einem einzigen Ziel und zwar der ICO (Initial Coin Offering). Die Lösung der Probleme von ERC20 können auf unterschiedliche Art und Weise geschehen. ERC223 aber auch ERC777 bieten schon heute unterschiedliche Ansätze, damit die Zukunft von Ethereum sichergestellt wird. Bereits heute sind diese Standards in Benutzung, wenn auch nur in bestimmten Bereichen. Ethereum Classic nutzt beispielsweise ERC223 statt ERC20.

Autor Bio: Eugene Kyselev, Blockchain Programmierer bei Mobilunity. Eugene hilft Unternehmen auf der ganzen Welt, ihre technischen Träume in die Tat umzusetzen. Er sieht die Dezentralisierung und Blockchain-Integration in die Geschäftsprozesse und Politik als eine große Chance, die die ganze Welt verändern können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert