Blogue
Étude de cas Nansen-Dysnix : Blockchain et sécurité

Nansen.ai propulsé par Dysnix : infrastructure blockchain personnalisée qui résout 120 % des tâches

Alex Vorona
January 10, 2023

Des tâches spécifiques exigent des solutions spécifiques. C'est ce que recherchent généralement les projets blockchain lorsqu'ils nous contactent. Ce cas est un brillant exemple de l'évolution de la demande d'un client pendant la phase de recherche et de la coopération des équipes face à des défis complexes.

Dans cet article, vous découvrirez comment Dysnix gère les tâches du client, de l'accord aux étapes de support, et quels sont les avantages attendus et supplémentaires que nous générons pour nos clients.

Cliente

À propos de Nansen.ai

Nansen.ai est une plateforme d'analyse de la blockchain qui aide les traders et les projets de blockchain en les mettant en évidence et en les informant des changements et tendances essentiels qui se produisent dans la blockchain (en particulier en matière de cryptographie). Ils traitent quotidiennement les pétaoctets de données commerciales circulant dans leurs systèmes afin de fournir les informations les plus précieuses à leurs clients 24 heures sur 24, 7 jours sur 7.

L'infrastructure interne de Nansen.ai (Source)

Les exigences de Nansen lors de la recherche de fournisseurs de solutions étaient extrêmement élevées en raison de l'expertise technologique de l'entreprise elle-même. Ils ont choisi Dysnix en raison de l'expertise qui peut compléter de manière significative leur équipe interne, de la facilité de partage des connaissances et de l'approche inventive de la résolution des problèmes techniques.

L'ambiance au début du projet

Signe d'un projet prometteur, Nansen nous a contacté avec un objectif principal qui ressemblait davantage à ceci : « Nous pensons que nous avons besoin de ceci et de cela. Qu'en penses-tu ? » Après une brève discussion sur le sujet, les deux parties ont compris que Dysnix pouvait approfondir le problème et le résoudre de la manière la plus optimisée possible.

Tout le monde s'est donc enthousiasmé pour la future communication et les miracles techniques qui se produiront.

Pré-développement

Étape des négociations

Il n'a fallu que deux appels pour établir tous les liens entre les entreprises et convenir des principaux points de coopération. La pandémie de COVID nous a montré comment tous les sujets et défis pouvaient être discutés et résolus avec succès, quelle que soit la distance parcourue par vos collègues. Nous n'avons donc pas perdu trop de temps avant le développement.

Du côté de Dysnix, nous avons sélectionné deux ingénieurs, un architecte cloud et un ingénieur DevOps senior, ayant une expérience de la blockchain. Du côté de Nansen, ils ont préparé l'ensemble des exigences et seuls quelques spécialistes ont été chargés de communiquer avec notre équipe. Notre client nous a délégué 100 % du travail et s'est entièrement fié à nous.

Dysnix était prêt à se lancer.

L'analyse des tâches commerciales et sa métamorphose

Dans sa dernière déclaration, Nansen.ai a engagé Dysnix pour développer, implémenter et prendre en charge une infrastructure fiable, autonome et sécurisée répondant aux besoins spécifiques de la plateforme d'analyse blockchain. Un niveau de sécurité élevé était un point essentiel de la demande.

Nansen avait besoin d'un déploiement sûr et hautement sécurisé pour le nœud de validation de la blockchain Ronin avec stockage sécurisé des clés privées.

Ronin Network présente $RON (Source)
Ronin is an EVM blockchain crafted for developers that build games with player-owned economies and are suited well for cryptocurrencies. This blockchain claims to be an energy-efficient sidechain from Ethereum. It supports EVM-compatible smart contracts and protocols. 
Currently, Ronin is a Byzantine Fault Tolerant proof of authority (POA) network operated by validators. Also, Ronin released Testnet's new consensus engine (Consortium v2), which follows the Proof of Staked Authority strategy. Proof of Staked Authority combines Delegated Proof of Stake (DPoS) and Proof of Authority (PoA). At the bootstrap of the network, carefully selected, trusted validators were predefined to secure the network. Now, validators can be added or removed if the decision is approved by the majority of currently active validators (Official docs here). 

