Was sind „ERC-20 Token“ und „ERC-721 Token“?

ERC20
ERC20 (Quelle: news.earn.com/the-anatomy-of-erc20-6ab09d4206a5)

In der Welt der Kryptowährungen ist immer wieder die Rede von ERC-20 Token oder ERC-721 Token. Für was stehen diese Abkürzungen und was steckt dahinter?

Zunächst stellt sich die Frage, was sind „Token“?

Ein Token stellt ganz allgemein Vermögenswerte oder Vermögensgegenstände dar. Innerhalb von Kryptowärhungen sorgen Tokens dafür, dass die Eigenschaften dieser Vermögenswerte digitalisiet werden können. Im konkreten Fall der ERC-20 Tokens sind dies Smart Contracts, die bestimmte Eigenschaften erfüllen.

Wofür steht der Begriff ERC-20?

ERC steht dabei für „Etherum Request for Comment“ und definiert einen Standard innerhalb von Ethereum basierten Blockchains. Die Zahl 20 steht dabei für die eindeutige Identifikationsnummer, die erteilt wurde, um ihn von anderen zu unterscheiden. Eingeführt wurde dieser Standard bereits Ende 2015 durch Fabian Vogelsteller und Vitalik Buterin.

Die erstellten Token in diesem Format garantieren die Einhaltung der Ethereum-Blockchain Technologie. Sie legen beispielsweise fest, wie hoch die Tauschrate zwischen zwei Ethereum basierten Währungen ist. Dabei wird überprüft, ob auch das bestehende Guthaben hoch genug ist, um den Tausch überhaupt durchführen zu können. Nur wenn diese Bedingung erfüllt ist, kann der Tausch initialisiert und letztlich durchgeführt werden.

ERC-20 Token sind also Smart Contracs, die auf der Ethereum Blockchain ausgeführt werden.

Der große Vorteil dieser Regeln ist wie bei anderen, allgemeinen Standards: Entwickler können sich beispielsweise darauf verlassen, dass bei ERC-20 Token bestimmte Regeln immer eingehalten werden. Es werden bestimmte Methoden der Programmierung fest vorgegeben und die Kommunikation zwischen Ethereum-Blockchain basierten Lösungen erleichtert.

Durch die Standardisierung werden folgende Funktionen fest definiert: balance of (Wert bei Vertragsstart), totalSupply (gesamte Token Menge), transfer (Transfermenge), transferFrom (öffentliche Absender Adresse), approve (Bestätigung) und allowance (Akzeptanz) Optional können Token Name, Symbol und Dezimalstellen mit angegeben werden. Betrachten wir nur nun die einzelnen Funktionen etwas konkreter:

balanceOf()

Mit dieser Funktion wird die im Vertrag festgehaltene Tokenanzahl dargestellt.

totalSupply()

Dadurch wird die aktuell im umlauf befindliche Anzahl der Token ermittelt und wiedergegeben.

approve()

Sorgt dafür, dass die Bedingung innerhalb des Vertrags auch verifiziert wird.

transfer()

Löst die Übertragung der Tokens aus.

transferFrom()

Diese Funktion ermöglicht das auslösen des Smart Contracts im Namen des Eigentümers. Damit kann beispielsweise deine Bank automatisch eine Überweisung ausführen, ohne das du selbst die Empfängerdaten eingeben muss. Natürlich geschieht dies nur, wenn die geforderte Bedingung erfüllt ist.

Token Name

Optionales Feld mit dem Name des Tokens

Token Symbol

Optionales Feld für das Währungskürzel wie bspw. BTC

Number of Decimals

 Optionales Feld um die Dezimalstellen zu definieren

Als Beispiel für die verwendete Technologie können folgende Währungen genannt werden:

  • Qtum
  • Omisego
  • Golem

Durch den fest vorgegebenen Standard fällt es auch Walletanbietern und Exchanges leichter, neue Token/Kryptowährungen aus der ERC-20-‚Familie‘ aufzunehmen. Sind die Voraussetzungen einmal dafür geschaffen, ist der restliche Aufwand zur Implementierung sehr gering.

Was sind ERC-721 Token?

Wie bereits die ERC-20 Token folgen ERC-721 Token bestimmten Regeln und Richtlinien. Die Nummer 721 dient zur Unterscheidung und ist die eindeutige dem Token-Standard zugewiesene ID-Nummer. Der Hauptunterschiede zwischen beiden Tokenformaten liegt in der Austauschbarkeit.

Tokens, die dem ERC-20 Format folgen sind gleich untereinander und vollkommen austauschbar. Als Beispiel können hier Währungen genannt werden. Eine 1 Euro Münze ist immer ein Euro Wert, auch bei unterschiedlichen Prägestätten. Nach dem ERC-721 Standard erhält ein Token Einzigartigkeitsmerkmale. Diese Merkmale sorgen dann für eine unterschiedliche Wertstellung innerhalb der Blockchain ähnlich wie bei Sammlerstücken.

Im direkten Vergleich können folgende Merkmale festgehalten werden:

EigenschaftERC-20ERC-721
Austauschbarkeitaustauschbar (fungibel)nicht austauschbar
Teilbarkeitteilbarnicht teilbar
Individualitätindividuelle Gestaltung möglichkeine  individuelle Gestaltung möglich