Für eine komplette technische Beschreibung bitte das Whitepaper lesen:
https://byteball.org/Byteball.pdfBörsen:
https://cryptox.pl und im Kanal #book in unserem Slack
http://slack.byteball.orgAuktionen: Kanal #auctionroom im Slack
http://slack.byteball.orgExplorer:
https://explorer.byteball.orgDas Testnetz ist bereits online. Probier es aus, indem Du die Wallet herunterlädst:
Desktop-Wallets sind eigenständige Knoten (es dauert eine Weile nach dem ersten Start, bis man mit dem Netzwerk synchronisiert ist). Mobile Wallets sind "leichte" Knoten (light clients).
Gehe nach der Installation der Wallet auf
https://byteball.org und klicke auf den Link, um Gratis-Bytes zum Spielen zu erhalten. Der Link öffnet Deine Wallet:
Das DesignEs gibt keine Blöcke in Byteball und keine Probleme mit der Größe von Blöcken. Stattdessen referenziert jede neue Transaktion eine oder mehrere Vorgänger (Eltern), indem sie deren Hashes einfügen und signieren. Die Verbindungen zwischen den Transaktionen untereinander bilden einen DAG (
directed acyclic graph - zielgerichteter Azyklischer Graph):
Weil sie ihre Eltern einfügen, hinzufügen und bestätigen alle neuen Transaktionen auch indirekt alle Eltern der Eltern, Eltern der Eltern der Eltern, usw.. Während immer mehr Transaktionen nach deiner Transaktion hinzugefügt werden, wächst die Anzahl der Bestätigungen die du erhältst wie ein Schneeball, daher auch der Name Byteball (unsere Schneeflocken sind Datenbytes).
KonsensEs gibt kein POW, kein POS und kein Mining (schürfen). Stattdessen haben wir den DAG, welcher bereits eine
partielle Reihenfolge innerhalb der Transaktionen herstellt, außerdem fügen wir innerhalb des DAG noch eine Hauptkette (main chain) hinzu:
Die Hauptkette (main chain: MC) erlaubt es, die
vollständige Reihenfolge innerhalb der Transaktionen herzustellen: die Transaktion, die früher in die MC eingefügt wird (direkt oder indirekt), gilt als früher in der vollständigen Reihenfolge. Wenn es eine Doppelt-Bezahlung (double-spend) gibt, gilt diejenige Version der Transaktion als gültig, die zuerst in der vollständigen Reihenfolge kommt und alle anderen gelten als ungültig.
Die Hauptkette ist deterministisch definiert durch die Positionen der Transaktionen im Graph. Sieh für Details im Whitepaper nach, aber als allgemeine Regel gilt, dass die Hauptkette zu Transaktionen tendiert, die von wohlbekannten Benutzern stammen, diese nennen wir Zeugen (witnesses). Die Liste der Zeugen wird von jedem Benutzer selber definiert, indem sie die Liste in jede Transaktion einfügen, die sie veröffentlichen. Die Hauptkette folgt dann dem Pfad innerhalb des DAG wie folgt:
1. die Zeugenliste von Nachbar-Transaktionen auf der Kette sind entweder identisch oder unterscheiden sich nur um eine Änderung,
2. die Kette verläuft durch die größere Anzahl von zeugen-autorisierten Transaktionen, verglichen mit alternativen Ketten.
Das oben genannte ist eine sehr kurze und vage Beschreibung, in der viele wichtige Details weggelassen wurden, sieh für eine komplette technische Beschreibung im Whitepaper nach.
Gebühren und intrinsischer WertDie Gebühren, die bezahlt werden müssen, um eine Transaktion (oder irgendwelche anderen Daten) in der Byteball-Datenbank zu speichern, stimmen mit der Größe der Daten, die gespeichert werden sollen, überein. Wenn die Größe deiner Transaktion 500 Zeichen beträgt, zahlst du genau 500 Bytes (die native Währung von Byteball) als Gebühren. Das bedeutet, dass Bytes einen intrinsischen Wert haben: es ist der Nutzen, dass man diese Daten permanent in einer dezentralen und unveränderbaren Datenbank speichern kann. Für Daten, die Finanztransaktionen darstellen, ist der Wert eher sozialer als persönlicher Natur, weil du gezwungen bist, die komplette Transaktionshistorie zu speichern, um den Wert und die Authentizität der Bytes für jeden Eigentümer in der Folge zu beweisen.
Die Gebühren werden teilweise von denen eingezogen, die zuerst die Transaktion als Eltern referenzieren und teilweise von Zeugen. Das Erstgenannte bietet eine Anreiz für Eltern, die aktuellsten Transaktionen zu referenzieren, was dazu führt, dass der DAG nur in eine Richtung wächst, wie der Stamm eines Baumes, und so eng wird, wie es die Netzwerk-Latenz erlaubt. Wenn neue Transaktionen selten genug sind, so dass alle Knoten genug Zeit haben, vor dem Auftauchen einer neuen Transaktion zu synchronisieren, wird der DAG fast wie eine Kette aussehen, mit nur gelegentlichen Gabelungen und schnellen Einfädelungen.
GeldmengeDie vollständige Anzahl von Bytes ist 10
15, alle Bytes werden mit der Genesis-Transaktion ausgegeben. Da die Gebühren wieder in den Kreislauf zurückkehren, wird die Geldmenge immer gleichbleibend sein.
Deterministische EndgültigkeitIn Byteball gibt es eine Protokoll-Regel, dass eine Transaktion die vorhergehende Transaktion (sofern existent), die von derselben Adresse gesendet wurde, hinzufügt, d.h. es muss eine teilweise Reihenfolge zwischen nachfolgenden Transaktionen von derselben Adresse geben. Brechen dieser Regel wird als Doppelt-Bezahlung (double spend) angesehen, deshalb wird zumindest eine dieser falsch eingeordneten Transaktionen ungültig werden. Wenn wir annehmen, dass die meisten Zeugen diese Regel befolgen (zu diesem Zweck wurden sie gewählt), dann müssen sie nur ausreichend aktuelle Transaktionen als Eltern referenzieren und können nicht von Eltern übernommen werden, wenn sie ausreichend alt sind. Daher können sie nicht länger die MC (welche durch Zeugen angezogen wird) im ausreichend alten Teil des DAG beeinflussen, und dieser Teil der MC wird unveränderlich, also wird auch die gesamte Reihenfolge relativ zum MC ebenso unveränderlich. Sieh im Whitepaper nach, dort gibt es eine Diskussion über die genauen Kriterien um die Unveränderlichkeit zu erreichen. Hierbei ist es wichtig, dass die Kriterien deterministisch sind und wenn eine Transaktion einmal im unveränderlichen Teil der MC auftaucht, ist sie endgültig und - anders als bei allen anderen Crypto-Währungen - keine Änderung der Anordnung mehr möglich.
Dies ist äußerst wichtig für Anwendungen in der Finanz-Industrie und für breite Akzeptanz im Allgemeinen, da die meisten Leute gewohnt sind, Sicherheit in Bezug auf Geldfragen und Grundbesitz und das Konzept der "wahrscheinlichen" Endgültigkeit lässt sich nur schwer an den Mann bringen.
Vermögenswerte und Börsen auf der BlockchainBytes ist die native Währung von Byteball. Benutzer können irgendwelche anderen Tokens (Vermögenswerte) herausgeben, z.B. um Schulden zu repräsentieren. Die Schulden können auf z.B. Fiat-Währungen lauten oder auch in natürlichen Einheiten (Barrel, Kg, kWh, etc.) nominiert sein. Die Herausgeber der Schuldscheine können ihre Identität preisgeben und/oder sich freiwillig überprüfen lassen (d.h. ihre wahre Identität kann durch einen vertrauenswürdigen Dritten, z.B. eine CA, bestätigt werden). Dies ermöglicht es dem vorhandenen Justizsystem gegen Betrug vorzugehen.
Die herausgegebenen Vermögenswerte können als Zahlungsmittel verwendet werden, zusammen mit Bytes. Vermögenswerte können gegen Bytes und andere Vermögenswerte getauscht werden, indem beide Parteien einen Vertrag (smart contract) signieren, der beide Seiten des Handels ausführt, so dass die beiden Transaktionen entweder beide gleichzeitig stattfinden oder gar nicht. Diese Art der Signatur nennt man multilaterale Signatur. Dazu ist keine zentralisierte Börse nötig, daher braucht man niemandem zu vertrauen und es fallen keine Gebühren an (bis auf die üblichen Gebühren für die Größe der Daten).
Private, nicht zurück-verfolgbare ZahlungenVermögenswerte können entweder öffentlich oder privat sein. Alle Transaktionen in öffentlichen Vermögenswerten sind für jedermann auf der öffentlichen dezentralen Datenbank sichtbar, wie bei Bitcoin. Bytes ist als öffentlicher Vermögenswert festgelegt.
Zahlungen in privaten Vermögenswerten werden nicht in der öffentlichen Datenbank publiziert. Stattdessen wird nur der Hash der Transaktion in der Datenbank gespeichert, während der Klartext der Transaktion direkt vom Zahlenden zum Zahlungsempfänger gesendet wird. Zum Schutz vor Doppelt-Bezahlungen (double-spend) wird zusätzlich ein Zahlungsnachweis in der Byteball-Datenbank publiziert. Der Zahlungsnachweis besteht aus einem Hash des Zahlungsausgangs, so dass bei einer erneuten Zahlung mit diesem Zahlungsausgang der Nachweis zwangsläufig identisch sein muss.
Ich habe dieses Design bereits hier beschrieben:
https://bitcointalk.org/index.php?topic=1574508.0, für weitere Details bitte im Whitepaper nachschlagen.
Regulierte VermögenswerteLizenzierte Einrichtungen können Vermögenswerte herausgeben, die kompatibel mit KYC (know your customer - kenne deinen Kunden) und AML (anti money laundering - Anti-Geldwäsche) sind. Jeder Transfer von solchen Vermögenswerten muss vom Herausgeber bewilligt werden und wenn es irgendwie gegen die Regulierungsauflagen verstößt, wird der Herausgeber seine Bewilligung nicht geben.
Auf diesem Weg können Banken fiat-gebundene Vermögenswerte herausgeben und dabei vollkommen gesetzeskonform bleiben. Sie können Konten als Depots eröffnen und sie als Vermögenswerte auf Byteball abbilden. Diese Vermögenswerte sind einfach gegen Bytes oder andere Vermögenswerte zu handeln (mit Einwilligung der Bank).
Weitere Funktionen- Ausgabe-Regeln (bekannt als "smart contracts") in einer einfach zu verstehenden deklarativen Sprache
- Multisig (Mehrfache Unterschrift): ein spezieller Fall einer Ausgabe-Regel
- "Orakel" auf der Blockchain können Daten (wie Zeitstempel, Börsenkurse, Wetter, verschiedene Ereignisse) direkt in die Datenbank einspeisen, diese Daten können dann von Ausgabe-Regeln benutzt werden
- Private Nachrichten mit Ende-zu-Ende-Verschlüsselung: wird dazu benutzt, um private Zahlungsdaten zu übermitteln, kommunizieren in Multisig-Szenarien und chatten mit dem Bot des Händlers.
ErstemissionEs wird kein ICO (initial coin offering) geben und kein Crowdsale. Ich glaube daran, dass der Erfolg einer Währung davon abhängt, wie viele Menschen sie besitzen, sogar die Forschungsergebnisse von Peter R. weisen darauf hin, dass die historische Marktkapitalisierung von Bitcoin dem Metcalf'schen Gesetz folgt:
https://bitcointalk.org/index.php?topic=572106.0, d.h. dass sie proportional zum Quadrat der Anzahl von aktiven Benutzern ist. Deshalb möchte ich, dass Byteball in den Händen von so vielen Leuten wie möglich ist:
- 98% aller Bytes und Blackbytes (der privaten, nicht zurück-verfolgbaren Währung) wird an Bitcoin-Inhaber ausgeschüttet, die ihre Bitcoin- und Byteball-Adressen vor der Emission verknüpfen. Keine Investition nötig, du behältst deine Bitcoins, zusätzlich erhältst du Bytes und Blackbytes.
- 1% reserviere ich für mich
Um deine Byteball- und Bitcoin-Adressen zu verknüpfen, machst du eine kleine BTC-Zahlung auf eine Einmal-Bitcoin-Adresse, die speziell für dich erstellt wird. Als nächstes konsolidierst du alle deine Bitcoins auf die eine Adresse, von der du aus bezahlt hast und von der wir wissen, dass du diese kontrollierst (wenn du nur eine Bitcoin-Adresse hast, überspringst du diesen Schritt, da alle deine Bitcoins schon auf einer einzigen Adresse sind). Dann wird die Anzahl an Bytes und Blackbytes, die du bei der Erstemission erhalten wirst, proportional zu dem BTC-Guthaben auf deiner verknüpften Adresse in einem bestimmten Bitcoin-Block (z.B. in Block 437000, welcher Ende Oktober bis Anfang November erwartet wird) sein. Eine ausführliche Anleitung und die genaue Blocknummer wird später veröffentlicht, wenn wir uns für den Start des Livenets bereitmachen.
Aktueller StatusDas Netwerk ist am 25.12.2016 gestartet und 10% der Bytes und Blackbytes wurden an diejenigen ausgegeben, die ihre Bitcoin- und Byteball-Adressen verknüpft haben. Das verknüpfte Guthaben betrug insgesamt über 70.000 BTC.
Teilnahme an der Byteball-AusschüttungSelbst wenn Du die erste Runde verpasst hast, kannst Du immer noch an den Folgerunden teilnehmen. Als Teilnehmer der ersten Runde kannst Du Deinen Bestand multiplizieren. In der zweiten Runde, die für Mitte Februar geplant ist, bekommst Du:
- 62,5 MB für 1 BTC nachgewiesenen Guthabens
- 0,1 neue Bytes für jedes 1 Byte, das Du zum Zeitpunkt des Snapshots besitzt
Zusätzlich erhältst Du Blackbytes:
- 62,5 * 2,1111 * 10
6 Blackbytes für 1 BTC nachgewiesenen Guthabens
- 0,21111 neue Blackbytes für jedes 1 Byte, das Du zum Zeitpunkt des Snapshots besitzt
(der komplette Bestand an Blackbytes ist 2,1111 mal mehr als der von Bytes)
Wie du mithelfen kannst- spiele mit der Wallet, installiere sie auf mehreren Geräten, verbinde (pair) sie für Multisig. Wenn Du Fehler findest, berichte diese.
- betreibe ein Relay auf deinem Cloud-Server, um das Netzwerk zu unterstützen. Das Relay hält keine privaten Schlüssel, daher brauchst du dir um die Sicherheit keine großen Sorgen zu machen. Hol dir den Relay-Quellcode von https://github.com/byteball/byteball-relay
- betreibe einen Hub, um die Dezentralisierung der Übermittlung privater Zahlungen zu verbessern (der Hub beinhaltet auch ein Relay). Nochmal, die Sicherheit spielt keine große Rolle, da alle Nachrichten Ende-zu-Ende verschlüsselt sind. Die Hub-Adresse kann vom Benutzer in den Wallet-Einstellungen geändert werden. Hol dir den Quellcode von https://github.com/byteball/byteball-hub
- behebe Fehler, trage zu Verbesserungen in unseren Github-Repositories bei: https://github.com/byteball. Insbesondere brauchen wir schnelleres Synchronisieren und eine schnellere Benutzeroberfläche. Bis jetzt habe ich die Schlichtheit der Algorithmen über die Performance gestellt, aber nun brauchen wir auch Geschwindigkeit. Eine 10-fache Verbesserung sollte einfach genug zu bewirken sein, die nächsten 10x werden vermutlich schwieriger. Diskutiere alle größeren Änderungen, bevor du sie tatsächlich implementierst.
- entwickle neue Tools/Apps, von denen du denkst, dass diese nützlich für Byteball-Benutzer sind
- rede über Byteball, sage es weiter und denk daran, dass sein Wert proportional zum Quadrat der Anzahl der aktiven Benutzer ist
Übersetzungen:
Chinesisch,
Französisch,
Italienisch,
Portugiesisch,
Russisch,
SpanischTwitter:
https://twitter.com/ByteballOrgSlack:
http://slack.byteball.org-----------------------------
Eine letzte Sache. Die verbleibenden 1% werden an die ersten 100 Mio. Benutzer verteilt, die die Byteball-Wallet installieren, 100 Kilobytes für jeden. Dies beginnt in 6 Monaten oder später, nachdem wir bereit sind für diese großen Benutzerzahlen.
Übersetzung des englischen Originals: https://bitcointalk.org/index.php?topic=1608859.0