Crypto lemonde
DeFi

Quelle est la fiabilité de votre nœud ? – Crypto Lemonde

Chez 0xArc, nous avons besoin de chaque élément de données, sur chaque chaîne, à chaque instant (passé, présent et futur). En conséquence, nos entrepôts de données ont une taille de plusieurs centaines de téraoctets. Pour obtenir ces données, nous avons effectué des milliards d’appels RPC et continuons d’en effectuer des centaines de millions par mois sur de nombreux réseaux blockchain. Malheureusement, nous avons constaté qu’en moyenne, les appels RPC aux nœuds fonctionnent environ environ 80 % du temps en fonction des conditions avec des variations de prix 10 fois ! Cet article partage certaines de nos découvertes et, espérons-le, sera utile au reste de la communauté.

Avant de parler de chiffres, il est important de comprendre comment fonctionne l’industrie des nœuds dans le domaine de la cryptographie afin que nous puissions bien comprendre de quoi nous discutons. Même si ce serait formidable si chacun gérait ses propres nœuds et si nous suivions les principes parfaits de décentralisation, la réalité est que la gestion d’un nœud est complexe et nécessite une expertise. C’est pourquoi nous déléguons cette responsabilité à un fournisseur de nœuds. Ce diagramme est basé sur le fonctionnement de l’industrie des nœuds commerciaux en 2024 dans le domaine de la cryptographie.

À un niveau élevé, vous disposez de nœuds complets ou d’archives qui sont exécutés sur un type spécifique d’implémentation de nœud (geth/reth/erigon). Ces nœuds sont hébergés par un fournisseur tel qu’Alchemy ou Quicknode pour chaque réseau blockchain qu’ils prennent en charge. En tant que consommateur RPC, vous accédez à tout cela au bout du fil.

Lorsque vous déconstruisez cette chaîne logique, vous disposez de 4 dimensions principales qui auront un impact considérable sur les performances :

  1. La chaîne à laquelle vous envoyez des requêtes RPC : le réseau de nœuds de chaque chaîne se comporte différemment et a des niveaux d’activité différents.

  2. La méthode que vous appelez : cela dépendra si vous effectuez des appels de nœud complets ou archivés et de l’implémentation du client de nœud.

  3. Le fournisseur que vous utilisez : l’entité qui héberge les nœuds auxquels vous pouvez accéder.

  4. Lorsque vous appelez le nœud : les performances du nœud varient dans toutes les dimensions ci-dessus au fil du temps, elles ne sont pas constantes.

Être capable d’instrumenter et de comprendre ces données peut s’avérer très difficile. Cependant, chez 0xArc, c’est notre travail car nous effectuons des milliards d’appels RPC et surveillons attentivement les performances de tout ce que nous touchons. La performance, la fiabilité et le coût sont primordiaux pour nous. Nous savons quand une chaîne est en panne ou quand un fournisseur RPC est en panne avant la plupart des acteurs du marché. Voici le contexte des données que nous examinerons dans cet article :

Afin de bien comprendre ce qui se passe avec plus d’un milliard de lignes de données, nous allons devoir les découper en plusieurs dimensions. Heureusement, nous savons de quoi il s’agit grâce aux points que j’ai évoqués ci-dessus.

Le reste de l’article montrera des exemples uniques de la façon dont les performances peuvent varier de manière imprévisible dans chacune de ces dimensions.

Supposons que vous construisiez une application inter-chaînes qui repose sur une interface avec divers réseaux. Les performances de votre nœud varient considérablement en fonction de la chaîne que vous appelez et de l’heure à laquelle vous l’appelez.

Ce premier graphique montre quel est le taux de réussite moyen de chaque chaîne par jour, agrégé pour tous les fournisseurs et méthodes. Comme vous pouvez le voir sur le tableau ci-dessous, le taux de réussite moyen que vous obtenez des chaînes varie considérablement presque chaque mois. Nous ne savons pas pourquoi cela peut être le cas, mais nous pouvons constater que les appels Polygon ont réussi en moyenne 60 % du temps en août, mais ont ensuite grimpé jusqu’à 80 % et plus au cours des dernières semaines.

Une mise en garde clé concernant ces données lors de leur évaluation n’est pas la suivante : « Polygon est une mauvaise chaîne et les appels RPC ne réussissent que 70 % du temps en moyenne ». Il s’agit du taux de réussite moyen mixte sur toutes les chaînes, tous les fournisseurs et toutes les méthodes sur une période d’environ 2,5 mois. À mesure que nous approfondissons l’une de ces dimensions, les données changent considérablement.

1 = Ethereum, 10 = Optimisme, 137 = Polygone, 8453 = Base, 42161 = Arbitrum, 2220 = Celo, 56 = Binance

Il s’agit du même graphique mais pour une période de 17 jours et filtré par un seul fournisseur. Comme vous pouvez le constater, le graphique est beaucoup plus fluide et varie par rapport à l’agrégat global.

1 = Ethereum, 10 = Optimisme, 137 = Polygone, 8453 = Base, 42161 = Arbitrum, 2220 = Celo, 56 = Binance

