Safe Network Entwickler Update ­čçę­čç¬ 5. Mai 2022

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 :eyes:

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! :bowing_man:

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!