Byteball – Sichere dezentrale Speicherung und Wertübertragung ohne Blockchain

Byteball ist ein dezentrales Netzwerk zur unveränderlichen Speicherung von beliebigen Daten welches auf einem gerichteten azyklischen Graphen (engl. DAG) basiert. Es ist neben IOTA das zweite dezentrale Währungsprojekt welches ohne Blockchain funktioniert. Byteball wurde am 25. Dezember 2016 offiziell veröffentlicht und wird von dem Hauptentwickler Anton Churyumov und einem Team entwickelt.

Funktionsweise

Das Netzwerk von Byteball kommt ohne PoW oder PoS aus, stattdessen fungiert eine Hauptkette (Mainchain) innerhalb des DAGs als Ausgangspunkt an die die einzelnen Transaktionen angehängt werden. Dies macht das Netzwerk skalierbar und ermöglicht grundsätzlich Bestätigungszeiten von 30 Sekunden. Die Mainchain wird von mindestens zwölf vertrauenswürdigen Identitäten (sogenannte Witnesses) überwacht bei denen es sich um Einzelpersonen oder Unternehmen mit geprüfter Identität handeln wird, die ein hohes (Geschäfts-)Interesse an der Stabilität des Netzwerks haben.

Witnesses are reptuable users with real-world identities, and users wo name them expect them to never try to double-spend.

Solange sich die Mehrheit der Witnesses (> 50%) seriös verhält, werden Doppeltransaktionen und versuchte Manipulationen entdeckt. Das Vertrauen der Netzwerkbeteiligten für eine korrekte Abwicklung muss somit auf diese Witnesses beruhen. Derzeit gibt es diese Witnesses noch nicht. Die Mainchain wird noch komplett vom Entwickler selbst verwaltet und überwacht.

Ein weiterer Unterschied zu bekannten Konzepten ist die Abwesenheit von Blocks. Transaktionen fungieren als Blockersatz. Jede Transaktion bildet einen eigenen Knoten im Netzwerk.

Der DAG hat gegenüber der Blockchain den Vorteil, dass dieser sich nicht auf aufeinanderfolgende Blöcke beschränkt, sondern die Blöcke bzw. Knoten mehrere Eltern- und Kindeinheiten haben können. Daher müssen Daten nicht zeitnah synchronisiert werden und es können größere Latenzen und höhere Durchsätze sicher toleriert werden.

Verknüpfung der Transaktionen im Byeball-Netzwerk ( G = Genesis Transaktion )

Wie bei Blockchains, wo jeder neue Block alle vorherigen Blöcke bestätigt (und die Transaktionen darin), bestätigt jede neue Kindeinheit im DAG seine Eltern, alle Eltern deren Eltern (sozusagen die Großeltern), Eltern der Eltern deren Eltern und so weiter. Wird versucht eine Einheit zu bearbeiten, muss auch der Hash geändert werden. Da jede Einheit die Hashes all seiner Eltern kennt ist es unmöglich eine Einheit zu überarbeiten ohne mit all ihren Kindern zu kooperieren oder deren private Schlüssel zu kennen. Die Kinder können ihrerseits ihre Einheiten nicht überarbeiten, ohne mit ihren Kindern zusammenzuarbeiten (Enkel der ursprünglichen manipulierten Einheit).

Revision of past records similar to that in [movie] 1984 becomes impossible, as every new unit also implicitly protects all previous units from modification and removal.

Sobald eine neue Einheit (Transaktion) an das Netzwerk gesendet wird und andere Benutzer damit beginnen ihre Einheiten anzuhängen, wächst die Anzahl der sekundären Revisionen die erforderlich sind um diese Einheit zu bearbeiten. Bildlich betrachtet wächst der DAG mit der Zeit wie ein Schnellball, den man zuerst in der Hand formt und durch das Rollen am Boden immer größer werden lässt. Deshalb auch der Name Byteball, eine Komposition der englischen Wörter Bytes und Snowball. Die Schneeflocken stellen die Datenbytes dar.

Währung

Die Währung in Byteball sind Bytes, da Transaktionen innerhalb des Netzwerks anhand ihrer Datengröße abgerechnet werden. Eine Transaktion mit einer Größe von 100 Bytes kostet demnach 100 Bytes Gebühren. Da in einer Transaktion auch die Header und Signaturen mit enthalten sind, hat eine Transaktion immer ein Grundsatz an Größe unabhängig wie viel Daten in den DAG gespeichert werden. Die maximal existierende Menge an Einheiten im Netzwerk ist 1015 Bytes. Die Transaktionskosten sind ein großer Unterschied zum gebührenfreien System von IOTA.

Zusätzlich integriert das System auch eine parallele anonyme Währung die die Bezeichnung BlackByteball bzw. BlackByte trägt. Rein technisch ist BlackByte ein Asset innerhalb des Systems, mit der das Senden von nicht nachweisbaren Transaktionen möglich ist, indem die Inhalte privat direkt von Benutzer zu Benutzer übertragen werden. Um mit BlackBytes anonym zu zahlen, müssen beide Seiten ihre Geräte verknüpfen. Jedes Gerät (z.B. PC oder Mobiltelefon) auf dem Byteball läuft hat eine einmalige Geräteadresse innerhalb des Systems, ähnlich einer IP. Sobald die Geräte die Kommunikation miteinander hergestellt haben, kann der Zahlungsempfänger seine Zahlungsadresse an den Zahlenden über eine Chat-Nachricht senden und der Zahlungstransfer durchgeführt werden. Transaktionen mit BlackBytes werden nicht im DAG abgelegt und sind daher nicht nachvollziehbar.

Oracles und Conditional Payments

