Souvent décrié pour ses échecs répétés et ses mauvaises performances, le réseau Solana continue de travailler dur avec des objectifs ambitieux. Dans cet esprit, Solana a apporté trois changements majeurs au réseau pour assurer la stabilité et la résilience. Dans cet article, nous allons examiner de plus près ces trois nouvelles fonctionnalités ensemble.
Protocole QUIC, QoS pondérée par le déploiement,Amélioration du système de péage
Ces atténuations ciblent les volumes élevés de trafic qui provoquent diverses pannes sur le réseau Solana. Les changements proposés par les développeurs de Solana sont considérés comme abstraits ou hautement techniques pour la partie générale de la communauté, mais le concept n’est pas complètement nouveau et a été repris d’autres systèmes déjà matures. Cet article va essayer de décomposer les aspects techniques et de les expliquer en termes simples.
résumé
fond de protocole de communication réseau
Protocole QUIC = TCP, c’est mieux ? QoS pondérée par le déploiement. Améliorations du système de frais de transaction de Solana au total. Avis de non-responsabilité : Cet article a été initialement publié en anglais sur Chorus One’s Medium par Thalita @ethalita_. Chorus One est une société spécialisée dans l’infrastructure de sécurité des réseaux blockchain à preuve de participation. J’ai obtenu l’accord de Thalita pour publier cet article car j’ai pensé qu’il serait intéressant de comprendre ce qui se passe dans les couches du protocole Solana et d’éviter que le réseau ne subisse de nouvelles pannes à l’avenir. Article original : Trois grandes mises à jour à venir pour Solana afin d’améliorer les performances du réseau. L’article original a été publié le 15 juin 2022. En effet, deux des trois mises à jour qui ajoutent ces fonctionnalités ont chacune été effectuées sur le réseau.
- Intégration du protocole QUIC : À partir du 19 septembre 2022, le protocole QUIC sera le protocole par défaut pour Solana. Vous pouvez trouver la version sur Github ici.
- Intégration QoS : Maintenant que le protocole QUIC est intégré au réseau Validator de Solana, l’équipe Solana peut se concentrer sur l’intégration QoS. C’est l’une des trois fonctionnalités qui ne sont pas encore entièrement implémentées.
3. Système de tarification amélioré : Un nouveau système de tarification a été intégré fin juin 2022. Les données de ce nouveau modèle de tarification peuvent être analysées en détail dans DuneAnalytics. Vous pouvez également utiliser le suivi des frais Solscan Block Explorer. Suivi des frais Solscan
fond de protocole de communication réseau
Solana a utilisé le protocole UDP (User Datagram Protocol) pour envoyer des transactions entre les nœuds du réseau. Les nœuds envoient des transactions directement aux leaders (nœuds validateurs chargés de proposer des blocs dans des créneaux spécifiques) via UDP sans établir de connexion au préalable. UDP ne gère pas la congestion du trafic ni la confirmation de la livraison des données. En cas de congestion du réseau, le lecteur ne peut pas gérer la quantité de trafic entrant. Cela signifie que certains paquets seront supprimés. Certaines pertes de paquets sont normales, même pendant les heures creuses. En envoyant plusieurs fois la même transaction, vous augmentez les chances qu’au moins une tentative arrive.
Protocole UDP
lâche. 1 : Schéma du protocole UDP. Il existe plusieurs transmissions de données, qui peuvent surcharger le récepteur et laisser tomber des paquets en cours de route.
Le contraire d’UDP est le protocole TCP (Transmission Control Protocol). Le protocole TCP comprend des fonctionnalités plus avancées, mais il nécessite une session (c’est-à-dire une connexion connue entre le client et le serveur) pour fonctionner. Les récepteurs « voient » les paquets et les expéditeurs savent quand arrêter d’envoyer des paquets lors d’un trafic intense. TCP peut renvoyer les paquets perdus. Si l’expéditeur ne reçoit plus d’accusés de réception, cela signifie que quelque chose a été perdu et que l’expéditeur doit ralentir.
Cependant, le protocole TCP n’est pas adapté à certains cas d’utilisation. Plus précisément, il classe tout le trafic. Si certaines données sont perdues, tout ce qui suit doit attendre. Ce n’est pas idéal pour les transactions Solana indépendantes.
lâche. 2 : Représentation du protocole TCP avec transmission de données en série. Les paquets perdus affectent les paquets suivants car l’expéditeur attend un accusé de réception du serveur. Protocole QUIC = TPC mieux ? QUIC est le protocole universel utilisé par plus de la moitié des connexions du navigateur Web Chrome aux serveurs de Google. QUIC est le nom du protocole, pas un acronyme. QUIC est une alternative à TCP avec des caractéristiques similaires. Une session où la contre-pression peut ralentir l’expéditeur, mais il y a aussi le concept de flux séparés. Par conséquent, si une transaction échoue, il n’est pas nécessaire de bloquer les autres transactions. journal rapide
lâche. 3 : Schéma du protocole QUIC avec fonctionnalité mixte TCP et UDP.
Solana est un réseau sans autorisation. Toute personne exécutant le client Solana est un « nœud » sur le réseau et peut envoyer des messages au leader. Les nœuds agissent comme des validateurs lors de la signature et de l’envoi de votes, et partagent une interface RPC (Remote Procedure Call) qui leur permet de recevoir des messages d’applications telles que des portefeuilles et des DEX et de les envoyer aux lecteurs. Le lecteur (validateur de bloc) écoute sur un port UDP et RPC écoute sur un port TCP. Étant donné que le calendrier du leader est public, les joueurs sophistiqués dotés de stratégies algorithmiques (bots) peuvent envoyer des transactions directement au leader, en contournant les nœuds RPC supplémentaires qui ne font qu’augmenter la latence. Si la demande de lecteurs est élevée, le réseau sera congestionné et les performances en souffriront. Solana remplace le port UDP utilisé par le lecteur par un port QUIC. QoS pondérée par le déploiement. La qualité de service (« QoS ») est une méthode de hiérarchisation de certains types de trafic lorsque le trafic est supérieur à ce que le réseau peut gérer. (Par exemple, la qualité de service est utilisée sur les ordinateurs de jeu, de sorte que la carte réseau donnera la priorité aux jeux par rapport aux téléchargements en arrière-plan pour maintenir un ping stable.) Anatoly, fondateur de Solana, après que Solana ait rencontré des problèmes de performances en janvier dernier après que des stratégies de trading automatisées (alias « bots de liquidation ») aient inondé le réseau de plus de 2 millions de paquets par seconde. Yakovenko a tweeté que lui et son équipe essayaient de les mettre en œuvre. Concept QoS à Solana. Auparavant, le lecteur essayait de traiter les transactions dès leur arrivée. Mais grâce au protocole QUIC, les adresses IP peuvent désormais être validées, permettant aux validateurs de hiérarchiser et de limiter le trafic pour des connexions spécifiques. Au lieu que les validateurs et les RPC envoient les transactions au lecteur dès que possible (attaque DoS sur le lecteur), utilisez des connexions QUIC persistantes. Lorsque le réseau (IP) est encombré, le nombre de messages qu’un nœud peut envoyer peut être limité (« throttling ») afin que les politiques puissent être identifiées et appliquées aux connexions à fort trafic. Ces politiques sont appelées QoS. En interne, la QoS pondérée par les stakers signifie la mise en file d’attente des transactions dans différents canaux en fonction de l’expéditeur, pondérée par la quantité de SOL stakés. Les nœuds qui ne sont pas validateurs seront alors incités à envoyer des transactions aux nœuds validateurs d’abord, au lieu d’envoyer directement au leader, pour avoir une meilleure chance de trouver une exécution, puisque les messages excédentaires des nœuds qui ne sont pas des validateurs seront très probablement abandonnés par le leader. Selon Anatoly, les validateurs seront responsables de la mise en forme de leur propre trafic et de l’application de politiques visant à éviter la vulnérabilité. Par exemple, si un nœud particulier envoie d’énormes quantités de transactions, même s’il est validateur, les autres validateurs pourront prendre des mesures en ignorant les connexions établies avec ce nœud afin de protéger les performances du réseau.
Amélioration du système de frais de transaction sur Solana
Les frais Solana sont actuellement fixes et facturés pour chaque signature requise dans une transaction (5000 lamports = 0,000005 SOL). Si la concurrence est forte sur un marché spécifique, les utilisateurs courent le risque de ne pas voir leurs transactions exécutées. Avec des frais de transaction fixes, il n’y a aucun moyen de communiquer la priorité ou de rivaliser en payant plus pour obtenir la priorité de leur transaction. En l’absence d’alternatives, les utilisateurs (généralement des robots) envoient des transactions par spam au leader (et aux futurs leaders) dans l’espoir qu’au moins l’une d’entre elles aboutisse. Dans de nombreuses situations, ce comportement génère plus de trafic que ce que le réseau peut traiter. Un mécanisme de frais additionnels a été ajouté à Solana en juin 2022, permettant aux utilisateurs de spécifier des frais supplémentaires arbitraires à percevoir lors de l’exécution de la transaction et de son inclusion dans un bloc. Ce mécanisme aide non seulement le réseau à donner la priorité aux transactions sensibles au temps, mais il tend également à réduire la quantité de messages invalides ou dupliqués envoyés par les algorithmes, puisque les opérations spéculatives peuvent devenir non rentables avec une augmentation du coût total.
transactions priorities solana
En Octobre 2022, environ 6% du total des transactions sont des transactions prioritaires
Le rapport entre ces frais et les unités de calcul demandées (le coût de calcul du programme pour effectuer toutes les opérations) servira de poids à la priorité d’exécution d’une transaction. Ce rapport sera utilisé par les nœuds pour classer par ordre de priorité les transactions qu’ils envoient au leader. Les frais supplémentaires seront traités de la même manière que les frais de base actuels : 50% des frais payés seront collectés par le leader et 50% seront brûlés. À ce stade, on pourrait imaginer que plusieurs blocs soient remplis uniquement de transactions visant une monnaie NFT. Cependant, il y a un temps limite pour que chaque compte soit bloqué pour l’écriture sur un seul emplacement (600 à 800 millisecondes). L’espace de bloc restant peut être rempli par des transactions écrivant sur des comptes différents, même s’ils offrent un droit de priorité plus faible. Les transactions à haute priorité essayant d’écrire sur un compte qui a déjà atteint sa limite seront incluses dans le bloc suivant. Chaque transaction Solana spécifie les comptes accessibles en écriture – la partie de l’état qui sera modifiée. Cela permet d’exécuter des transactions en parallèle, tant que les transactions sont indépendantes, c’est-à-dire qu’elles n’accèdent pas aux mêmes comptes. Si deux transactions écrivent ou lisent sur le même compte, ces deux transactions ne peuvent pas être traitées en parallèle, car elles affectent le même état. L’équipe Solana soutient que les frais de priorité se comportent alors comme des enchères parallèles, n’affectant que le marché chaud” au lieu du prix global, permettant aux frais d’augmenter pour une file spécifique de transactions essayant d’écrire dans ce compte uniquement.
Comment les utilisateurs connaîtront-ils le prix des NFT ?
Les nœuds RPC doivent indiquer un supplément raisonnable. Dans la plupart des cas, nous utilisons des techniques statistiques simples telles que : B. Coût réel moyen de transactions similaires sur les N blocs précédents. La meilleure méthode dépend du marché et du fait que les frais pour des transactions similaires sont volatils (forte demande) ou stables (faible demande). En pratique, des frais supplémentaires peuvent avoir des implications globales si les enchères parallèles ne sont pas mises en œuvre dans le client de validation. RPC et l’utilisateur sont responsables de la définition des préférences, donc s’il y a beaucoup de trafic, l’application essaiera probablement d’avoir la priorité sans avoir à interagir avec le « marché chaud », et sera surpassée par d’autres dApps moins populaires. augmentera. au total
Dans cet article, nous avons discuté de trois choses sur lesquelles Solana travaille activement pour résoudre les problèmes de congestion. Cela comprend le changement du protocole de communication d’UDP à QUIC, l’ajout d’une QoS pondérée aux joueurs pour la hiérarchisation des transactions et un marché des frais qui facture lorsque la demande est élevée. J’espère avoir pu clarifier ces concepts et comprendre vos motivations et vos décisions. L’examen du code source de Solana peut révéler les moyens exacts mis en œuvre dans la QoS pour sélectionner ou éliminer les transactions, ou les mécanismes derrière l’augmentation (et la diminution) des frais, et d’autres qui restent non résolus. est une étape importante pour examiner la question.