ERC-20, was bedeutet der Term?

ERC-20 Token. Davon hast Du sicherlich schon mal gehört Aber welche Bedeutung hat es?

Was bedeutet ERC-20?

ERC steht für „Ethereum Request for Comment“. Die 20 lediglich die Nummer, die  bei Einreichung am 19. November 2015 von Fabian Vogelsteller zugeordnet worden ist. Dieser technische Standard beschreibt an sich nichts weiter als eine Menge an Regeln (eher Funktionen im programmiertechnischen Sinne), die eingehalten werden müssen, um einen Token auf die Ethereum Blockchain bringen zu können. ERC-20 definiert 6 verschiedene, erforderliche Funktionen. Diese beschreiben grob wie Token transferiert und wie Informationen über Token abgerufen werden können. Dies stellt sicher, dass jeder Token im Ethereum Netzwerk gleich funktioniert. Gleichzeitig führt dies dazu, dass beinahe alle Wallets (z.B. MyEtherWallet), die für Ether ausgelegt sind, auch alle ERC-20 Token unterstützen.

Auflistung der ERC-20 Regeln/Funktionen:

Optional

  • Token Name
  • Symbol
  • Dezimalstellen (max 18)

Erforderlich

  • totalSupply -> wie viele Tokens gibt es ingesamt
  • balanceOf -> wie viele Tokens hält eine bestimmte Adresse
  • transfer -> Transfer von Token autorisiert durch Adresse A von A nach B (simples Transferieren)
  • transferFrom -> Transfer von Token autorisiert durch Adresse B von A nach B (Anfordern von einem Transfer)
  • approve -> setzt eine erlaubte Menge von Token, die transferiert werden darf, z.B. von A nach B
  • allowance -> überprüft, welche (verbleibende) Menge an Token transferiert werden darf, z.B. von A nach B

Die Programmiersprache auf der Ethereum Blockchain heißt Solidity. Möchte man nun einen eigenen ERC-20 Token erstellen, muss man einen Smart Contract programmieren. Hierfür werden die oben aufgelisteten Funktionen bzw deren exakten Benennungen benötigt.

Diese Funktion fragt beispielsweise ab, wie viele Token auf der angegebene Adresse (tokenowner) liegen:

function balanceOf(address tokenOwner) public constant returns (uint balance) {
return balances[tokenOwner];
}

Jetzt wäre geklärt, was ERC-20 eigentlich ist, aber:

Wozu gibt es den ERC-20 Standard?

Aus dem selben Grund, aus dem es auch alle anderen Normen/Standardisierungen gibt. Es vereinfacht und beschleunigt die Implementierung in bestehende Systeme. Eine Exchange hat es viel einfacher, einen neuen Token aufzunehmen und zu „verarbeiten“, wenn grundlegende Funktionen gleich benannt sind. Stell Dir einfach vor, man würde die Funktion „send“ und nicht „transfer“ nennen. Das müsste die Exchange erstmal wissen und anpassen. Durch das Einhalten von ERC-20 Richtlinien im Programmcode, lässt sich dieser Mehraufwand verhindern. Dies bedeutet also, dass Drittanbieter eine, generell für ERC-20 basierende Token, Applikation schreiben können ohne grundlegende Probleme zu erwarten.

Was sind ERC-20 Token?

ERC-20 Token sind alle Token, die mit der Ethereum Blockchain kompatibel sind. Ethereum ist quasi nichts anderes als ein Supercomputer, welcher sich aus abertausende von Clients (Miner) zusammensetzt. Ether ist die Währung im Ethereum Netzwerk. Alle ERC-20 Token sind quasi nur Layer, die dort aufgesetzt werden, sozusagen Assets. D.h. jede Interaktion mit der Blockchain muss also mit Gas, der Transaktiongebühr Ethereums, bezahlt werden.

Analogie aus dem echten Leben, die Autobahnmaut:

Eine Autobahn kann von allen möglichen Autotypen (Token) befahren werden. Diese müssen für die Nutzung der Autobahn (Ethereum Blockchain) jedoch eine Maut (Gas) bezahlen.

Aber merke: ERC-20 Token können auf der Ethereum Blockchain laufen, können aber auch ihre eigene Blockchain besitzen und lediglich kompatibel sein. Interoperabel. Ein Beispiel wäre DragonChain, ein ERC20 Token, welcher jedoch auf seiner eigenen Blockchain läuft und sogar noch zu Bitcoin kompatibel ist.

Welche ERC-20 Token gibt es?

Der Großteil aller Kryptowährungen sind ERC-20 Token, basieren also auf der Ethereum Blockchain. U.a. sind dies EOS, Tether, TRON, OmiseGo oder VeChain.

Quellen:

https://github.com/ethereum/EIPs/issues/20

https://theethereum.wiki/w/index.php/ERC20_Token_Standard

 

Schreibe einen Kommentar

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