Mise à jour technique d’Oasis de mars 2023

Gomski33
Oasis Foundation — French 🇫🇷
10 min readApr 23, 2023

Remarque: cette publication est une traduction réalisée par un membre de la communauté Oasis Network. Des contrôles minutieux sont effectués pour garantir la rigueur des contenus, néanmoins ces derniers peuvent comporter des erreurs ou des omissions. Oasis Network n’est pas responsable de l’exactitude, de la fiabilité ou de l’actualité des informations traduites. Publication originale en anglais : Oasis March 2023 Engineering Update

Oasis Engineering a fait beaucoup en peu de temps au terme du premier trimestre 2023. La pile Oasis a connu des avancées et des améliorations substantielles en mars. Malgré ces avancées, l’activité et la fiabilité du réseau sont restées solides et constantes.

La mise à jour technique ce mois-ci présente un résumé des suivants :

  • Mises à jour du Wallet et du CLI
  • Mises à jour des réseaux (Mainnet et Testnet)
  • Mises à jour de l’indexeur et de l’explorateur
  • Mises à jour de la plateforme de développement et de ParaTime
  • Mises à jour d’Oasis Core

Pour en savoir plus sur les progrès d’Oasis Engineering du mois de mars, continuez la lecture !

Mises à jour du Wallet et du CLI

