Bevor darauf eingegangen werden kann, wie man als KMU seinen eigenen Token erstellen kann, z.B. um am Initial Coin Offering (ICO) teilzunehmen, muss der Unterschied von Token zu Kryptowährungen verstanden werden.
Kryptowährungen stellen Vermögenswerte dar, die auf einer eigenen Blockchain basieren, wie z.B. im Falle von Bitcoin auf der sog. «BTC». D.h. pro Blockchain kann jeweils nur eine Art von Coin errichtet werden. Token werden hingegen über eine bereits bestehende Blockchain (meist Etherum) ausgegeben und haben den Vorteil, dass nicht erst eine eigene Blockchain errichtet werden muss. Aus diesem Grund ist es viel einfacher einen Token ins Leben zu rufen als die Errichtung einer eigenen Kryptowährung.
1. Zweck
Bevor man einen Token erstellt, sollte man sich im Klaren darüber sein, welchen Zweck dieser haben soll. Dies klingt einfach, ist allerdings ein sehr wichtiger Schritt, da der Erfolg des Token davon abhängt. Ziel ist es, einen gewissen Wert zum Krypto-Ökosystem beizutragen und eine Community aufzubauen, die das Projekt verfolgt und unterstützt.
Welchen Zweck der Token haben soll, kann jedes Unternehmen selbst bestimmen. Sie werden allerdings nicht wie Kryptowährungen als Zahlungsmittel verwendet, sondern vielmehr wie eine Art interne Währung oder Tauschmittel auf einer Plattform. Dabei kann ein Token vom Ansammeln von Geld, über den Anteil an einer Immobilie/einem Luxusgut bis hin zum Zugang zu bestimmten Dienstleistungen alles darstellen. Um dies zu veranschaulichen ein Beispiel: Der FC Barcelona verwendet Fan-Token, womit die Fans über Mannschaftsangelegenheiten abstimmen oder Markenartikel kaufen können.
Natürlich können Tokens auch Kryptowährungen darstellen, da sie zum Bezahlen, Tauschen oder Handeln genutzt werden können.
2. Die richtige Plattform
Hat man sich für einen Zweck entschieden, muss man eine geeignete Plattform finden, um den Token zu starten. Viele verwenden dafür die Blockchain von Ethereum (ERC20-Token), da Ethereum die Ausführung von dezentralen Apps (sog. dApps) und Smart Contracts innerhalb der Blockchain ermöglicht. Allerdings können hier nur Token in der Programmiersprache «Solidity» erstellt werden, auf anderen Plattformen wie z.B. NEO kann mit verschiedenen Programmiersprachen wie C++ und Java gearbeitet werden. Im Weiteren wird auf die Erstellung eines Tokens auf der Blockchain von Ethereum abgestellt, da diese die am häufigsten verwendete ist.
3. Erstellung eines Smart Contracts
ERC20-Token bestehen aus einem sog. Smart Contract. Dabei handelt es sich um auf einer Blockchain befindliche Computerprotokolle, die einen Vertrag abbilden, welcher nur dann ausgeführt wird, wenn die programmierten Bedingungen erfüllt werden. Der Code für den Smart Contract muss jeweils selbst entwickelt werden. Wer dies nicht will, kann vorhandene Beispiele[1] abändern, darf diese aus Urheberrechtlichen Grünen allerdings nicht einfach kopieren.
Wie erwähnt, muss man dafür die Programmiersprache Solidity beherrschen, was ohne Hintergrundwissen allerdings sehr kompliziert ist. Daher können eigene ERC20-Tokens auch über eine Website erstellt werden (z.B. TokenMint). Allerdings muss die Dienstleistung und die Entwicklung des Smart Contracts in diesem Fall mit Ether bezahlt werden. Dies ist allerdings sehr empfehlenswert, wenn man einen funktionierenden Token erstellen will und sich nur durch den Dschungel der Programmierwelt kämpfen will.[2]
4. Erstellung eines Wallets
Um TokenMint nutzen zu können und um nach Erstellung des SmartContracts eine Verbindung zur Blockchain herzustellen und die Tokens verwalten zu können, muss ein sog. Wallet erstellt werden. Am besten verwendet man dafür MetaMask, da die Einrichtung eines Wallets hier schnell geht und auch andere Tokens unterstützt werden. Allerdings kann man dafür auch andere Wallets verwenden wie z.B. LiteCoin.
Wichtig ist hier, dass die Verbindung zum Wallet nicht verloren gehen darf, da der Zugriff zum eigenen oder auch anderen Token und Kryptowährungen ansonsten nicht mehr besteht. Am besten bewahrt man die vorgegebenen 12 Wörter zur Verifizierung an einem sicheren Ort auf. Achtung: die Reihenfolge der angegebenen Wörter spielt ebenfalls eine Rolle!
5. Testen des erstellten Tokens
Sobald der Smart Contract auf der Blockchain bereitgestellt wird und ein Wallet erstellt wurde, wenden die Daten an das ETH-Wallet gesendet und eine Verbindung zur Ethereum-Blockchain hergestellt. Normalerweise wird ein neu erstelltes Token aber nicht direkt im Mainnet von Ethereum veröffentlicht, sondern erst in einem Testnetz, um zu überprüfen, ob das neue Token überhaupt funktioniert und gehandelt werden kann.
Aus diesem Grund gibt es neben dem Mainnet von Ethereum ein öffentliches Testnetzt bei Ethereum. Bevor SmartContracts also ins Mainnet übernommen werden, sollten sie immer im Testnetz ausführlich getestet werden. Dafür kann man z.B. über MetaMask das Testnetzwerk Ropsten verwenden (klicke dafür oben auf «Wallet» und wähle eines der Testnetzwerke aus). Die Verbindung wird später oben rechts angezeigt.[3]
6. Kompilierung des Smart Contracts
Damit der neue ERC20-Token erstellt werden kann, muss der Text des Smart Contracts kompiliert werden. d.h. mit Hilfe eines Compilers in Maschinensprache (sog. Application Binary Interface oder kurz ABI) umgewandelt werden. Ein Beispiel dafür ist Remix[4], welcher die Smart Contracts kompiliert und im Ethereum Mainnet oder Testnetz bereitstellt. Über den «Solidity Compiler» kann die Compiler-Version ausgewählt werden, welche den Quellcode in der Ethereum-Blockchain bereitstellen kann. Sobald dies erfolgt ist, sollte der Token in der MetaMask erscheinen und anschliessend gehandelt werden.
7. Beachtung der Urheberrechte
Bei der Erstellung eines Tokens muss immer darauf geachtet werden, dass keine Urheberrechte verletzt werden. Bewusst muss einem vor allem sein, dass ein erstelltes Token in den öffentlichen Daten der Blockchain verfügbar ist und durch die Transparenz er Blockchain auch in Tools wie Etherscan auftauchen. Hier sind sogar die jeweiligen Transaktionen sichtbar.
Eine Urheberrechtsverletzung kann auch bei der Benennung des Tokens und der entsprechenden Abkürzung dessen auftauchen. Diese Namen (z.B. Ether) und Abkürzungen (z.B. ETH für Ehter) müssen nämlich einzigartig sein.
8. Fazit
Die Erstellung eines Tokens klingt im ersten Moment sehr einfach, ist aber schwerer als gedacht. Personen, die keine Erfahrung in diesem Bereich haben, holen sich am besten Hilfe von einer Drittperson, da die Erlernung einer Programmiersprache ein etwas längerer Prozess ist. Ohne die richtige Aufgleisung des Smart Contracts ist der Token nämlich in seinem Kern falsch und führt nicht die gewünschten Prozesse aus. Abgesehen davon, stellt das ICO eine billige und schnelle Variante der Kapitaleinholung für Start-Ups dar (worauf in einem weiteren Blogeintrag eingegangen wird).
[1] Beispiele sind hier zu finden: https://gist.github.com/bajcmartinez/c1cefbb3b1375d037f07b7b779568e42
https://github.com/ConsenSys/Token-Factory
[2] Wer das doch möchte, findet hier ein Beispiel zur Erstellung eines Smart Contracts: Hello World-Smart Contract für Einsteiger | ethereum.org (allerdings ohne Gewähr).
[3] Hier können weitere Testnetze gefunden werden: Testen von Smart Contracts | ethereum.org.