Oracles sind erweiternde Bibliotheken von Drittanbieter, die es erlauben Daten in die Byteball-Datenbank zu schreiben und diese für bestimmte Zwecke zu nutzen. Im Zusammenspiel mit bedingten oder an Regeln gebundene Zahlungen (engl. Bind oder Conditional Payments) ergeben sich durch Oracles schier unbegrenzte Möglichkeiten.

Beispiel Aufbau einer denzentralen Zahlungsfreigabe von Byteballs mit der Bedingung, dass 0.5 Bitcoin bis zu einem bestimmten Datum auf einen bestimmte Adresse transferiert wurden
Beispiel

Eine Fluggesellschaft akzeptiert Byteball als Zahlungsmittel. Ein Oracle greift auf Flugdaten zur Airline zurück. Zum Schutz gegen stornierte Flüge wird die Zahlung in einem virtuellen Vertrag gesperrt und erst an die Fluggesellschaft freigegeben, wenn der Flughafen den Abflug des gebuchten Flugs bestätigt. Wenn die Fluggesellschaft den Flug umbucht oder storniert, wird die gesperrte Zahlung automatisch an den Kunden zurückgegeben.

Derzeit gibt es einige wenige Oracles, zum Beispiel für Bitcoin. Dieses Oracle bindet die API der Bitcoin-Blockchain ein und kann so near-time auf Bitcoin-Transaktionen zugreifen. Somit können Byteballs sicher in Bitcoin getauscht werden, ohne dass ein Dritter als vertrauenswürdiger Intermediär einbezogen werden muss.

Ferner können auch zeit- und event-basierte Zahlungen definiert werden, die den Charakter eines Smart Contracts haben. Ein Beispiel ist das Hedging: Zwei Parteien beschließen, eine Zahlung von Byteballs dann durchzuführen, wenn der Bitcoinpreis einen vorher festgelegten Wert innerhalb eines bestimmten Zeitraums überschreitet. Tritt dieser Fall ein, wird die für die Transaktion hinterlegte – und für den Zeitraum des Contracts gesperrte – Menge an Byteballs automatisch an den Empfänger gesendet. Tritt der Fall nicht ein werden die Byteballs wieder an den jeweiligen Besitzer freigeben.

Assets

Zukünftig ist die Ausgabe von Assets geplant die durch das Byteball-Netzwerk gesichert werden. Neue Assets können ausgegeben und Regeln definiert werden, die ihre Übertragbarkeit regeln. So können individuelle Token oder weitere Kryptowährungen, sogenannte Colored Coins, innerhalb von Byteball erstellt werden. Wie bereits erwähnt ist die anonyme Parallelwährung BlackByte ein solches Asset.

Verteilung

Byteball hielt kein ICO ab. Es verteilt den Großteil der Einheiten kostenlos. Bei der Verteilung greift Byteball auf ein interessantes und aus meiner Sicht den Umständen der Kryptowelt entsprechend faires Verfahren zurück. Jeder der Bitcoins besitzt kann diese über den Chatbot der Byteball-Software mit seiner Byteball-Adresse verknüpfen. Bei jeder Verteilungsrunde werden je verknüpften Bitcoin 62,5 MegaBytes gutgeschrieben. Zusätzlich bekommt man nochmals 10% der Byteballs die man in seinem Wallet bereits besitzt oben drauf. Um teilzunehmen muss der Teilnehmer entweder Bitcoins und/oder bereits Byteballs besitzen oder vorher gekauft haben.

Insgesamt werden über einen Zeitraum 1015 Bytes kostenlos verteilt. 1% davon behält das Entwicklerteam. Eine Verteilungsrunde ist einmal monatlich am Tag des Vollmonds. Dieses Verfahren wird so lange wiederholt, bis alle Bytes verteilt sind. Nach aktueller Rechnung wird dies etwa zwei Jahre dauern. In diesem Zeitraum hat jeder die Chance kostenfreie Bytes und BlackBytes zu erhalten.

Software

Als Byteball’s Mainnet kurz nach Weihnachten 2016 an den Start ging, hatte die Software einen erstaunlichen Reifegrad hinsichtlich Funktionalität, Stabilität und Benutzerfreundlichkeit. Technologisch basiert die Software auf Node.js und SQLite und bietet neben einfach zu installierender Software für die drei großen Betriebssysteme auch eine mobile Android Version.

In Zukunft sind weitere Funktionen für die Software geplant, die bereits im Whitepaper beschrieben sind, aber noch nicht (vollständig) implementiert sind. Darunter gehören ein ausgeklügeltes Asset- und Voting-System sowie Private Messaging.

Byteball Client auf macOS

Byteball vs IOTA

Auch wenn beide Projekte im ersten Moment viele Ähnlichkeiten haben, gibt es doch wesentliche Unterschiede. IOTA hat den Anspruch ein Treiber der Entwicklung und Rückrad von IoT zu sein. Der Fokus liegt auf der Vernetzung von eingebetteten Geräten und deren gegenseitige Kompensation durch Leistungsbereitstellung und damit der vollständigen Abwesenheit von Gebühren innerhalb des Netzwerks. Währenddessen liegt der Blick von Byteball eher auf dem Endbenutzer und Anwendungsfälle im B2-Bereich.
Ein Beitrag im TangleBlog bietet eine sehr interessante Grafik die die Unterschiede der beiden Systeme darstellt.

Weiterführende Links
Offizielle Webseite
Whitepaper

2 replies to Byteball – Sichere dezentrale Speicherung und Wertübertragung ohne Blockchain

  1. Öhm… Wo gehen die Transaktionsgebühren denn hin?

    • Die Gebühren gehen zum Teil an den Elternknoten, der die neue Transaktion als erster referenziert, sowie zum Teil an die “Witnesses” die die Mainchain definieren und damit die Ordnung im DAG aufrechterhalten.

Schreibe einen Kommentar

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