Oasis Wallet — Web a connu un certain nombre de réparations de bug importantes en mars.

  • Les défis WebUSB vécu par les nouveaux utilisateurs lors de la connexion de Ledger sur la version 110 (ou plus récent) de Chrome sont réparés (#1321, #1338)
  • Les symboles ROSE ou TEST sont désormais correctement séparés par un espace lorsque vous copiez le montant ROSE n’importe où dans le wallet (auparavant, ils apparaissaient de la même manière mais étaient copiés sans espace). Vous pouvez maintenant copier simplement le numéro car le mot qui contient le numéro est séparé du symbole (#1337)
  • La prise en charge de plusieurs onglets a été améliorée. Désormais, tous les onglets se synchronisent de manière transparente et indiquent le réseau actif utilisé. Bien que la liste des comptes soit également synchronisée, chaque onglet affiche le compte sélectionné. De cette manière, l’utilisateur peut parcourir les comptes et envoyer des jetons en utilisant différents onglets ou fenêtres (#1343)
  • Plusieurs tests de l’interface utilisateur, de l’ergonomie et des opérations de ParaTime ont été fusionnés (#1346, #1347, #1352, #1353, #1362, #1365, #1306)

62 pull requests ont été fusionnées au total.

Plusieurs améliorations de maintenance ont également été apportées à Oasis Wallet — Browser Extension.

  • L’extension du wallet a été mise en œuvre avec une solution similaire au bug WebUSB touchant les nouveaux utilisateurs de Ledger sur Chrome (#301, #303)
  • L’extension a été transférée vers Node.js 16 en préparation de la dépréciation de Node.js 14 à la fin d’avril (#305)

L’extension vient d’être mise à jour à la version 1.10.0 et est maintenant accessible via le Chrome Web Store.

Les transactions ParaTime du wallet physique Ledger sont officiellement prises en charge pour la première fois par l’Oasis CLI (#11). Les transactions ParaTime de base (dépôts, retraits et transferts) ont également été implémentées avec l’impression attractive (#24). Les utilisateurs disposent désormais de protections supplémentaires contre les transferts involontaires de jetons vers des adresses d’Ethereum sur la couche de consensus (#31). De telles vérifications peuvent toujours être ignorées en incluant l’option -f. Un nouveau flag -y de yes-to-all pour les situations non interactives a été ajouté(#45). L’inspection du réseau et la gestion des entités et des jetons par le binaire oasis-node seront progressivement remplacées par le CLI d’Oasis, ce dernier ne s’occupant plus que de la gestion du réseau. Vous pouvez enregistrer ou désenregistrer votre entité, un nouveau runtime, et lire les enregistrements actuels ou précédents des noeuds, entités, runtime et validateurs dans le registre en utilisant la commande de registre d’oasis récemment introduite(#47, #48) Le 14 mars, une nouvelle version 0.2.0a été publiée, incluant les binaires Linux amd64. 14 pull requests ont été fusionnées au total au dépôt CLI.

Mise à jour du réseau

Sur le Mainnet et le Testnet en mars, les ParaTimes Emerald, Sapphire et Cipher ont été constants. Il n’y a pas eu de panne de réseau ni de problèmes signalés. En raison d’une maintenance planifiée, le Web3 gateway et les instances Explorer pour Sapphire ont été indisponibles pendant une courte période.

La version d’Oasis Core 22.2.7 avec des correctifs de bug a été proposée pour le Testnet le 3 mars et pour le Mainnet le 28 mars. Sapphire 0.5.0-testnet a été proposé pour le Testnet le 14 mars. Lisez les sections ci-dessous pour en savoir plus sur les nouvelles fonctionnalités de ParaTime et les correctifs d’Oasis Core.

Temps forts du Mainnet

Le volume quotidien moyen des transactions sur Emerald a légèrement diminué (13 525 transactions contre 14 300 en février). Le record de 20 362 transactions du 18 mars est également inférieur au pic de 25 358 transactions du 8 février du mois précédent.

Le volume moyen de transactions quotidiennes du Sapphire a légèrement baissé en mars (1 123 transactions contre 1 157 en février). Mais par rapport au pic du mois précédent (1 174 transactions le 16 février), celui du 14 mars (1 193 transactions) a été plus élevé.

Les nœuds Mainnet d’Oasis opérationnels en date du 31 mars 2023 :

  • 120 nœuds de validation
  • 6 nœuds key management
  • 34 nœuds de calcul du ParaTime Cipher ParaTime
  • 55 nœuds de calcul du ParaTime Emerald
  • 26 de calcul du ParaTime Sapphire

Temps forts de Testnet

Sur Emerald, les transactions quotidiennes se situent généralement entre 1 200 et 1 300, à l’exception d’un pic entre le 21 et le 25 mars, avec un maximum mensuel de 5 552 transactions quotidiennes le 22 mars. Le nombre le plus élevé de transactions pour le mois a été de 3 156 le 5 février. Néanmoins, la moyenne quotidienne du mois de mars est inférieure à celle du mois de février (1 813 transactions contre 2 271 en février).

En raison de l’exigence de la Fondation Oasis d’effectuer des contrôles sanitaires plus réguliers, le volume quotidien de transactions de Sapphire a été multiplié par cinq de février à avril (9 622 transactions contre 2 341) et a continué d’augmenter au cours des mois suivants. Dans les jours qui ont suivi la conférence ETHDenver (du 6 au 15 mars), le volume des transactions a significativement augmenté. Le 25 mars, lorsque la Fondation Oasis a parrainé le concours national de programmation slovène ACM RTK 2023, une nouvelle hausse significative a été observée. Le 29 mars, le nombre de transactions a atteint 10 489, contre 3 672 le 28 février.

Les nœuds Testnet d’Oasis opérationnels en date du 31 mars 2023 :

  • 45 nœuds validation
  • 4 nœuds de key management
  • 18 nœuds de calcul du ParaTime Cipher
  • 31 nœuds de calcul du ParaTime Emerald
  • 20 nœuds de calcul du ParaTime Sapphire

Mises à jour d’Indexer et d’explorateur

L’équipe d’Oasis Indexer vient de terminer un autre mois extraordinaire. Les premiers réseaux Amber et Mainnet Beta en 2020, la mise à jour Cobalt en 2021 et la mise à jour Damask en 2022 resteront dans les mémoires des lecteurs qui suivent le réseau Oasis depuis le début. L’analyseur de chaîne doit parler le bon langage pour indexer correctement les données, car l’API et les structures de données ont subi d’importantes modifications au cours de cette période. Ce mois-ci, une nouvelle couche d’abstraction a été ajoutée à l’analyseur de chaînes, permettant la communication avec le nœud d’Oasis suite à la mise à jour Cobalt (#326, #356, #362, #358, #361). A partir de maintenant (#347), les causes d’échec des transactions de l’EVM et du consensus sont actuellement stockées. Les statistiques pour les comptes actifs quotidiens sont maintenant calculées (#329), et le nombre de nœuds de calcul actifs par ParaTime par époque est maintenant stocké (#354). D’autres bugs importants ont été corrigés (dans les requêtes #340, #344, #368, #332, #346, #348, #359, #369) y compris des conditions de course, un ordre incorrect des événements EVM, des soldes de jetons ERC20 incorrects, des plantages lorsqu’un smart contract n’était pas ce qu’il prétendait être, des problèmes de parsing, des problèmes de pagination, des genres de données de numéros d’événements EVM incorrects, et des index manquants. 30 pull requests au total ont été fusionnées.

Nous ne mentionnerons que quelques-uns des changements les plus importants apportés par l’équipe d’Oasis Explorer, car ils ont également progressé rapidement. L’Oasis Network étant une blockchain publique, toute personne ayant suffisamment d’argent sur son compte séquestre peut enregistrer un nouveau ParaTime (pour en savoir plus, cliquez ici). Même si des nœuds de calcul continuent de l’exécuter, le ParaTime sera suspendu si la taille du compte séquestre tombe en dessous du seuil.

  • Seuls les ParaTimes actifs (non suspendus) sont affichés dans l’interface utilisateur de l’explorateur pour réduire l’encombrement (#143)
  • Comme l’indexeur permet de traiter et de stocker les messages d’erreur de transaction (voir ci-dessus), cela a été mis en œuvre dans l’interface utilisateur (#163)
  • L’affichage de la limite de frais et des frais de transaction a fait l’objet d’une correction importante (#182) qui a été incorporée. Il y a maintenant une nouvelle vue pour les journaux de transactions (#224)
  • Le graphiques horaires et journaliers ont été ajoutés (#193, #195)
  • De nombreuses corrections pour la version mobile ont été ajoutées (#200, #236)
  • Si l’indexeur en est conscient, l’adresse et le hash de la transaction seront désormais affichés dans leur format hexa original (compatible avec Ethereum) au lieudes représentations natives Base64 et Bech32 (#239, #244)
  • L’interface utilisateur limitera désormais le nombre de pages sur lesquelles vous pouvez cliquer à 100 afin de réduire l’encombrement (#249)

Ce mois-ci, un nombre record de 84 pull requests ont été fusionnées !

Mises à jour de la plateforme de développement et de ParaTime

Le 14 mars, ‍Sapphire 0.5.0 a été publié, apportant avec lui deux fonctionnalités importantes.

Dans la précompilation Solidity de Sapphire, le support X25519 pour la signature, le cryptage et le décryptage des données on-chain était déjà inclus. Le helper à la création d’une nouvelle paire de clés X25519 a été ajoutée dans cette version (#116). Cela permet de produire et de conserver des clés privées entièrement on-chain, d’une manière similaire à celle des portefeuilles physiques. La notification d’erreur en cas d’échec d’une transaction était une autre fonctionnalité qui faisait défaut. Pour des raisons de confidentialité, même les transactions échouées avec suffisamment de frais de transaction étaient enregistrées comme réussies. Après mûre réflexion, nous avons décidé de conserver l’état de la transaction et de le transmettre à l’utilisateur. En coulisses, nous avons également activé la propagation des messages d’erreur pour les transactions échouées, mais le script final et les clients go doivent encore être ajustés pour cela.

Les tests simulés hardhat pour les transactions privées sont maintenant implémentés par le wrapper @oasisprotocol/sapphire-hardhat (#108). Lorsque vous testez vos smart contracts localement, c’est une alternative à l’exécution de l’ensemble de la pile confidentielle d’Oasis dans le conteneur docker sapphire-dev.

Le wrapper Gas Station Network possède maintenant des tests d’intégration complets qui fonctionnent à la fois localement et sur le Testnet (#1). Une fois que le wrapper aura fait l’objet de tests approfondis et que la documentation destinée aux développeurs sera disponible, nous annoncerons la sortie officielle de la version.

Quelques sections étaient ajoutées à la documentation :

  • Le dépannage de bubblewrap a été ajouté
  • La page Standard Contract Addresses, qui comprend les adresses officielles du wrapped ROSE et d’autres smart contracts généralement accessibles, a été ajoutée. Il y a des liens supplémentaires vers la vérification Sourcify
  • La disponibilité d’images Docker pour Sapphire exécutant localnet a été mentionnée dans le rapport technique le plus récent. Le processus d’obtention et d’utilisation des photos est maintenant documenté. Les extensions standard de _mainnet, de _testnet, et de _localnet sont maintenant également utilisées par les exemples de Sapphire lors de la détermination du réseau
  • Le guide Sapphire a été mis à jour pour inclure un avertissement crucial concernant le risque de sécurité potentiel que le nœud de calcul puisse suivre quelles cellules de mémoire sont utilisées et ensuite tenter de vérifier si les mêmes paires de clé sont accédées ou non. Cela pourrait indiquer, par exemple, si le solde des mêmes comptes est consulté lors des transactions ERC-20
  • La page intitulée “ Run your validator node” a été mise à jour. Nous espérons qu’il sera ainsi plus facile pour les nouveaux venus de rejoindre l’écosystème Oasis et de créer leur propre nœud de validation

Mises à jour de la plateforme Core

Ce mois-ci, Oasis Core 22.2.7 a reçu un nouveau correctif qui désactive par défaut la vérification “halt epoch” (#5200). Avant, le contrôle “halt epoch” était utilisé pour forcer les mises à jour du réseau par dump-and-restore sur une période de temps prédéterminée et pour arrêter le réseau dans le cas où un accord sur la proposition de mise à jour ne pouvait pas être obtenu. L’epoch d’arrêt peut être ignorée parce que la gouvernance de la chaîne a été bien testée pendant un certain temps et que le réseau est suffisamment avancé. L’epoch d’arrêt sera donc entièrement supprimée du document de genèse dans la future version 23.x.

La version 23.x d’Oasis Core approche à grands pas, c’est pourquoi le travail s’est concentré sur les optimisations, les mises à jour des dépendances et la réparation des bogues.

  • La boucle principale du key management a été refactorisée (#5212)
  • Pour éviter de bloquer la boucle principale, l’initialisation de l’enclave de key management a été transférée dans une goroutine différente. De plus, l’initialisation a été renforcée de sorte que si une clé expire pendant la rotation des key managers, l’enclave se réinitialise simplement (#5218)
  • Désormais, les builds non-SGX peuvent également utiliser les politiques de gestion des clés. Cela accélérera notre CI et facilitera les tests (#5215)
  • La dernière version de la bibliothèque Tokio est maintenant prise en charge par les runtimes fonctionnant sous SGX, ce qui améliore la vitesse et prévient les blocages potentiels avec l’implémentation de la rotation du secret principal (#5214, #5220, #5223)
  • Un correctif crucial a été fusionné pour permettre au nœud de fonctionner même après une mise à jour d’aesmd. Dans cette situation, l’identification du Quoting Enclave pouvait changer, ce qui nécessitait la mise à jour des informations précises (#5239)
  • L’utilisation d’images Docker par CI a été transferé vers ghcr.io suite à la récente déclaration de Dockerhub indiquant qu’il mettrait fin à ses plans d’équipe gratuits (#5224)
  • Bien que l’annonce ait été retirée par la suite, notre relocalisation était déjà terminée. Go 1.20.x est dersomais utilisé pour compiler et tester Oasis Core (#5228)

Pour obtenir une liste complète des changements, consultez les 22 pull requests qui ont été fusionnées en mars.

Voilà qui conclut le mois de mars et les trois premiers mois de l’année. Le mois d’avril est à venir. Rejoignez-nous sur notre Discord ou Forum pour discuter avec l’équipe d’Oasis d’ici là. Inscrivez-vous au Hackathon Oasis Privacy4Web3 et découvrez l’Oasis Privacy Layer ici.

--

--

Gomski33
Oasis Foundation — French 🇫🇷

Blockchain enthusiast and translator. Keen on Web3 and its possibilities.