Si nous constatons qu’un seul fournisseur réussit bien, qu’est-ce qui nous empêche de doubler constamment la mise ? La section suivante aborde cette question avec plus de nuances.

Ce graphique suivant, j’ai simplifié parce que je voulais éviter d’avoir trop de lignes. Chacun d’eux représente un réseau majeur de fournisseurs RPC et leur taux de réussite regroupé sur toutes les chaînes et méthodes. Comme vous pouvez le voir sur le tableau ci-dessous, le fournisseur orange est l’un des plus fiables par rapport aux autres et la différence est assez stupéfiante !

Encore une fois, l’évidence pourrait simplement être « utiliser le fournisseur orange » car il fonctionne bien. Malheureusement, cela ne fonctionne pas vraiment non plus. Lorsque nous examinons les performances du fournisseur orange pour Ethereum uniquement, les méthodes de nœud d’archive peuvent présenter des baisses de performances spectaculaires. Comme vous pouvez le constater, pendant près d’un mois, les nœuds d’archives ont terriblement fonctionné sur ce qui était censé être « le meilleur fournisseur » dans notre exemple ci-dessus.

Donc, si nous recherchons les meilleures performances pour certaines méthodes, nous devons y regarder de plus près.

Notre tableau final ci-dessous montre comment le succès des différentes méthodes change considérablement d’un mois à l’autre. Selon que vous effectuez des appels vers des nœuds complets ou vers des nœuds d’archive, vos performances varieront considérablement. Nous avons vu cela brièvement dans un exemple isolé avec le fournisseur unique sur une chaîne ci-dessus, mais nous avons maintenant une vue plus agrandie.

Si nous faisons la moyenne de ces données, nous obtenons la répartition ci-dessous du taux de réussite moyen par méthode avec le graphique des zones qui l’accompagne montrant une répartition des appels de nœuds d’archive par rapport aux appels de nœuds non-archives. Lorsque vous le présentez ainsi, vous réalisez à quel point les nœuds peuvent être peu fiables lorsque vous examinez de nombreuses dimensions. Souvent, les fournisseurs de nœuds utilisent des numéros marketing brillants sur des périodes limitées pour commercialiser leurs performances. Ce n’est que lorsque vous les martelez à grande échelle que vous voyez les véritables mesures.

Alors, quelle est la meilleure façon de sélectionner un nœud ? Un argument en faveur de cette complexité pourrait être d’utiliser simplement le fournisseur orange dans notre exemple ci-dessus. Cependant, lorsque leurs systèmes commencent à échouer et connaissent des baisses importantes, vos systèmes en aval échoueront à cause d’eux.

Une façon d’éviter cela consiste à avoir des fournisseurs de secours dans votre système. Cependant, ces fournisseurs de secours nécessitent une maintenance manuelle et augmentent la latence grâce à un routage sous-optimal. Idéalement, vous souhaitez disposer de données sur le fonctionnement de toutes ces routes de manière dynamique et intelligente, plutôt que de clauses if/else statiques dans votre base de code.

Quelques données plus juteuses sur les performances des différents fournisseurs selon différentes méthodes.

Pour rendre les choses encore plus compliquées, la tarification de chaque fournisseur change en fonction de la chaîne et de la méthode. Ces différences peuvent atteindre 10 fois le coût par méthode/chaîne. Du coup, une différence de performances de 10 à 20 % finit par vous coûter bien plus cher ! Chaque fournisseur souhaite vous enfermer dans un forfait annuel ou un quota mensuel qui entraîne des coûts supplémentaires. Presque aucun fournisseur n’est basé uniquement sur l’utilisation, ce qui signifie que vous êtes obligé de parier sur un seul – sans aucune donnée ! Ce qui est au départ un « simple service » présente en réalité de grandes variations de performances lorsqu’il est inspecté de près.

Si vous payez pour des RPC ou si vous réfléchissez à la fiabilité de votre infrastructure, explorons comment optimiser les performances entre les chaînes et les fournisseurs. Contactez-nous pour discuter de nos découvertes ou pour voir comment nous pouvons vous aider.

  • Vous payez actuellement pour des RPC et souhaitez en savoir plus sur la manière d’améliorer votre fiabilité.

  • Vous êtes un fournisseur RPC et souhaitez connaître les performances de vos nœuds

  • Vous envisagez de vous inscrire à un service RPC et souhaitez obtenir des conseils

Contactez-moi directement à partir de cet e-mail ou en m’envoyant un e-mail à k@0xarc.io afin que nous puissions prévoir du temps pour discuter.

Related posts

Analyse du largage aérien de Starkware – Kerman Kohli – Crypto Lemonde

cryptolemonde.com

Réflexions sur la prise d’ARCx en privé – Crypto Lemonde

cryptolemonde.com

Penser les entreprises en années humaines – Crypto Lemonde

cryptolemonde.com

Ce site Web utilise des cookies pour améliorer votre expérience. Nous supposerons que vous êtes d’accord avec cela, mais vous pouvez vous désinscrire si vous le souhaitez. Accepter Politique de confidentialité et de cookies