Le nœud de validation Ronin que Nansen avait prévu d'obtenir ne pouvait pas répondre à leurs besoins. Il s'agissait d'un nœud de validation typique qui était étroitement connecté à l'ensemble du réseau et ne possédait pas toutes les caractéristiques nécessaires. La tâche de Dysnix était de mettre en œuvre un tel environnement de blockchain qui ajouterait de nouvelles fonctionnalités au validateur Ronin sans aucune modification des fonctionnalités du nœud lui-même.

Why is it so important to stay functional as a validator node? Because it’s essential for both blockchain’s transaction verification and reliability in the eyes of other validators. If the validator is off, it doesn’t perform its direct functions—validating blockchain’s transactions—it’ll lose its part of a reward. Even if you think the task is too controversial and impossible, our engineers think another way. 

L'équipe Dysnix a prévu une solution qui ressemblera à ceci :

Schéma d'une solution pour Nansen. Source : documentation du projet Nansen

Avant de passer en revue de plus près la solution proposée par les ingénieurs de Dysnix, examinons le niveau supérieur des exigences établies.

La solution répond aux attentes et exigences suivantes du client :

  • L'ensemble de l'environnement est infaillible.
  • Le nœud de validation doté d'un stockage sécurisé des clés privées n'est pas accessible depuis Internet ou de toute autre manière, sauf par Nansen.
  • Le nœud de validation fonctionne toujours dans le cadre d'une blockchain.

Mais nous avons proposé d'aller encore plus loin et d'ajouter d'autres améliorations dès le départ :

  • Les nœuds créés auront une disponibilité de 99,99 %.
  • La solution développée doit être rentable.
  • La solution peut être facilement transformée, éditée, remasterisée et expliquée à tout nouvel ingénieur de l'équipe du client.
  • Toutes les étapes du processus de développement sont documentées et détaillées.
  • La solution doit comporter des éléments de surveillance, d'alerte et d'analyse qui démontrent l'efficacité et les résultats de la mise en œuvre.

Notre offre est basée sur les normes de travail élevées des ingénieurs de Dysnix et sur leur dévouement aux projets. Comme vous pouvez l'imaginer, Nansen ne pouvait guère être en désaccord avec l'offre que nous leur avons préparée.

Définition d'un périmètre de travail (SoW) et d'une feuille de route

Après un accord sur la première partie de la coopération, Dysnix a créé un SoW de haut niveau avec une vue d'ensemble des objectifs et des réalisations futures de la coopération. Au cours de la phase de R&D et après 2 à 3 sessions de clarification, au cours desquelles Nansen a révélé plus d'informations sur l'équipe avec laquelle Dysnix travaillera et d'autres détails, nos ingénieurs ont pris la décision finale en fonction de l'architecture et du SoW détaillé en profondeur.

Avec cette version de SoW, Dysnix a décrit les tâches de bas niveau dans son système de suivi et les a classées par ordre de priorité dans la feuille de route. Les ingénieurs ont estimé l'ensemble du processus de développement à 100 à 120 heures de travail. Il répond parfaitement aux besoins de Nansen.

Un aperçu de la feuille de route des projets

Nous avions également discuté de la possibilité de modifier le SoW au cours du processus de développement et, comme nous l'avions prévu, cela s'est effectivement produit pendant les étapes de développement. Néanmoins, cela n'a pas eu d'impact négatif sur le résultat final. Au contraire, nous avons obtenu des résultats encore meilleurs dont nous pouvons être fiers.

Comme il ne restait aucun point à discuter davantage, nous nous sommes préparés à l'invasion proprement dite et à un travail acharné sur le projet. Le flux de travail avec l'équipe interne de Nansen s'est naturellement réglé : si l'une des parties avait besoin d'une réponse, elle posait des questions directes et obtenait toutes les explications immédiatement.

Connexion à l'équipe interne

