Oasis Technik Update Dezember 2022

Marvin
Oasis Foundation German
6 min readJan 23, 2023

--

Dieser Artikel ist eine inoffizielle Übersetzung der ursprünglichen Veröffentlichung. Die Übersetzung erfolgte durch Marvin, Oasis Labs Botschafter.

Ein frohes neues Jahr wünscht euch das Oasis Engineering Team!

Der Dezember war ein bedeutender Monat für das Oasis-Netzwerk, denn unser Engineering-Team beendete das Jahr 2022 mit Dutzenden von Updates, die in einer Reihe von laufenden Projekten implementiert wurden.

Im vergangenen Monat wurde die lang erwartete, branchenweit erste vertrauliche EVM ParaTime — Sapphire — im Mainnet eingesetzt; die vertrauliche Zufallszahlengenerierung wurde zum Oasis SDK hinzugefügt; die Entwicklung der Unterstützung für das Signieren von ParaTime-Transaktionen mit Ledger-Geräten wurde fortgesetzt; und es wurden zahlreiche Wartungs- und Fehlersucharbeiten durchgeführt.

Zudem stiegen die durchschnittlichen täglichen Transaktionen von Emerald im Vergleich zum Vormonat um 30%!

Alles weitere zu den Fortschritten von Oasis Engineering im Dezember (und eine Menge zusätzlicher Daten) findet Ihr im folgenden Artikel.

WALLET UPDATES

Zu Beginn des Monats wurde eine Wartungsversion 1.4.1 der Oasis Wallet — Web veröffentlicht, die eine mögliche Gefährdung von mnemonischen Phrasen auf Drittanbieter-Websites für die Rechtschreibprüfung in einigen Browsern behebt. Eine neue Version ist bereits unter wallet.oasisprotocol.org verfügbar.

