Oasis Technik-Update für Februar 2023
Dieser Artikel ist eine inoffizielle Übersetzung der ursprünglichen Veröffentlichung. Die Übersetzung erfolgte durch Marvin, Oasis Labs Botschafter.
Auch nach zwei Monaten im neuen Jahr ist die Entwicklung von Oasis nicht stehengeblieben. Im Februar gab es enorme Fortschritte an mehreren Fronten des Oasis-Stacks. Inmitten dieser Fortschritte verzeichnete das Sapphire-Testnetz eine rekordverdächtige Anzahl von Transaktionen, und es wurden keine Netzwerkausfälle oder andere Vorfälle gemeldet.
Das monatliche Engineering Briefing für Februar beinhaltet:
- Wallet- und CLI-Aktualisierungen
- Netzwerk-Updates (Mainnet und Testnet)
- Indexer- und Explorer-Aktualisierungen
- Updates für Entwicklerplattform und ParaTime
- Oasis Kern-Updates
Lesen Sie weiter, um einen tiefen Einblick in die Arbeit von Oasis Engineering im Februar zu erhalten!
Wallet und CLI Updates
Im Februar wurde die Oasis Wallet — Web einer Reihe von Wartungsarbeiten unterzogen, die sich auf Abhängigkeiten beziehen.
Oasis Engineering ist nun dabei, den lokalen Speicher verschiedener Browser für wallet-sensitive Daten zu testen. Daher werden keine neuen Versionen herausgegeben, bis die Tests abgeschlossen sind. Insgesamt wurden 31 Pull Requests zusammengeführt.
Oasis CLI unterstützt nun die Anzeige und Übermittlung von offline-generierten Transaktionen, die in einer Datei gespeichert sind (z.B. generiert durch oasis CLI oder oasis-node Befehle). Die neuen Befehle sind “tx show” und “tx submit” (#25, #27). Die Integration mit Ledger zum Signieren von ParaTimes befindet sich in der Endphase und soll im März zusammengeführt werden. Insgesamt wurden 17 Pull-Requests in das CLI-Repository integriert.
Netzwerk-Updates
Emerald, Sapphire und Cipher ParaTimes liefen im Februar sowohl im Mainnet als auch im Testnet stabil. Es wurden keine Ausfallzeiten oder Zwischenfälle gemeldet.
Am 7. Februar wurde die Bugfix-Version von Oasis Core 22.2.6 für das Testnet und eine Woche später, am 13. Februar, für das Mainnet vorgeschlagen.
Die Bugfix-Veröffentlichung von Oasis Core fiel mit dem Upgrade von Sapphire auf 0.4.0-testnet im Testnet bzw. 0.4.0 im Mainnet eine Woche später zusammen.
Schließlich wurde am 27. Februar Emerald 10.0.0 für das Mainnet vorgeschlagen.
Um mehr über die Oasis Core Fixes und die neuen ParaTime Features zu erfahren, lesen Sie die folgenden Abschnitte.
Höhepunkte im Mainnet
Die durchschnittliche Anzahl der täglichen Transaktionen auf Emerald ist im Februar leicht gesunken (~14.300 Transaktionen im Vergleich zu 15.300 im Januar). Der Spitzenwert von 25.358 Transaktionen am 8. Februar war jedoch höher als im Vormonat — 21.442 am 14. Januar.
Die durchschnittliche Anzahl der täglichen Transaktionen auf Sapphire ist im Februar stetig gestiegen (1.157 Transaktionen im Vergleich zu 1.125 im Januar). Der Spitzenwert von 1.174 Transaktionen am 16. Februar war ebenfalls höher als im Vormonat — 1.160 Transaktionen am 18. Januar.
Aktive Oasis Mainnet-Knoten am 28. Februar 2023:
- 120 Validierungsknoten
- 6 Schlüsselverwalter-Knoten
- 32 Cipher ParaTime-Rechenknoten
- 52 Emerald ParaTime-Rechenknoten
- 24 Sapphire ParaTime-Rechenknoten
Testnet-Höhepunkte
Zwei Ereignisse prägten die Statistik für das Februar-Testnet. Oasis hat die Anzahl der “Healthcheck”-Transaktionen auf Emerald und Sapphire am 16. Februar reduziert und am 28. Februar wieder erhöht. Es gibt also eine beachtliche Fluktuation der täglichen Transaktionen. Zusätzlich kündigte Oasis den Privacy4Web3-Hackathon an und veranstaltete später einen ersten Entwickler-Workshop zum Oasis Privacy Layer auf der EthDenver, was ebenfalls zu einem Anstieg der Transaktionszahlen führte.
Auf Emerald lag die durchschnittliche Anzahl der täglichen Transaktionen bis zum 16. Februar bei etwa 3.000. Danach sank sie auf etwa 1.200 tägliche Transaktionen. Der Tagesdurchschnitt im gesamten Februar war niedriger als im Januar (2.271 Transaktionen gegenüber 2.953 im Januar). Der Spitzenwert von 3.156 Transaktionen am 5. Februar war mit dem des Vormonats vergleichbar — 3.282 am 16. Januar.
Die Zahl der täglichen Transaktionen bei Sapphire war ähnlich hoch wie bei Emerald, und nach dem 16. Februar ging die Zahl der Transaktionen zurück. Der Tagesdurchschnitt im Februar war niedriger als im Januar (2.341 Transaktionen gegenüber 2.880). Am Ende des Monats stieg die Zahl der täglichen Transaktionen aufgrund der neuen Sapphire-Gesundheitsprüfungen und der EthDenver-Konferenz an. Der Spitzenwert von 3.672 Transaktionen am 28. Februar war ein Rekord für Sapphire auf Testnet. Im vergangenen Monat wurde der Spitzenwert mit 3.069 Transaktionen am 11. Januar erreicht.
Aktive Oasis-Testnet-Knoten am 28. Februar 2023:
- 47 Validierungsknoten
- 5 Schlüsselverwalter-Knoten
- 17 Cipher ParaTime-Rechenknoten
- 34 Emerald ParaTime-Rechenknoten
- 20 Sapphire ParaTime-Rechenknoten
Indexer und Explorer Aktualisierungen
Das Oasis Indexer Team hat diesen Monat hart gearbeitet, um aufregende neue Funktionen zu entwickeln.
- Im Januar wurde eine generische Datenbanktabelle für jede ParaTime-Transaktion eingeführt, die von ParaTime-spezifischen Analysatoren gespeist wird. Diesen Monat wurden einige Designverbesserungen vorgeschlagen, darunter die neuen Indizes (#300, #306, #320, #333).
- Eine bemerkenswerte Geschwindigkeitssteigerung von 70% wurde im Emerald Token Analyzer erreicht (#123).
- Grafana-Metriken wurden aktualisiert, um realistischere ParaTime-spezifische Ereignisse widerzuspiegeln, und eine neue Latenzmetrik für den Oasis-Knoten und den Analyzer wurde eingeführt (#321).
- Die Indexer-API ist nun reichhaltiger für eine neue adressbezogene Suche, etwas, das Benutzer üblicherweise in Block-Explorer-Schnittstellen verwenden würden (#314). Dies ermöglicht eine unkomplizierte “globale” Suche über alle Transaktionen, Adressen (native und Eth-kompatible) und ParaTimes.
- Außerdem wird der Transaktionshash nun sowohl im Oasis- als auch im Eth-Namensraum berücksichtigt (#315).
Insgesamt wurden 27 Pull Requests zusammengeführt.
Auch das Oasis-Explorer-Team hat in diesem Monat große Fortschritte gemacht.
- Der Oasis Explorer zeigt nun die Anzahl der aktiven und inaktiven Validierungsknoten an (#113).
- Die Kontoansicht unterstützt nun die Anzeige aller nativen, ERC20 und ERC721 Token-Guthaben (#104).
- Eine Reihe von Suchverbesserungen wurde vorgenommen, einschließlich der Unterstützung für die globale Suche (#140, #126, #156).
- Für Netzwerkfehler, ungültige oder nicht existierende Transaktionshashes, Adressen, Seitenzahlen und andere Fehler wurde eine korrekte Fehlerbehandlung und -gestaltung implementiert (#118, #121, #122, #123).
- Für eine mobile Version wurden die Landing Page, die Suchleiste und “die Karte” der ParaTimes überarbeitet (#92, #116, #144).
Insgesamt wurden 48 Pull Requests zusammengeführt.
Entwicklerplattform und ParaTimes Updates
Oasis Emerald Version 10.0.0 wurde veröffentlicht, die die Mainnet-Version der Testnet-Version von Anfang Januar ist. Zusätzlich zum .orc-Bundle für das Mainnet werden die Nutzer eine neue Localnet-Version der ParaTime (#27) vorfinden. Das Localnet-Bundle verwendet eine separate Chain ID 0xa514, was für dApp-Entwickler praktisch ist, da sie so alle Netzwerke — das Localnet, das Testnet und das Mainnet — gleichzeitig konfigurieren und bei der Bereitstellung von Verträgen einfach zwischen ihnen wechseln können. Das emerald-dev Docker-Image wurde ebenfalls mit der Localnet-Variante aktualisiert.
Oasis Sapphire 0.4.0-testnet wurde diesen Monat veröffentlicht, was Unterstützung für Standard-EVM-Transaktionen (#1256) brachte. Dies füllt die Lücke in der Benutzerfreundlichkeit, wenn eine dApp auf Standard-Ethereum-Bibliotheken beschränkt ist, aber Entwickler immer noch eine vertrauliche Smart-Contract-Ausführung auf den Nodes bevorzugen würden.
ACHTUNG: Da auf diese Weise keine Ende-zu-Ende-Verschlüsselung durchgeführt wird, können Benutzer vertrauliche Daten innerhalb des Calldata-Körpers oder der Contract-Call-Antwort preisgeben! Oasis Sapphire 0.4.0 wurde eine Woche später für die allgemeine Verfügbarkeit dieser Funktion im Mainnet freigegeben.
Dank des Standard EVM Transaktionsformats wird Oasis Sapphire nun vollständig von Sourcify unterstützt. Zuvor konnten nur veränderbare Verträge auf der Grundlage des bereitgestellten Vertrags-Bytecodes und der Metadaten überprüft werden, da Sourcify nicht in der Lage war, die eth.create-Transaktion im Oasis-Format zu dekodieren. Entwickler, die ihren unveränderlichen Smart Contract verifizieren lassen möchten, sollten den Contract nun mit den Standard-Ethereum-Tools in Sapphire bereitstellen. Sourcify prüft nicht nur den bereitgestellten Bytecode und die Metadaten, sondern findet auch die ursprüngliche Bereitstellungstransaktion, dekodiert die Konstruktorargumente des Vertrags und schließt die Verifizierung ab.
Die neue Localnet-Version von Sapphire verwendet eine neue Chain ID 0x5afd (#102). Analog zu Emerald ermöglicht ein brandneues sapphire-dev Docker-Image Entwicklern, einen vertraulichen Localnet Oasis-Stack auszuführen. Dieser Stack enthält die stabile Version von Oasis Core zusammen mit der Schlüsselmanager-Binärdatei, dem neuesten Oasis Sapphire und dem Oasis Web3-Gateway. Ohne Intel SGX zu benötigen, ist das Image praktisch, um vertrauliche Smart-Contract-Tests auf einem lokalen Computer auszuführen, ohne sie dem Testnet auszusetzen, oder als Teil des kontinuierlichen Integrationsdienstes eines Projekts. Das Oasis-Engineering ermutigt Entwickler, das neue Image zu testen und unserem Team eventuelle Probleme mitzuteilen!
Ein neues Oasis Privacy Layer SDK wurde im Februar eingeführt (#117). Das SDK macht es unglaublich einfach, Ihre L1-Dapp um Privacy-Layer-Funktionalitäten zu erweitern. Das SDK bietet automatische Unterstützung für ERC-2771, Gas Relaying und Message Passing Bridges. Es wurde ein Proof-of-Concept für ein Ende-zu-Ende-verschlüsseltes Gas-Relaying-Netzwerk (GSN) demonstriert, das es Dritten ermöglicht, für die Transaktionsgasgebühr zu bezahlen (#1).
Die erste chain-übergreifende Nachrichtenübermittlungsbrücke (“cross-chain message passing bridge”), die Oasis Sapphire mit anderen EVM-Netzwerken verbindet, wurde eingerichtet. Sie wird von cBridge betrieben und verbindet Sapphire unter anderem mit Ethereum, BNB Chain, Polygon, Avalanche und Optimism sowie mit mehreren Testnetzen. Die Bridge kann über das OPL SDK genutzt werden. Oasis arbeitet derzeit an der Lösung eines wichtigen Problems für Entwickler und Nutzer: Wie kann man optimale Gaslimits für vertrauliche Transaktionen auf Sapphire abschätzen? Falls euch dieses Thema besonders am Herzen liegt, könnt ihr euch gerne an der Diskussion im Discord-Kanal #sapphire-paratime beteiligen!
Schließlich wurde der offizielle kanonische ERC-20-Vertrag für Wrapped ROSE auf Sapphire bereitgestellt. DApp-Entwickler können sie unter den Adressen 0x8Bc2B030b299964eEfb5e1e0b36991352E56D2D3 and 0xB759a0fbc1dA517aF257D5Cf039aB4D86dFB3b94 im Mainnet bzw. Testnet finden. Beachten Sie, dass diese ERC-20-Verträge nicht vertraulich sind! Wenn zum Beispiel ein Token-Transfer durchgeführt wird, wird ein Transfer-Ereignis gesendet, das den Empfänger und den Betrag enthält.
Oasis Core Updates
Ein Bugfix-Release von Oasis Core 22.2.6 in diesem Monat behebt ein potenzielles Problem, bei dem einige ParaTime-Runden fehlschlagen konnten, weil gültige Blockvorschläge fälschlicherweise verworfen wurden (#5161). Zuvor konnten gültige Vorschläge verworfen werden, anstatt sie über den P2P-Klatsch weiterzuleiten, wenn die Konsensansicht des lokalen Knotens etwas zurücklag, obwohl der Vorschlag gültig war. Bei kleineren Ausschüssen und bestimmten Topologien konnte dies dazu führen, dass einige Knoten die Vorschläge nicht erhielten.
Neue bemerkenswerte Funktionen, die im Oasis Core Master Branch implementiert wurden, der die Änderungen für die kommende Version 23.x enthält, waren:
- Konfigurationsänderungen (#5070). Der Knoten unterstützt nun eine Konfigurationsdatei, die alle Einstellungen enthält, die zuvor über die Befehlszeilenoptionen verfügbar waren. Die Kommandozeilenoptionen selbst wurden zugunsten der Konfigurationsdatei entfernt, die auch die Substitution von Umgebungsvariablen mit dem envsubst-Paket unterstützt.
- Derzeit erfordern TEE ParaTime-Upgrades eine Epoche der Ausfallzeit. Das liegt daran, dass der Node keine andere ParaTime vor der Aktivierung laufen lässt, aber die Ankündigung einer neuen TEE ParaTime erfordert einen Remote-Attestationsbeweis, dass sie korrekt läuft. Der verbesserte TEE-Upgrade-Code ermöglicht es einem Knoten, eine kommende (z.B. noch nicht aktivierte) Version der Laufzeitumgebung vor der Aktivierung laufen zu lassen, sie parallel zur alten zu registrieren und dann, wenn der Wechsel stattfindet, die alte einfach zu beenden, so dass das Upgrade ohne Ausfallzeit durchgeführt werden kann (#5188).
- Eine wichtige Reihe von Sicherheitsverbesserungen im Zusammenhang mit der Vorwärtsgeheimhaltung von ephemeren Schlüsseln, wie in ADR-21 vorgeschlagen, wurden zusammengeführt. Wenn Intel SGX gebrochen wird, kann man nicht mehr zu früheren Epochen zurückkehren und ephemere Geheimnisse kompromittieren (#5158, #5159, #5198, #5199).
- Die Gaskosten für Schlüsselmanager-Transaktionen wurden von der Registry zum Schlüsselmanager verlagert, wo sie eigentlich hätten sein sollen (#5166).
- Schlüsselmanager-Init-Anfragen sind nun anhand des Konsens-Schicht-Status verifizierbar (#5204).
Schauen Sie sich alle 41 Pull-Requests an, die im Januar zusammengeführt wurden, um eine vollständige Liste der Änderungen zu sehen.
Das war’s für Februar! Nun geht es weiter mit dem Rest des Monats März. In der Zwischenzeit könnt ihr euch mit dem Oasis-Team austauschen, indem ihr uns auf Discord oder im Oasis-Forum besucht! Außerdem könnt ihr hier mehr über den Oasis Privacy Layer erfahren und euch für den Oasis Privacy4Web3 Hackathon anmelden.