Les ingénieurs participant au projet ont été étroitement associés aux travaux de l'équipe interne. En outre, ils ont tout mis en œuvre pour rendre leur activité transparente et compréhensible pour toutes les parties prenantes impliquées. L'équipe Dysnix est réputée pour avoir facilité l'ambiance de travail grâce à trois points principaux :

  • Attendabilité et suivi des plans
  • Démonstrations efficaces et régulières
  • Documentation applicable et intéressante à lire

Tout au long de la phase de développement active, l'ingénieur DevOps senior a organisé des démonstrations, et l'architecte cloud a effectué la R&D interne et le déploiement du PoC pour une meilleure compréhension et des ajustements du SoW.

Nos ingénieurs ont commencé à développer la documentation pour l'équipe interne de Nansen depuis la phase de préparation jusqu'à ce que tout soit nettoyé en production. Grâce à l'approche coopérative des collègues internes, nous avons pu organiser notre travail rapidement, en tenant compte des limites des responsabilités de chaque partie.

Développement

Mise en œuvre dans l'environnement de développement et la phase de production de Dysnix

Nous avons configuré notre environnement de développement pour cartographier la solution que nous avions prévu de mettre en œuvre. Nous avons créé Tableaux des casques à cette fin et a préparé tout le nécessaire pour tester la connectivité avec le validateur.

De plus, nos ingénieurs ont contrôlé tous les paramètres de configuration et les préparations de l'infrastructure grâce au IaC Approche (Infrastructure en tant que code). Il s'agit de l'un des processus (ou méthodologies, si vous le souhaitez) les plus importants que nous appliquons pour que notre infrastructure reste facilement modifiable et que toutes les modifications ou nouvelles fonctionnalités puissent être mises en œuvre en quelques heures, et non en plusieurs semaines.

Nos ingénieurs ont tout préparé pour création de sauvegardes et de snapshots pour conserver toutes les informations enregistrées et protégées en toute sécurité. Il est essentiel de configurer ces éléments dès le début et de les garder à portée de main, car la blockchain Ronin ne vous fournira aucun instantané. Nous ferions donc mieux de protéger nos clients plutôt que de guérir.

Nous nous sommes concentrés sur la tâche principale du projet : isoler le nœud de validation Ronin tout en restant fonctionnel. Pour atteindre cet objectif, nous avons décidé d'implémenter la couche de nœuds dits sentinelles qui joueraient deux rôles différents dans notre infrastructure :

  1. Ils devraient devenir un proxy inverse pour la connexion de la blockchain à Internet et à notre nœud de validation.
  2. Ces nœuds sentinelles doivent disposer de la fonctionnalité RPC pour les requêtes.

Ainsi, avec cette couche de nœuds sentinelles, nous avons implémenté le schéma unidirectionnel dans lequel le nœud de validation Ronin peut obtenir des informations sur ce qui se passe dans la blockchain via une connexion p2p aux nœuds sentinelles. Pourtant, rien ne peut connecter un nœud de validation directement depuis Internet.

Cette solution est suffisamment rapide et rentable. Il fonctionne correctement avec l'infrastructure blockchain existante sans délais ni réponses plus longues. Nous vous proposons de passer au niveau de mise en œuvre suivant : préparer l'environnement pour le validateur et le connecter aux nœuds sentinelles.

Après quelques consultations et lors des sessions en direct avec nos ingénieurs, Nansen a configuré l'environnement des nœuds de validation de son côté. Notre équipe a soutenu et contrôlé le déploiement de deux nœuds de validation (le second a servi de nœud de sauvegarde) dans le moteur Google Kubernetes et a appliqué les meilleures pratiques de déploiement sécurisé. Nous avons conseillé de dupliquer le nœud des validateurs pour garantir la fonctionnalité de A à Z en toutes circonstances.

The first one, the active one, is responsible for holding up a private key, and the second node is typically on standby. If the main validator isn’t available, the stand-by node turns on, and Nansen’s engineers provide access to the private key thanks to the manual switch, and the validator continues its work.  

