Dies ist eine maschinelle Übersetzung. Das Original in Englisch ist hier: 5 May 2022
Wir haben uns in letzter Zeit ein wenig mit der Funktionsweise von Digital Bearer Certificates (DBCs) beschäftigt und untersucht, wie sie funktionieren und warum sie so gut für das Safe Network geeignet sind, aber was passiert eigentlich, wenn Sie für einen Datenupload bezahlen oder SNT an eine andere Person übertragen? DBC-Transaktionen sind das Thema des Updates dieser Woche.
Allgemeiner Fortschritt
Die Übergabe ist nun erledigt und in sn_network
integriert, dank einiger solider Arbeit des Teams, insbesondere @anselme, der in den letzten Wochen daran gearbeitet hat. Zur Erinnerung: Die Übergabe regelt Prozesse wie Splits und Knotenausfälle, bei denen wir sicherstellen müssen, dass Daten mit ausreichend Kopien für Redundanz an die richtigen Stellen repliziert werden.
@Chriso hat die erste Version von Automatisierung der Lizenzüberprüfung fertiggestellt. Nachdem wir kürzlich die Lizenzierung unseres Codes rationalisiert haben, möchten wir sicherstellen, dass dies so bleibt und dass unser Code nur so verwendet wird, wie wir es beabsichtigen. Die GPL3-Lizenz ist „copyleft“, was eine „Unterlizenzierung“ verhindert, d. h. Personen, die etwas Neues aus dem Originalcode ableiten, dürfen den Lizenztyp auf ihrem Fork nicht ändern; Dadurch wird sichergestellt, dass jeder Safe-Code Open Source bleibt. Bei generischen Bibliotheken sind wir weniger restriktiv.
Warum BSD-3-Klausel? Wie bei MIT und Apache ist es ziemlich liberal, aber die zusätzliche dritte Klausel, die die Billigung der ursprünglichen Autoren mit abgeleiteten Produkten verhindert, ist nützlich, um den Ruf von MaidSafe zu schützen. Früher hatten wir für viele Repositories doppelte Lizenzen, aber das scheint keinen großen Nutzen zu haben, und es ist einfacher für einen automatisierten Prozess, die Verwendung einer Lizenz durchzusetzen.
An der Systemüberwachungs- und Visualisierungsfront hat @yogesh am ELK-Stack herumgebastelt und er sollte sehr bald für die Community zum Ausprobieren bereit sein. Beobachte diesen Raum
Und @JimCollinson hat die strategischen Ziele von MaidSafe und dem Safe Network niedergeschrieben, sich mit den wichtigsten Maßnahmen befasst, die wir ergreifen müssen, um unsere Ziele zu erreichen, und potenzielle Hürden identifiziert, was uns Zeit gibt, einen Kurs um sie herum zu planen.
Auch ein herzliches Dankeschön an @stout77 für die Bereitstellung des Titelbilds dieser Woche!
DBCs in Aktion
Was passiert, wenn Sie einen DBC im sicheren Netzwerk ausgeben? Was sind die Elemente einer DBC-Transaktion? Bevor wir ein wenig tiefer graben, eine sehr kurze Zusammenfassung …
Ein DBC ist eine digitale Datei, die eine Reihe von Faktoren codiert, einschließlich ihres übergeordneten Elements, des Betrags und einer Autorität wie einer Signatur oder eines Schlüssels, um ihre Gültigkeit zu zeigen. Um einen DBC auszugeben, müssen Sie ihn zuerst von den Ältesten neu ausstellen lassen.
Eine Transaktion ist auch eine digitale Datei. In diesem Fall codiert er die Eingangs-DBC(s) und die Ausgangs-DBC(s).
Eine vereinfachte Version einer Transaktion im Safe Network sieht wie folgt aus:
Ein Client (eine Person oder eine Anwendung) erstellt die gewünschte Transaktion, zum Beispiel „nimm diese 100 SNT DBC aus meiner Brieftasche und erstelle zwei neue DBCs, 90 als Zahlung an den Shop und 10 als Wechselgeld an mich“. Der Client signiert die Transaktion und sendet sie gemäß seiner XOR-Adresse an den entsprechenden Abschnitt.
Die Sektionsältesten validieren die Transaktion, stellen sicher, dass alle Eingaben gültige DBCs sind, die noch nie ausgegeben wurden, und schreiben sie dann in das Ausgabenbuch.
Jeder Älteste prüft, ob sich die Transaktion im Spendebuch befindet und ob die Summe der Eingabe- und Ausgabe-DBCs Null ist (also kein Geld geschaffen oder verloren wird, sondern nur an neue DBCs übertragen wird) und die Transaktion mit seinem Signaturanteil an den Kunden zurücksendet.
Sobald der Kunde eine Mehrheit der Unterschriftsanteile (5 von 7 Ältesten) gesammelt hat, reicht er die Transaktion mit der vollständigen Unterschrift erneut bei den Ältesten ein, wonach sie erneut ausgestellt wird. Doppelausgaben werden dadurch verhindert, dass die Transaktion mit ihren Ausgaben bereits im Ausgabenbuch erfasst wird. Jeder Ausgabe-DBC kann nur neu ausgegeben (ausgegeben) werden, daher spielt es keine Rolle, wie oft er erneut übermittelt wird.
Überprüfung und Verschleierung
Das oben Gesagte ist schön und gut. Es verhindert doppelte Ausgaben und beseitigt die Notwendigkeit für Abschnitte, verbrauchte Bücher untereinander zu synchronisieren. Es kann jedoch verbessert werden.
Zuerst verwenden wir die bulletproofs-Bibliothek von Rust, um zu überprüfen, ob der Bereich des DBC-Betrags positiv ist – negative Beträge würden es ermöglichen, Geld aus dem Nichts zu erschaffen – ein naheliegendes Argument nein-nein.
Die zweite wichtige Maßnahme ist die Verschleierung. Wir verwenden Ring Confidential Transactions (RingCT), um den Eigentümer und die Empfängerschlüssel zu verbergen. Obwohl der Eigentümerschlüssel verborgen ist, können die Ältesten immer noch feststellen, ob die im ausgegebenen Buch aufgezeichnete Transaktion gültig ist. In ähnlicher Weise verbergen Bulletproofs die Menge, aber sie können immer noch überprüfen, ob die Eingabemengen die Ausgabemengen ausgleichen.
Die Verschleierungsschritte finden statt, bevor die Transaktion in das ausgegebene Buch geschrieben wird, wodurch die Verbindung zwischen der Eltern-DBC und ihren Ausgängen effektiv unterbrochen wird. Wenn wir dies nicht tun würden, wäre es einfach, alle Transaktionen zu verfolgen, da all DBCs verlinken zurück zum Genesis-DBC, und es gäbe keine Privatsphäre.
Der Genesis-DBC
Wir enden am Anfang, indem die genauen Details, wie wir DBCs an Farmer und Magdhalter verteilen, noch ausgearbeitet werden. Derzeit wird davon ausgegangen, dass alle SNT in einem einzigen Genesis-DBC codiert werden - einem ohne Eingaben.
Also wird alles SNT, das jemals erschaffen wird, in dieser einen Form sein, wie das Universum vor dem Urknall. Sobald das Netzwerk wirklich startet, wird der Genesis DBC neu aufgelegt und unterteilt und über das Firmament verteilt. Den besten Mechanismus für diese Verteilung untersuchen wir jetzt.
Nützliche Links
Fühlen Sie sich frei, unten mit Links zu Übersetzungen dieses Entwicklungsupdates zu antworten, und die Moderatoren werden sie hier hinzufügen.
Als Open Source-Projekt sind wir immer auf der Suche nach Feedback, Kommentaren und Community-Beiträgen. Seien Sie also nicht schüchtern, machen Sie mit und lassen Sie uns gemeinsam das sichere Netzwerk erstellen!