Zum Anlass des gestrigen einjährigen Bestehens von EOS haben wir einen umfangreichen Führer zusammengestellt, über die Geschichte von EOS, wie es funktioniert und wie man es benutzt.
Geschichte
EOS an sich ist ein dezentrales Netzwerk. Die Software dazu wird von der Firma Block.One entwickelt. Der CTO von Block.One ist Daniel Larimer, ein US-amerikanischer Programmierer, der sich in der Szene bereits einen Namen gemacht hat. Daniel Larimer ist schon seit 2009 im Kryptobereich tätig und unter anderem wegen eines Disputes mit Satoshi Nakamoto auf Bitcoin Talk bekannt:
[…] Wenn du mir nicht glaubst oder es nicht verstehst, ich habe keine Zeit dich zu überzeugen, tut mir leid.
Im Thread kann man erkennen, dass Larimer schon damals mit Bitcoin nicht ganz zufrieden war. 2013 entwickelte er mit Charles Hoskinson Bitshares, eine Plattform, die eine dezentrale Exchange beinhaltet und dank des delegated Proof of Stake Konsenmechanismus hohe Transaktionszahlen zulässt (Vitalik Buterin über Bitshares dPos).
2016 verließ er das Projekt und gründete Steem, ein Blockchainprojekt für Social Media, das mittlerweile 90 Mio. Nutzern pro Monat zensurresistentes Bloggen ermöglicht.
Im Jahre 2017 hat Larimer Steem verlassen und als CTO zusammen mit dem CEO Brendan Blumer Block.One gegründet. Block.One ist ein in Hongkong ansässiges Unternehmen, das an der EOSIO Software arbeitet und dApps dafür entwickelt. Im Mai 2017 wurde das Projekt auf der Consensus Konferenz in New York der Öffentlichkeit vorgestellt. Ab Juni 2017 startete das ICO (siehe unten). Nach dessen Abschluss im Juni 2018 wurde das Mainnet gestartet.
Was ist EOS?
EOSIO ist ein auf dem delegated Proof of Stake Konsensmechanismus beruhendes Protokoll, das Smart Contracts unterstützt. Die Anzahl der Blockproduzenten ist auf 21 festgelegt. Es gibt mehrere Netzwerke, die auf dem EOSIO Protokoll aufbauen: Das EOS Mainnet (einfach EOS) dann Worbli, EOSForce, BOS, Telos… Wenn man von EOS spricht, meint man das EOS Mainnet. Im Moment befinden sich bei EOS über 500 Blockproduzenten Anwärter jederzeit wählbar im Bereitschaftsmodus.
Adressierung
Für die Adressierung nutzt EOS Konten (im Gegensatz zu UTXO) mit Klarnamen, welche in Kleinbuchstaben geschrieben werden und genau 12 Zeichen lang sein müssen. Die Zahlen 1-5 sind auch erlaubt. Möchte man einen Namen, der länger bzw. kürzer ist, kann man ihn über eine Auktion erwerben. Der Erlös kommt den Verleihern in der Ressourcenexchange REX zugute.
Jedes Konto hat standardmässig 2 Berechtigungen. Active und Owner. Für diese beiden Berechtigungen kann man jeweils einen beliebigen Schlüssel setzen. (Wie bei Bitcoin secp256k1). Active hat alle Rechte bis auf das Tauschen der Schlüssel selbst. Owner hat alle Rechte wie Active und kann zusätzlich noch die Schlüssel tauschen.
Man kann seinem Konto xbeliebig viele Berechtigungen hinzufügen. Wenn man z.B. dem Handy keinen Zugriff auf das Guthaben des Kontos genehmigen will, aber ein Spiel auf der EOS Blockchain spielen möchte, richtet man eine Berechtigung ein, die nur auf das gewünschte Spiel zugreifen kann und importiert dessen privaten Schlüssel auf das Handy.
Da auf Konten auch Smart Contracts laufen kann man mit dem Berechtigungssystem von EOS komplexe Verwaltungskonfigurationen erstellen. Z. B. könnte man x Schlüssel an vertrauenswürdige Entitäten verteilen welche bei Fehlfunktionen in den Smart Contract eingreifen können. So wäre ein Desaster wie der z. B. der DAO Hack verhinderbar gewesen.
Das Ressourcenmodell von EOS
EOS hat keine Transaktionskosten wie z.B. Ethereum, wo man für jede Transaktion bezahlen muss. Das Zahlen der Transaktionskosten ist bei Ethereum erforderlich, um einmal Netzwerküberlastung durch Spam zu verhindern und, um Endlosschleifen (siehe Ethereum Gas) in laufenden Prozessen zu unterbinden.
Um diese Probleme zu beheben bedient sich EOS eines Ressourcenmodells. Jeder, der EOS nutzen möchte, kauft sich einen Anteil an den Netzwerkressourcen. Diese kann er dann verwenden wie er will. Die Ressourcen werden in Form von den EOS-Token selbst liquide dargestellt. Will man EOS in Ressourcen umwandeln muss man sie wegsperren (staken). Wenn man die Ressourcen wieder liquidieren möchte (unstaken) muss man 3 Tage warten. Die Nodes werden bis Rang 89 über eine jährliche Inflation von 1% bezahlt.
Wird für die Ausführung von Transaktionen verwendet. Je mehr EOS in CPU gestaket sind, desto mehr Transaktionen können,gesehen auf eine bestimmte Zeit, ausgeführt werden. Diese Ressource erholt sich wieder, sprich wenn man das Limit erreicht hat, muss man warten.
Wird beim Transfer von Daten zur rate gezogen. Je mehr EOS in NET gestaket sind, desto mehr Datenvolumen, auf eine bestimmte Zeit gesehen, kann übertragen werden. Für diese Ressource gilt das Selbe wie für CPU, sie erholt sich wieder.
Stellt den Speicher des Kontos dar. Die Lagerung von Daten verbraucht RAM. Auch Token, Kontodaten oder Vorschläge für das Referendum System (siehe unten) brauchen RAM. Das heißt wenn man ein EOS-Konto eröffnen will, ist es notwendig RAM zu kaufen. RAM erholt sich nicht und wird über einen eigenen Markt gehandelt. An- und Verkauf von RAM kosten jeweils 0,5%. Diese Gebühren kommen in den REX-Pool.
Das Wahlsystem
Die Blockproduzenten werden mit dem Gewicht der EOS-Token im Netz gewählt. Damit man wählen kann, ist es erforderlich die EOS-Token in eine Ressource zu staken. Dann hat man die Möglichkeit 30 der über 500 möglichen Kandidaten in Echtzeit zu wählen. Bei EOS gibt es einen Stimmenmultiplikator, heißt, das Stimmgewicht ist abhängig von der Anzahl der Blockproduzenten, die man wählt. Wenn man nur einen Blockproduzenten wählt, kriegt dieser genau die Tokenanzahl an Stimmen. Wählt man z.B. drei, bekommen alle drei die Tokenanzahl an Stimmen.
Wenn man sich nicht so gut auskennt aber trotzdem wählen und damit das System unterstützen möchte, kann man seine Stimmen an einen Proxy delegieren. Damit unterstützt man einfach die Blockprodzenten mit seiner Stimmkraft, für die der Proxy gewählt hat.
Das Referendumsystem
EOS hat ein System eingebaut, das es der Community vereinfacht Referenten über Änderungen des Protokolls abzuhalten. Jeder Kontoinhaber kann Vorschläge machen und jeder in der Community dazu zustimmen, ablehnen oder sich enthalten.
Zum Verständis
Ein Beispiel wie das Berechtigungssysstem die Sicherheit jedes EOS-Nutzers signifikant erhöht: Der Blockproduzent eosauthority hat einen kostenlosen Telegrambot zur Kontoüberwachung entwickelt. Wenn auf dem Konto eine Transaktion stattfindet, meldet sich der Bot sofort.
Den privaten Schlüssel der Owner Berechtigung sollte man prinzipiell immer offline aufbewahren und die EOS, die man halten möchte, in eine Ressource staken.
Wenn jetzt ein Angreifer irgendwie zum Schlüssel der Active Berechtigung gekommen ist (Phishing, Trojaner etc.), muss er die EOS im Konto unstaken, bevor er sie transferieren kann. Macht er das, bekommt man über den Telegrambot eine Meldung und kann handeln. Nun hat man drei Tage Zeit (da der unstake Prozess so lange dauert) den Schlüssel der Active Berechtigung mit einem anderen zu tauschen und den Angreifer somit erfolgreich abzuwehren.
Das ICO von EOS
Da es sich bei EOS um einen Delegated Proof of Stake Konsensmechanismus handelt, ist eine ausgewogene Verteilung möglichst aller Coins für die Dezentralität besonders wichtig.
Der Tokenverkauf begann am 26. Juni 2017 und fand auf der Ethereumplattform statt. In den ersten fünf Tagen wurden 200 Mio. Token verteilt, und zwar anteilsmäßig auf die in diesem Zeitraum eingenommenen Ether. In dieser Runde wurden rund 652.000 Ether eingezahlt, also bekam man pro Ether rund 307 EOS-Token. Danach wurde alle 23 Stunden eine Runde gestartet, bei der 2 Mio. Token anteilsmäßig auf die in der Zeit eingenommenen Ether verteilt wurden. Deshalb 23 Stunden, weil man damit alle Tageszeiten weltweit abdecken kann.
Das ICO ging solange bis 900 Mio. Token verteilt waren, also bis zum 4. Juni 2018. 100 Mio. Token behielt Block.One selbst ein. Diese Token sind für 10 Jahre gesperrt und dienen als Anreiz wertvolle Beiträge zum EOS Ökosystem zu leisten. Der Token konnte ab ICO Start sofort auf den vielen Börsen, auf denen er gelistet war, gehandelt werden.
Da das Ziel der Verkauf von allen Token war, lies man den Markt über den Preis bestimmen. Am Anfang war ungewiss wie viele Ether man einnehmen werde. Am Ende wurde eine Rekordsumme von umgerechnet über 3,6 Mrd. Euro erzielt. In Folge des erfolgreichsten ICOs aller Zeiten hat Block.One einen Risikokapitalanlagefirma mit dem Namen “EOS VC” eingerichtet, die eine Milliarde US-Dollar (rund 895 Mio. Euro) verwaltet um Projekte zu unterstützen, die auf EOS entwickeln.
Nach dem ICO in Juni 2018 wurde dann das Mainnet gestartet und die Ethertoken migrierten auf die EOS-Blockchain. Auf der Ethereum Blockchain wurden die Token eingefroren.
Besonderheiten von EOS
Daniel Larimer legte in der Entwicklung seiner Projekte seit jeher den Fokus auf Nutzbarkeit und Massenanwendung.
ECAF
Dem Otto Normalverbraucher konnte man die Handhabung der Schlüssel nicht zumuten. Die Geschichte hat gezeigt, dass immer wieder Schlüssel und somit die von ihm gesicherten Coins für immer verloren gehen. Chainanalysis meldete im Früjahr 2019, dass rund 4 Mio. Bitcoin unwiderruflich verloren gegangen sind.
Darüber hat man sich bei Block.One Gedanken gemacht und ein System eingeführt, welches das verlorene oder gestohlene Schlüssel Problem lösen kann. Dazu hat man sich der sogenannten ECAF (EOS Core Arbitration Forum) bedient, die in solchen Fällen gerichtet hat. Wurden jemanden Schlüssel gestohlen, konnte er sich an die ECAF wenden. Wenn die Beweislage ausreichend war, wurde das Konto des Diebes eingefroren. Dann hatte er Zeit, um zu dem Vorfall Stellung zu nehmen.
Die ECAF stieß in der Community auf heftige Kritik. Da die Meisten dort an den Blockchainparadigmen festhalten und den Umgang mit Kryptowährungen relativ gut beherrschen. Deshalb wurde das System mit der neuen Verfassung (EOS User Agreement v2) am 14. April 2019 abgeschafft.
Ricardian Contracts und Fehlerbehebung
Ein großes Problem bei Smart Contracts sind Fehler im Code. Des Öfteren gingen dadurch Millionen auf Ethereum (Parity Hack) verloren. Die führenden Köpfe der Kryptoökonomie sind sich einig, unveränderbare Smart Contracts haben keine Zukunft. Keiner kann erwarten, dass man die Blockkette spaltet, weil irgendwo wegen einem Fehler im Code ein paar Millionen Euro klemmen. Kein Unternehmen ist bereit das Risiko einzugehen, in so einer Umgebung Programme zu entwickeln, die große Summen verwalten.
Um diesem Problem entgegenzuwirken hat man für EOS die sogenannten Ricardian Contracts eingeführt. Jedem Smart Contract liegt eine ausführliche Beschreibung in nativer Sprache bei. Jede einzelne Funktion des Smart Contracts wird verständlich gekennzeichnet. Sollte es zu einem Fehler im Code kommen und die Funktion der nativen Beschreibung widersprechen, kann der Fehler behoben und der Status zurückgesetzt werden. Um den Konsens dafür zu bilden müssen mindesten 15 der 21 gewählten Blockproduzenten einverstanden sein.
Programmiersprache
Primär fokussiert sich EOS auf die weit verbreitete Programmiersprache C++. Die Virtuelle Maschine interpretiert Web Assembly (WASM) einen weitverbreiteten Bytecode. Natürlich können im Laufe der Zeit Compiler dazukommen, die andere Programmiersprachen übersetzen. Jüngst hat man ein SDK für Java und Swift veröffentlicht.
Vorteile von EOS
Als DPoS Blockchain besitzt EOS alle Vorteile dieses Konsensmechanismus. EOS hat eine der größten und aktivsten Communities überhaupt im Kryptobereich. In über 10 verschiedenen Telegramgruppen (siehe unten) werden die Probleme und Lösungsansätze um das Projekt diskutiert. Es gibt ein eigenes Online-Magazin, das EOS Writer und zahlreiche Youtubekanäle nutzen, um das Projekt regelmäßig von verschiedenen Seiten zu beleuchten.
Dabei ist es bemerkenswert, dass EOS nicht maßlos gehyped wird, was man annehmen könnte, da die Autoren und Darsteller ins Projekt investiert sind, sondern, dass nach langfristigen Lösungen gesucht wird, auch wenn dies die Diskussion der Schattenseiten erfordert.
Es gibt zahlreiche Softwarebeiträge, besonders von den Blockproducern, um die Gunst der Wähler zu erlangen. So sind unzählige Wallets und Blockexplorer zu EOS erhältlich.
Erst durch die die Ricardian Contracts wird eine sinnvolle Interaktion mit Smart Contracts möglich. Bislang musste man Programmierer sein und den Code verstehen, um dem Smart Contract zweifelsfrei vertrauen zu können. Mit Ricardian Contracts kann es in Zukunft jeder Durchschnittsbürger tun.
Bei EOS legt man einen großen Wert auf Entwickleraffinität. Der Einstieg, Umgang und die Entwicklung auf der Plattform soll besonders leicht fallen.
EOS ist dank des Referendumsystems sehr flexibel. Änderungen können durch Abstimmung der Gemeinde schnell umgesetzt werden.
Nachteile von EOS
Auch bei den Nachteilen ist EOS von denen von DPoS betroffen. Das größte Problem ist momentan der Stimmenmultipikator.
Das Problem, das dabei entsteht ist die mögliche Absprache zwischen Tokenhaltern bzw. Kartellen, die durch ihr Stimmgewicht einen hohen Einfluss auf die Auswahl der Blockproduzenten haben. Momentan wählt die chinesische Kryptobörse Huobi mit den EOS-Token der Nutzer ziemlich einseitig, sodass es eine hohe Konzentration von Blockproduzenten im asiatischen Raum gibt. Es sind allerdings Lösungen auf dem Weg, welche diesem Problem mildern bzw. lösen sollen.
EOS Weekly schildert wie Kollusion zu einseitiger Verteilung der Stimmen führt.
By loading the video, you agree to YouTube’s privacy policy.
Learn more
Ein weiterer Nachteil ist, dass für die Erstellung eines Kontos wegen des Ressourcenmodells ein Geldbetrag entrichtet werden muss, der vom EOS-Preis abhängt. Momentan kostet ein Konto ungefähr 0,38 EOS (~2,5 Euro).
Wallet
Es gibt zahlreiche Wallets für das EOS Ökosystem. Eine besonders nützliche ist Scatter. Es handelt sich hierbei um eine Webschnittstelle (ähnlich Metamask für Ethereum), die man in Zusammenhang mit Browsern wie Chrome oder Firefox benutzt. Wenn man auf eine Internetseite kommt, die Spiele auf einer EOSIO Blockchain darstellt oder einfach nur den Blockchainstatus anzeigt, verbindet sich Scatter mit dem Browser und die entsprechenden Smart Contract ABIs, die man über Transaktionen anspricht, werden geladen. Scatter unterstützt neben dem EOS Mainnet weitere EOSIO Chains wie Telos, EOS Force oder Meetone.
Status und Zukunft von EOS
EOS hat sich in nur einem Jahr zu den meistgenutzten Blockchains hochgekämpft. Auf der Webseite blocktivity.info, die die Operationen auf den gelisteten Blockchains anzeigt, ist EOS seit Monaten unangefochten auf Platz 1.
Momentan kommt die meiste Aktivität von Glückspielanwendungen. Es sind allerdings viele Projekte mit großem Potential in Entwicklung, die EOS in Sachen Massenanwendung nach vorne bringen. Zu den bekanntesten gehören Everipedia (Wikipedia auf Blockchain), Wordproof (Zeitstempeln von Artikeln über WordPress), Goodblock (professionelle Spieleentwicklung), die dezentrale Börse EOSFinex und vieles mehr.
Die größten Ziele sind momentan parallele Prozessabarbeitung (vertikale Skalierung) und Interblockchainkommunikation (horizontale Skalierung). Bislang hat man maximal 3.996 Transaktionen pro Sekunde erreicht.
Für EOS Einsteiger
Ein Konto kann man mit dem EOS Account Creator erstellen. Die beiden erforderlichen Schlüsselpaare kann man sich auf dieser Seite erzeugen lassen. Sehr wichtig: Die Schlüsselpaare, vor allem die privaten Schlüssel (Private Key) unbedingt sicher aufbewahren.
Wichtigste Telegramgruppen / Kanäle:
- Hauptgruppe: @EOSProject
- Deutscher Gruppe: @EOSde
- Informationskanal: @eosgo_news
Youtube und sonstige Informationsquellen:
- Colintalkscrypto. Allgemeine Infos: Youtubekanal
- EOSWeekly. Technische Beleuchtung: Youtubekanal
- Max DAPP. Allgemeine Infos: Youtubekanal
- Everything EOS. Podcast: Youtubekanal
Wallets:
- Greymass EOS Voter Desktopwallet: https://github.com/greymass/eos-voter/releases
- Scatter Webschnittstelle: https://get-scatter.com/
Blockexplorer und Webwallets:
EOSToolkit. Webwallet: Webseite
Bloks.io. Blockchainexplorer+Webwallet: Webseite
EOSAuthority. Blockchainexplorer+Webwallet: Webseite