Il semblait que la mission était terminée ! Les nœuds de validation ont été isolés, les nœuds sentinelles ont fonctionné comme sur des roulettes et le système a été vérifié. Il ne restait plus qu'une étape avant la production. Les ingénieurs de Dysnix ont tout de même continué à travailler sur l'IaC et le déploiement en tant qu'implémentation de code afin de garantir :

  • Facilité de modification de l'infrastructure et de déploiement.
  • L'évolutivité du projet, la simplicité de gestion et les modifications entièrement configurables et contrôlables.
  • Simplicité de mise à l'échelle de toutes les solutions sur les projets.

Grâce à ces bases de code, nous avons pu migrer vers l'environnement de production de manière fluide et en un temps minimal. Et tout s'est passé comme prévu.

Mais alors que nous étions en train de déployer la solution principale en production, Nansen nous a préparé une autre tâche passionnante que nous ne pouvions pas refuser d'entreprendre...

Quête secondaire de Nansen

La direction de Nansen était tellement satisfaite des résultats intermédiaires qu'elle a décidé de frapper le fer à repasser alors qu'il faisait chaud. Nous avons reçu une autre demande de déploiement qui n'était pas directement liée à la tâche principale.

Les nœuds d'archive Ronin ont été ajoutés à notre liste. Nansen étant une société d'analyse de chaînes de blocs, elle a besoin d'un accès rapide et complet à toutes les données de la blockchain qui ne peuvent pas être stockées ailleurs que dans des nœuds de blockchain d'archive.

Nous savons qu'un nœud d'archive Ronin classique présente certaines limites désagréables. Par exemple, il faut généralement environ six heures pour analyser les données analytiques de la blockchain pendant une journée. C'est bien trop lent pour Nansen. Il est évident que nous avons besoin d'une sorte de « stéroïdes » pour les faire fonctionner plus rapidement et toujours, avec un haut niveau de fiabilité et de sécurité, comme le souhaite le client. L'équipe Dysnix a donc dû « rafraîchir » légèrement les nœuds d'archivage.

Pour terminer cette tâche et obtenir la note A+, nous avons décidé de jouer un peu différemment, toujours sans aucune magie :

  1. Nous avons mis en place un système complet de nœuds d'archivage dont les caractéristiques sont ajustées manuellement.
  2. Pour les surveiller, nous avons ajouté une surveillance et un dépannage supplémentaires, car nous voulons collecter autant d'informations que possible sur la façon dont ils agissent dans des modèles de charge typiques et atypiques.
  3. Ensuite, nous avons sélectionné les nœuds les plus prometteurs présentant les meilleures performances et les avons clonés ; tous les autres ont été éliminés.
  4. Mais même si certaines améliorations ont été enregistrées, nous ne nous sommes pas arrêtés là. L'étape suivante a consisté à travailler sur le flux des demandes. Nous avons ordonné à chaque requête lourde de se décomposer en quelques éléments plus petits qui pourraient être facilement traités par tous les réseaux de nœuds au lieu de les obstruer et de les bloquer nœud par nœud.
  5. Nous avons parcouru 2 à 4 étapes pendant un certain temps pour voir si d'autres moyens d'amélioration apparaissaient.
  6. Lorsque nous avons décidé de présenter les nœuds d'archivage renouvelés au client, celui-ci a obtenu les résultats suivants : le volume d'informations d'une journée analysé en 15 minutes maximum.

Nous avons réussi à réduisez la durée de mise à jour quotidienne du nœud d'archive Ronin de six heures à 15 minutes. L'équipe de Nansen a été très impressionnée par ces résultats, qui l'ont aidée à améliorer l'ensemble de son service, et pas seulement l'infrastructure que nous avons construite pour elle.

La phase de développement principale était terminée et nous avons procédé aux actions clôturantes du projet.

Dépannage et maintenance

Il a fallu environ deux semaines pour toutes les activités de mise à jour, tout éclaircir sur la production et améliorer la documentation de dépannage pour l'équipe interne de Nansen. Nous avons récupéré les documents de travail que nous avions préparés au début de notre coopération et avons vérifié si tout fonctionnait comme prévu.

