Safe Network Entwickler Update ­čçę­čç¬ 14. Oktober 2021

Dies ist eine maschinelle ├ťbersetzung. Das Original in Englisch ist hier: Update 14 October, 2021

Wir haben heute fast einen Mini-Meilenstein erreicht (90% des Weges!) Was bedeutet das und warum ist es wichtig? @ChrisO erkl├Ąrt alles unten.

Allgemeiner Fortschritt

Wie Sie wahrscheinlich wissen, ist das Netzwerk mit Funktionen wie AE so konzipiert, dass es ÔÇ×CRDT-├ĄhnlichÔÇť ist, mit garantierter Konsistenz. Das bedeutet, dass es egal ist, wenn wir eine Nachricht oder einen Datenblock senden und diese nicht sofort erhalten, da wir einfach warten oder sie erneut senden. Keine aufwendige Synchronisierung erforderlich.

Ein Gro├čteil der Arbeit, die wir derzeit leisten, besteht darin, dieses CRDT-├Ąhnliche Verhalten richtig zum Laufen zu bringen. Das Looping-Verhalten, das wir beim Node-to-Node-Messaging gesehen haben, scheint jetzt gr├Â├čtenteils behoben zu sein.

AE-Nachrichten teilen dem Client mit, ob er sein Verst├Ąndnis der Abschnitte, mit denen er spricht, aktualisieren muss. Wir haben dem Client ein paar Optimierungen hinzugef├╝gt, damit er alle Bootstrap-Knoten vorab kontaktiert, um eine aktualisierte Ansicht des Netzwerks zu erhalten, bevor er zum Ausl├Âsen von Befehlen ├╝bergehen kann. Wir haben auch eine winzige Wartezeit hinzugef├╝gt, um Daten in das Netzwerk zu ├╝bertragen, da der Befehl zuvor sofort zur├╝ckgegeben wurde, w├Ąhrend die AE-Nachrichtenverarbeitung im Hintergrund stattfindet. Dies war bei den Tests der safe_network-Bibliothek kein Problem, da sie alle den Client in der N├Ąhe halten, aber die CLI nicht, so dass dies zu Problemen gef├╝hrt haben k├Ânnte, bei denen ein Client einen Teil des Netzwerks nicht wusste. und verpasste die Bearbeitung/das erneute Senden des Befehls, als diese AE-Meldungen eingingen.

Wir sehen auch einige Anomalien bei den CI-Tests (Continuous Integration). Es kann schwer zu sagen sein, ob das Problem am Netzwerk oder an den CI-Tests selbst liegt. Testnets helfen uns dabei, das herauszufinden. Nochmals vielen Dank an alle, die mitgemacht haben. Es sollte in K├╝rze einen weiteren Kandidaten geben, da wir API+CLI zusammenf├╝hren. Wir erw├Ągen auch Optionen f├╝r einen Cloud-ELK-Cluster, um Community-Testnet-Protokolle zu speichern und durchsuchbar zu machen.

@Jimcollinson hat weiterhin n von m Authentifizierungsabl├Ąufen unter Verwendung von BLS-Schl├╝sselfreigaben untersucht. Um Ihren Safe zu entsperren, k├Ânnen Sie eine Kombination aus Passwort + Passphrase (oder QR-Code) mit einem Ger├Ąteschl├╝ssel auf Ihrem Telefon als Reserve w├Ąhlen (2 von 3). Wenn Sie Ihr Passwort vergessen, k├Ânnen Sie die Passphrase und den Ger├Ąteschl├╝ssel verwenden. Mit Ihren prim├Ąren Zugangsdaten (Passwort und Passphrase) k├Ânnen Sie auch neue Schl├╝ssel auf zus├Ątzlichen Ger├Ąten erstellen. Wenn Sie also wirklich vergesslich sind, k├Ânnen Sie Ihren Safe mit mehreren Ger├Ąten entsperren oder Passphrasen sichern. Die Idee hier besteht darin, die Flexibilit├Ąt zu erreichen, verschiedene Sicherheitsbedrohungsmodelle zu ber├╝cksichtigen ÔÇô und zwar mit Komfort ÔÇô und dennoch tolerant gegen├╝ber dem Verlust von Anmeldeinformationen zu sein.