Im restlichen Dezember wurden die meisten PRs dazu verwendet, die Codebasis aufzuräumen, alle Abhängigkeiten zu aktualisieren und zu testen, ob die Tests noch das testen, was sie testen sollen 🙂. Der Einfachheit halber wird die Wallet-Version nun in der Fußzeile neben dem Commit-Hash angezeigt (#1192). Fünfunddreißig (35) Pull Requests wurden im Dezember zusammengeführt.

Parallel dazu wurde die Rechtschreibkorrektur für Oasis Wallet — Browser Extension implementiert. Sie wird in der Version 1.8.2 enthalten sein, und das Update wird wie üblich im Chrome Web Store verfügbar sein.

An der Ledger-Front wurde mit der Implementierung von ADR 14 begonnen, das Unterstützung für das Signieren von ParaTime-Transaktionen bieten wird. Dies umfasst sowohl die Token-bezogenen Operationen (d.h. Einzahlungen, Abhebungen und Überweisungen innerhalb der ParaTime) als auch Oasis SDK-spezifische Transaktionen, die in Cipher verwendet werden.

Die Funktion Oasis CLI wurde aus dem Oasis SDK in ein eigenes Repository migriert. Dies ermöglicht eine einfachere Integration von externen Diensten, die nicht mit dem SDK in Verbindung stehen, in die CLI (z.B. Block-Explorer) und ermöglicht regelmäßigere CLI-Releases.

NETZWERK-UPDATES

Am 16. Dezember wurde die lang erwartete vertrauliche Sapphire ParaTime im Mainnet bereitgestellt! Für das Oasis-Netzwerk ist dies einer der wichtigsten Meilensteine auf dem jahrelangen Weg.

In den kommenden Wochen werden weitere Funktionen wie der Block-Explorer und der öffentliche Web3-Endpunkt vorgestellt. Wer Sapphire bereits vorher im Mainnet nutzen möchte, kann dies mit Hilfe unseres ParaTime-Client-Nodes und der Web3-Gateway-Dokumentation lokal einrichten! Um Geld auf das neue ParaTime einzuzahlen, müsst ihr Oasis CLI mit eurem lokalen Endpunkt konfigurieren und verwenden.

Mainnet Höhepunkte

  • Sapphire ParaTime 0.3.0 wurde am 16. Dezember im Mainnet bereitgestellt.
  • Die durchschnittlichen täglichen Transaktionen auf Emerald stiegen im Dezember um mehr als 30% (12.000 Transaktionen gegenüber 9.000 im November). Obwohl der Spitzenwert von 15.929 Transaktionen am 16. Dezember niedriger war als im Vormonat (22.594 am 8. November), kann der Spitzenwert im November durch die dreimonatige Token-Umverteilung erklärt werden.

Aktive Knotenpunkte zum 31. Dezember:

  • 120 Validierungsknoten
  • 6 Schlüsselverwalter-Knoten
  • 17 Cipher ParaTime-Rechenknoten
  • 50 Emerald ParaTime-Rechenknoten
  • 6 Sapphire ParaTime-Rechenknoten

Testnet-Höhepunkte

Am 13. Dezember wurde im Testnet ein Non-Breaking-Upgrade auf die neue Minor-Version von Sapphire ParaTime 0.3.0-testnet durchgeführt.

Da Sapphire in eine Produktionsumgebung überführt wird, wurde eine Reihe von dApps portiert und getestet. Am 23. Dezember verzeichnete das Testnet einen Spitzenwert von 2.886 täglichen Transaktionen (ein enormer Anstieg gegenüber 165 Transaktionen im November). Auch die durchschnittliche Anzahl der Transaktionen stieg auf 1.067 (von 66 im November).

Aktive Knotenpunkte zum 31. Dezember:

  • 46 Validierungsknoten
  • 4 Schlüsselverwalter-Knoten
  • 13 Cipher ParaTime-Rechenknoten
  • 33 Emerald ParaTime-Rechenknoten
  • 5 Sapphire ParaTime-Rechenknoten

ENTWICKLERPLATTFORM UND PARATIME-UPDATES

Seit Dezember ist der vertrauliche Zufallszahlengenerator (#1037, #1176) im Oasis SDK enthalten. Sechs Monate lang wurde sorgfältig an dieser Funktion gearbeitet, die für künftige kryptografische Operationen (z. B. Schlüsselgenerierung und Signierung in Smart Contracts) von entscheidender Bedeutung ist. Zur Verbesserung der Sicherheit wurden die Schlüssel zur Transaktionsverschlüsselung kurzlebig gehalten (#1187). Standardmäßig wird das neue ParaTime-Schlüsselpaar für Transaktionen jede Epoche (=1 Stunde) abgeleitet. Andere Änderungen betrafen hauptsächlich die Entfernung von veraltetem Code, Aufräumarbeiten und Verbesserungen der Dokumentation. Insgesamt wurden acht (8) Pull Requests in das Oasis SDK integriert.

Der neue Zufallszahlengenerator wurde auch in die Sapphire ParaTime integriert (#94, #97). Der randomBytes()-Helper in Sapphire.sol precompile gibt ein Array von Zufallsbytes beliebiger Länge zurück. Der Seed wird in einer vertrauenswürdigen Ausführungsumgebung erzeugt, aber ein Entwickler kann einen optionalen Personalisierungsstring übergeben, um die Entropie zu verbessern. Go-Entwickler können nun die offiziellen Go-Bindings für die Übermittlung vertraulicher Transaktionen an Sapphire verwenden (#84, #87). Sehen Sie sich die wordleish-Demo an, um mehr zu erfahren und es auszuprobieren! Alle Änderungen sind in die neue Version 0.3.0 eingeflossen, die bereits im Testnet und Mainnet live ist. Insgesamt 7 Pull Requests wurden im Dezember in die Sapphire ParaTime integriert.

Darüber hinaus wurde das Emerald Web3-Gateway offiziell in Oasis Web3-Gateway umbenannt, insofern es als Web3-Endpunkt für jede unterstützte ParaTime verwendet werden kann. Es wurde eine neue Version 3.2.0 herausgegeben, die Unterstützung für die Sapphire ParaTime 0.3.0 bietet, die auch im Mainnet eingesetzt wird. Im Dezember haben wir sechs (6) Pull Requests zusammengeführt.

Die Arbeit am Oasis Indexer wurde mit 19 PRs, die im Dezember zusammengeführt wurden, kontinuierlich fortgesetzt.

  • Unterstützung für das Parsen von ERC20-Transaktionen wurde hinzugefügt. Der Token-Name und die Transfers werden nun indiziert.
  • Die Transaktionsverarbeitung wurde in einer Pipeline zusammengefasst. Jeder Transaktionsanalysator (d.h. Consensus, Emerald, Sapphire, Cipher) hat jetzt mindestens drei Schritte (Daten abrufen, analysieren und in die Datenbank schreiben), was das Testen vereinfacht und eine Parallelisierung ermöglicht.
  • Die OpenAPI-Spezifikationen wurden gründlich überarbeitet und Unstimmigkeiten mit der Datenbank und der Codebasis behoben, die sich in den letzten sechs Monaten angesammelt hatten.

Die Chain IDs 23295 (0x5aff) und 23294 (0x5afe) sind nun offiziell als Oasis Sapphire Testnet bzw. Mainnet Chain registriert.

Benutzer, die den auf den Oasis Emerald und Sapphire ParaTimes eingesetzten Smart Contract verifizieren möchten, werden sich freuen zu hören, dass die Unterstützung für die Emerald Testnet und Mainnet Chains in die Sourcify Codebase (#879, #880) aufgenommen wurde und bald auf sourcify.dev verfügbar sein wird. Die Sapphire Testnet Chain wurde ebenfalls hinzugefügt (#883), während die Mainnet Chain (#884) zusammengeführt werden wird, sobald wir den Sapphire Mainnet Explorer einsetzen.

Die Dokumentation ist um ein Diagramm reicher, in dem beschrieben wird, wie die vertrauenswürdige Ausführungsumgebung (Trusted Execution Environment, TEE) verwendet wird, um die End-to-End-Vertraulichkeit hinter den Kulissen des Oasis-Netzwerks zu gewährleisten. Wir hoffen, dass dies Neueinsteigern und dApp-Entwicklern helfen wird, unsere Architektur besser zu verstehen. Andere Änderungen betrafen hauptsächlich die Freigabe der Sapphire ParaTime im Mainnet. Insgesamt wurden 11 Pull Requests zusammengeführt.

AKTUALISIERUNGEN DER KERNPLATTFORM

Die Tests des Oasis Core 22.2.x Zweigs wurden im Dezember fortgesetzt und es wurden keine größeren Probleme entdeckt. Die Version 22.2.3 ist nun die offiziell unterstützte Version im Mainnet.

Neue Funktionen wurden in den Master-Zweig integriert, die in die Version 23.0 einfließen werden. Am wichtigsten für die Betreiber von Nodes dürfte ein neues P2P-Light-Block-Protokoll sein, das die Inbetriebnahme von Oasis-Nodes beschleunigen wird (#5085, #5100). Der neue Code wurde von Grund auf neu geschrieben und verlässt sich nicht mehr auf die (defekte) Tendermint-Lichtblocksynchronisation.

Eine weitere Leistungsverbesserung wurde dadurch erreicht, dass der Schlüsselmanager in der Lage ist, auf unsichere RPC-Anfragen zu antworten (#5057), z. B. auf den öffentlichen Schlüssel von ParaTime, der zur Verschlüsselung vertraulicher Transaktionen verwendet wird.

Schlussendlich wurden eine Reihe von Fehlerkorrekturen und Komfortverbesserungen in Bezug auf die Aktualisierungen der Schlüsselmanager-Policy, die SGX-Helfer, das Genesis-Dokument und die Überprüfung vertraulicher Transaktionen vorgenommen. Insgesamt haben wir im Dezember 19 Pull Requests zusammengetragen.

--

--