Nous avons également organisé une série de sessions de dépannage en direct au cours desquelles nous avons montré comment résoudre différents problèmes liés aux paramètres de charge ou d'environnement afin d'atteindre une productivité maximale. En parallèle, nous avons édité notre documentation pour la rendre précise en fonction des dernières mises à jour.

Pour résumer :

Une fois cette étape terminée, nous avons serré la main de Nansen et sommes passés à la phase de coopération « passive », à savoir le soutien.

soutien

Après presque un an de travail, l'équipe de Dysnix soutient toujours le projet.

Nous maintenons le niveau de qualité établi pour Nansen en vérifiant les indicateurs les plus importants de la santé de l'environnement. Nous continuons également à travailler sur des améliorations mineures qui seront disponibles lors de vos déplacements.

Pour aider efficacement nos clients, nous mettons en place des systèmes de surveillance, de contrôle de santé, d'alerte et de mise à niveau qui ne passent pas inaperçus.

Surveillance

La plateforme la plus agréable et la plus appréciée des ingénieurs de Dysnix pour la surveillance est Grafana. Tout d'abord, les principaux indicateurs sont sélectionnés pour suivre les objectifs et les KPI des fonctionnalités de l'environnement. Ensuite, nous fusionnons toutes les informations suivies dans le pool de données et affichons les indicateurs nécessaires sur l'écran du contrôleur.

Nous examinons les volumes de demandes, les connexions établies, les rechargements, l'utilisation de la mémoire et du processeur, ainsi que d'autres indicateurs.

L'exemple d'un tableau de bord de surveillance utilisé par Dysnix

Ce tableau de bord et les suivants sont également disponibles pour notre client, mais ils sont rarement vérifiés. Un ingénieur Dysnix peut contrôler et entretenir ce système sans perdre trop de temps.

Analyse des performances de gestion des demandes créée pour Nansen

Nous incluons également ces données dans les rapports mensuels de Nansen. Il est essentiel de stocker des données sur l'état du système, car en cas de problème, nos ingénieurs peuvent suivre la situation pour revenir à l'état normal et tout restaurer comme si de rien n'était.

Une autre vue de l'analyse des performances de gestion des demandes créée pour Nansen

Contrôles réguliers

La sécurité restant la principale exigence de Nansen, nous accordons une attention particulière à cette question. Grâce aux contrôles réguliers que nous effectuons sur le système, nous nous assurons qu'il est aussi sûr que le premier jour où nous l'avons terminé.

MISES À JOUR

Les mises à jour régulières et en temps opportun sont un processus semi-automatisé que nous menons pour chaque client pris en charge. Nous devons nous assurer que tout fonctionne rapidement et maintenir le système à jour. Ainsi, le client apprécie le fait que le système que nous avons créé il y a longtemps reste efficace et s'améliore avec le temps.

C'est le véritable objectif du support Dysnix, n'est-ce pas ?

Conclusion

Valeurs générées par Dysnix, à la fois attendues et inattendues

Les solutions mises en œuvre par Dysnix ont renforcé les principaux avantages concurrentiels de Nansen. Le principal domaine d'activité du client étant lié à l'analyse de la blockchain, nous avons réussi à influencer la rapidité et la sécurité des processus internes. L'amélioration de l'infrastructure entraîne toujours des avantages visibles pour l'expérience du client final et même réduit les coûts.

Les principaux avantages que nous apportons peuvent être résumés dans les catégories suivantes :

  • Valeurs attendues et prévues
  • Avantages et effets secondaires inattendus

Les valeurs attendues et prévues sont les résultats directs du SoW réalisé à grande échelle. Comme :

  • Le délai de rentabilisation le plus rapide: Les premiers résultats de notre travail ont été obtenus par Nansen en seulement quatre semaines.
  • Infrastructure sécurisée infaillible: L'accès aux nœuds est totalement contrôlable et ne peut pas être modifié depuis Internet. Pourtant, ils fonctionnent parfaitement à 100 %.
  • Une base fiable pour les améliorations futures : Modifications, support et reprise de projet simplifiés grâce à l'infrastructure en tant que code et au déploiement en tant que code créés par notre équipe. La réalisation de ces objectifs implique un changement positif global pour l'ensemble de l'infrastructure.
  • Support continu : Dysnix assure une maintenance de l'infrastructure sans soucis grâce à une équipe accessible et à des rapports transparents.