An der DBC-Front hat sich @danda weiter mit Konfessionen befasst. Erwarten Sie weitere Details auf der ganzen Linie.

Ein einzelnes Repository

Im Juni hatten wir einige Arbeiten abgeschlossen, um mehrere Repositorys, die den Code f├╝r das Netzwerk bildeten, zu einem gro├čen einzigen Repository zusammenzuf├╝hren. Aufgrund der engen Verwandtschaft des Codes in diesen Repositories war es f├╝r sie nicht sinnvoll, sich unabh├Ąngig zu entwickeln, und tats├Ąchlich war es f├╝r sie problematisch, dies zu tun. Es erschwerte das Debuggen und Testen des Netzwerks, und es war eine erhebliche Aufgabe, alle Versionen auf dem neuesten Stand und synchronisiert zu halten. Das einzelne Repository kombiniert all diesen Code in verschiedenen Modulen derselben Kiste mit einer einzigen Versionsnummer.

Bei diesem Unterfangen blieben jedoch einige Repositorys zur├╝ck, n├Ąmlich sn_api und sn_cli. Die API und die CLI unterscheiden sich tats├Ąchlich ein wenig von den zuvor erw├Ąhnten Repositorys, da sie keine Kernkomponenten des Netzwerks selbst sind, sondern vielmehr dazu dienen, uns die Nutzung des Netzwerks zu erm├Âglichen. Aufgrund begrenzter Ressourcen, die sich haupts├Ąchlich auf die Entwicklung des Netzwerks konzentrierten, war der Code sowohl in der API als auch in der CLI veraltet, und es war ein erheblicher Aufwand, sie auf den neuesten Stand zu bringen. Obwohl wir sie auch zusammenf├╝hren wollten, waren wir dazu nicht wirklich in der Lage.

Wir haben daran gearbeitet, die CLI und die API auf den neuesten Stand zu bringen. Gl├╝cklicherweise sind wir jetzt in der Lage, sie zusammenzuf├╝hren, und wir freuen uns, sagen zu k├Ânnen, dass dies fast so weit ist. sn_api und sn_cli werden neben dem Code f├╝r das Netzwerk sitzen, so dass das safe_network-Repository aus drei Kisten besteht, die gleichzeitig aktualisiert und bereitgestellt werden.

Es ist wichtig zu wissen, dass dies tats├Ąchlich eine erhebliche ├änderung ist und nicht nur eine administrative Erleichterung. Einige der Vorteile:

  • Alles in derselben Kiste beseitigt die Verwirrung dar├╝ber, welche Versionen der CLI und API mit welcher Version des Netzwerks kompatibel sind. Alle diese in jeder Version werden kompatibel sein.
  • Wenn der Code f├╝r das Netzwerk mit Breaking Changes aktualisiert wird,r wird gezwungen, die API und CLI zu aktualisieren. Dadurch wird verhindert, dass der API- und CLI-Code wieder veraltet wird.
  • Neue Versionen des Netzwerks stehen ab sofort zum Testen mit einer netzwerkkompatiblen CLI zur Verf├╝gung.

Zum letzten Punkt: Jetzt, da wir gesehen und begr├╝├čt haben, dass die Community mehr an der Einf├╝hrung von Testnetzen beteiligt ist und gleichzeitig eine CLI/API/Netzwerk-Kombination ver├Âffentlicht wird, k├Ânnen wir einen viel k├╝rzeren Test- und Release-Zyklus schaffen, bei dem im Grunde steht jede neue Version im safe_network-Repository sofort f├╝r Community-Tests zur Verf├╝gung. Letztendlich hat dies gro├čes Potenzial, uns dabei zu helfen, schneller zu einem Startkandidaten zu gelangen.


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!