Liebe Leser,
wie viele von euch sicher mitbekommen haben, gab es vor wenigen Tagen einen Byteball Airdrop für alle Steemit-Benutzer, bei dem man (je nach Reputation) Byteball Bytes im Wert von bis zu $160 US bekommen konnte.
Da man sogar für die Empfehlung anderer Steemit-Benutzer üppige Belohnungen bekommen konnte, hat sich das Ganze natürlich schnell wie ein Lauffeuer verbreitet. Leider war das dann doch etwas zu viel für das Byteball Netzwerk und seit ungefähr Freitag Abend können keine Transaktionen mehr ausgeführt werden.
Screenshot des Byteball-Explorers
Hintergrund
Um zu verstehen, was die Ursachen für die Überlastung des Byteball Netzwerkes sind, muss man wissen, dass der Byteball einen radikal anderen Ansatz verfolgt, als die meisten anderen Cryptowährungen. Es gibt nämlich keine Blockchain:
Byteball verfolgt einen radikal anderen Ansatz: weg mit den Blöcken! Keine Blöcke – keine Beschränkung der Anzahl der Transaktionen. Das zugrundeliegende Protokoll nennt sich DAG (Directed Acyclic Graph oder deutsch: gerichteter, azyklischer Graph): https://de.wikipedia.org/wiki/Gerichteter_Graph
Dies bedeutet auch, dass es keine Miner, kein POW, kein POS und keine Beschränkung der Transaktionsanzahl gibt. Statt dessen gibt es sogenannte Full Nodes, die eine vollständige Kopie der Byteball-Datenbank speichern und Witnesses, die deren Richtigkeit überprüfen.
Da die DAG-Chain über keinen sicheren Zeitstempel (oder Blocknummer) verfügt, brauchen die Peers eine zuverlässige Quelle von Transaktionen, die garantiert in einer definierten Reihenfolge erzeugt wurden. Dies verhindert, dass Transaktionen bestätigt werden, die aus einem Fork (sogenannte Schatten-DAG) eines Betrügers stammen. Außerdem kann man dadurch Double-Spends (doppelte Bezahlung mit denselben Coins) erkennen.
Das Problem
Dies hat wohl bisher auch immer reibungslos geklappt, doch wie ich im Byteball Slack erfahren konnte, gab es wohl ein Problem mit der Datenbank, weil man entschieden hat, Transaktionen zuzulassen, die noch nicht von den Witnesses bestätigt worden sind. Dadurch ist der DAG sehr komplex geworden.
Der Graph ist jetzt sehr komplex, was die Validierung sehr langsam macht, und er wird immer noch in SQL ausgeführt. Ein so großer komplexer Graph wurde möglich, nachdem wir erlaubt haben, unbestätigtes Guthaben auszugeben.
Anton "Tony" Churyumoff (Chefentwickler)
Wie ein User namens Peter Miklos (der eine Node und den Byteball Market betreibt ) schreibt, hat diese Entscheidung scheinbar die "Skalierungsprobleme forciert, die vorher schon aufgetaucht sind."
Ich denke, der Code sollte bereinigt werden, damit andere Entwickler verstehen können, wie die Validierung funktioniert und bei der Lösung solcher Probleme helfen können. Einige der Abfragen und Funktionen sind einfach zu komplex, um sie ohne eine persönliche Einweisung von Tony zu verstehen.
Er schreibt weiter:
Ja, die SQLs sollten extrahiert und nicht mit Code gemischt werden. Macht es auch unmöglich, Tests zu schreiben.
Bedenkt man, dass der Chef-Entwickler nicht nur der einzige zu sein scheint, der den Code lesen kann, sondern auch alle 12 Witnesses betreibt, so macht das alles (trotz vieler interessanter Ansätze) im Moment nicht den vertrauenserweckendsten Eindruck.
Es gibt 12 Witnesses in Byteball und die Standardeinstellung in der Wallet verweist aktuell auf die Witnesses auf Servern des Byteball-Chefentwicklers Tony (Anton Churyumoff). Dies ist akzeptabel, während noch Airdrops durchgeführt werden und noch eine große Menge Coins in seiner Hand sind. Langfristig sollen diese Witnesses aber von anderen Benutzern betrieben werden, sinnvollerweise mit offengelegter Identität wegen der Vertrauensstellung. Das steht aber z.Zt. noch nicht an.
Zusammenfassung
Wie die meisten anderen Steemians war ich anfangs begeistert darüber, dass Byteball sich dazu entschieden hat, die Steemit Plattform für einen Airdrop zu nutzen und dabei sowohl die Steem-Reputation, als auch die Steem-Benutznamen in ihr System zu integrieren.
Natürlich ist es enttäuschend, dass das Byteball Netz nicht einmal einen Tag nach der Ankündigung des Airdrops zusammengebrochen ist. Obwohl der Chefentwickler mit Sicherheit alles daransetzt, die Probleme zu beheben und das Netzwerk wieder zu stabilisieren, finde ich es sehr schade, dass man die Probleme nicht gleich offen auf Steemit kommuniziert hat und vielleicht sogar um Unterstützung gebeten hat.
Mittlerweile werden langsam alle Transaktionen abgearbeitet und ich hoffe, dass man das Byteball Wallet in ein paar Stunden wieder benutzen kann. Selbstverständlich werde ich dann auch allen, die mich darum gebeten haben, ihre Bytes überweisen, damit sie ihren Steemit-Benutzernamen authentifizieren und sich die kostenlosen Bytes holen können.
Ob allerdings ein so zentralisiertes System, wie der Byteball DAG es zur Zeit ist, auf Dauer euer Vertrauen verdient, müsst ihr letztlich selbst entscheiden.
Links
Hier noch ein paar interessante Links für euch:
Sehr interessantes Interview mit dem Byteball Community-Manager "CryptKeeper"
Der Byteball Explorer, wo ihr nachschauen könnt, welche Transaktionen zuletzt in die Datenbank geschrieben wurden.
Der Byteball Slack, wo ihr euch an der Diskussion beteiligen oder eure Hilfe anbieten könnt.