En ce qui concerne les avantages et les effets secondaires inattendus, nous pouvons dire que leur valeur ne peut être ignorée. Ces points ne faisaient pas partie de la quête principale de notre équipe, mais nous avons l'habitude de tout faire pour maximiser les avantages pour nos clients.

  • Vaste partage de connaissances : Nous avons fourni un mentorat et des conseils continus à l'équipe interne de Nansen. Nous nous sommes rapidement adaptés au rythme et au style du travail d'équipe du client afin de maximiser l'échange d'expériences, d'approfondir les connaissances et de maîtriser les compétences d'ingénieurs responsables.
  • Optimisation des performances des nœuds d'archivage : Nous avons réduit le temps de traitement des informations d'un jour sur la blockchain Ronin de 6 heures à 15 minutes pour les nœuds d'archive créés. Maintenant, rien ne peut arrêter ce train !

Ce que nous avons appris de ce projet

Du point de vue technique, les tâches de Nansen n'étaient pas trop compliquées. La plupart de nos processus ont été exécutés selon différentes variantes sur d'autres projets. Quoi qu'il en soit, nous avons dû rester extrêmement prudents pour garantir une disponibilité de 99,99 % et une sécurité fiable. Grâce à notre habitude de modéliser des situations, de planifier et de penser de manière prédictive, nous pouvons prévenir les problèmes et les catastrophes avant qu'ils n'apparaissent. Les choses qui sont bien établies fonctionnent bien, comme on dit.

Le deuxième problème qui nous a constamment tenus les yeux ouverts était le changement de plan de notre client. C'est une situation tout à fait normale lorsque les plans changent de direction à 180 degrés en fin de journée, après quelques séries d'entretiens, des dizaines d'heures de travail avec l'équipe interne et la réalisation d'une ou deux expériences. La flexibilité de notre équipe entraîne l'adaptabilité et la personnalisation approfondie des solutions que nous proposons. C'est pourquoi nous n'avons pas peur des nouvelles idées de nos clients, prêts à les essayer avec nos outils et nos compétences.

Comment obtenir le même niveau de service avec Dysnix

Le petit guide expliquant comment obtenir notre aide se trouve ici :

  1. Contactez notre équipe.
  2. Planifiez un court appel de présentation.
  3. Laissez-nous entrer dans les détails de ce que vous devez faire.
  4. Recevez une offre sur la manière dont nous prévoyons de résoudre votre tâche.
  5. Décidez si cela vous convient. Commencez ou au revoir pour l'instant.

Nous sommes ouverts à de nouvelles opportunités, à des projets ambitieux et à des enquêtes extrêmes. Nos ingénieurs se feront un plaisir d'explorer les infrastructures les plus problématiques et de les amener à la perfection fonctionnelle. Nous savons comment gérer notre travail dans les circonstances les plus difficiles, de sorte que nos clients n'ont aucune raison de douter de nos résultats. Et nous en sommes fiers.

Les choses devraient fonctionner efficacement et générer des bénéfices.

Et si vous recherchez une équipe comme la nôtre, faites le premier pas en nous rencontrant. Vous obtiendrez une réponse encore plus rapidement que prévu :
Nous contacter
Alex Vorona
DevOps Lead
Sharing the in-house secrets of DevOps mastery originated from Dysnix.
Table des matières
Articles connexes
Abonnez-vous au blog
La meilleure source d'informations pour le service client, les conseils de vente, les guides et les meilleures pratiques du secteur. Joignez-vous à nous.
Merci de votre inscription au blog Dysnix
Vous serez désormais le premier à savoir quand nous publierons un nouvel article
J'ai compris
Oups ! Une erreur s'est produite lors de l'envoi du formulaire.
Copié dans le presse-papiers
Collez-le où vous voulez