Pour y parvenir, nous devons offrir des prix meilleurs que ceux du Nasdaq, et nous devons donner à l'application la capacité d'annuler les opérations avec priorité avant la conclusion.
Solana vise à construire un réseau de trading décentralisé plus efficace que le NASDAQ, mais la conception existante de la blockchain n’est pas à la hauteur des attentes, le teneur de marché actuel de Solana a un faible taux de victoire dans la course à l’annulation des ordres (bien inférieur aux 13% des échanges centralisés), et Jito Auctions exacerbe le contrôle de l’accès de l’État par un seul leader, ce qui entraîne un élargissement des spreads. À cet égard, il est proposé de reconstruire le mécanisme de consensus et d’introduire plusieurs leaders simultanés afin d’optimiser l’ordre des ordres, de réduire le coût de la sélection adverse des teneurs de marché et d’améliorer l’efficacité des prix.
Solana a été créé à l’origine dans le but de construire une blockchain suffisamment rapide et bon marché pour y exécuter un carnet d’ordres central à cours limité disponible. La version bêta du réseau principal Solana a été mise en ligne en mars 2020 – et maintenant cinq ans plus tard, et bien que nous ayons accompli beaucoup, il devient de plus en plus clair que nous n’en sommes pas encore là.
L'infrastructure blockchain existante n'est pas conçue pour les transactions. Si nous voulons réaliser la mission initiale de Solana, nous devons revenir à l'origine, repartir des principes fondamentaux pour repenser complètement le mécanisme de consensus et, au final, construire un réseau décentralisé capable de rivaliser avec la Bourse de New York.
Par concurrence avec la Bourse de New York, nous entendons que les bourses sur Solana doivent être en mesure d’offrir de meilleurs prix que les bourses centralisées. Dans le monde du marché, le prix est défini par un « spread » : la différence entre le prix maximum auquel une personne est prête à acheter un actif et le prix le plus bas auquel une personne est prête à vendre un actif.
Plus l'écart de prix est petit, meilleur est le prix obtenu par les traders, et plus l'efficacité du marché est élevée.
La formule de la propagation est simple. Les spreads sont fixés de telle sorte que le bénéfice attendu qu’un teneur de marché recevra en négociant avec un trader non informé est égal à la perte attendue qu’il subirait en négociant avec un trader d’information. Lorsque les teneurs de marché ont plus d’informations que leurs contreparties, ils gagnent de l’argent ; Lorsqu’il y a moins d’informations que la contrepartie, elle perd de l’argent. Les teneurs de marché gagnent généralement un peu d’argent sur chaque transaction avec les investisseurs particuliers, mais perdent beaucoup s’ils sont couverts dans la direction opposée lorsque le prix grimpe violemment (espérons-le, rarement). C’est l’origine de l’expression « le teneur de marché ramasse la porte et perd la pastèque ».
Quels sont les facteurs déterminant le coût de la sélection inverse ?
Pour mieux comprendre l’antisélection, nous devons comprendre à quels jeux jouent les teneurs de marché. Les teneurs de marché prennent des décisions en fonction d’un « prix équitable » qui change de manière aléatoire au fil du temps. Lorsque le juste prix se situe à l’intérieur de l’écart entre l’offre et la demande, la cotation du teneur de marché est sûre car la contrepartie ne peut pas réaliser de profit en mangeant la cotation. Mais dès que le juste prix dépasse l’écart entre l’offre et la demande, une course commence : le teneur de marché essaie d’annuler l’ordre le plus rapidement possible, et le preneur essaie de saisir l’ordre périmé avant que le teneur de marché n’annule. L’attente d’un preneur réussi est la différence entre le juste prix et l’offre obsolète. La clé pour réduire les frictions de l’antisélection est de permettre aux teneurs de marché de gagner la course autant que possible.
Des données provenant d'un certain échange centralisé indiquent qu'après un mouvement de prix, les teneurs de marché n'ont que 13 % de chances d'annuler leurs ordres en premier.
Les teneurs de marché sur les exchanges centralisés ont moins de chances de gagner dans la course à l’annulation, mais encore plus bas sur Solana. Le mécanisme d’enchères de Jito – qui est un effet secondaire d’un seul soumissionnaire contrôlant l’accès de l’État sur une longue période de temps – rend presque impossible pour les teneurs de marché de gagner la course à l’annulation. Même si le teneur de marché est plus rapide, la vraie décision est de savoir qui enchérit le plus dans l’enchère Jito. Cela place les teneurs de marché face à un dilemme : ils peuvent soit payer beaucoup d’argent pour annuler leurs ordres, soit laisser quelqu’un d’autre payer un prix élevé pour les sniper. Quoi qu’il en soit, ils perdaient de l’argent et devaient donc élargir l’écart.
En pratique, la microstructure actuelle du marché on-chain donne aux preneurs un avantage de premier arrivé en termes d’antisélection. Pour résoudre ce problème, nous devons donner à l’application plus de flexibilité dans l’ordre des transactions. Si l’on veut faire baisser le spread, l’application doit être en mesure de donner aux teneurs de marché une longueur d’avance dans la course à l’annulation des ordres. Une façon d’y parvenir est d’introduire une stratégie de tri « annuler d’abord, remplir plus tard ». Nous examinons les blocs et traitons toutes les annulations avant de traiter toutes les prises.
Nous pouvons mettre en œuvre cette stratégie immédiatement sur Solana, simplement en changeant l’ordre actuel des rediffusions d’un modèle déterminé par le leader à une politique qui privilégie les annulations. Mais cela ne résout pas complètement le problème. S’il est toujours contrôlé par un seul leader, qui peut toujours choisir d’ignorer l’annulation des transactions, alors nous sommes de retour à la case départ – le teneur de marché est toujours désavantagé pour annuler la course.
La seule façon de résoudre ce problème est d'introduire des leaders parallèles multiples (Concurrent Leaders). Ainsi, si un leader annule une transaction, vous pouvez vous tourner vers un autre leader pour soumettre votre demande.
Réalisation — Tri des transactions
La plus grande question à propos des multiples leaders parallèles est la suivante : comment fusionner leurs blocs de transaction respectifs en cas de conflit ? La réponse est simple : nous divisons les frais en deux catégories : les frais d’inclusion et les frais de commande. Les frais d’inclusion sont payés au validateur qui contient la transaction, et les frais de tri sont payés au protocole (burn). Lorsque nous voulons fusionner les blocs de chaque leader, nous prenons simplement l’union de toutes les transactions pour tous les blocs d’un créneau et les ordonnons en fonction de leurs frais de tri.
Cette seule mesure n'est pas suffisante. Ce que nous voulons vraiment réaliser, c'est permettre aux applications de contrôler plus flexiblement le tri des transactions. Ajoutons un élément : l'appel système get\_transaction\_metadata, qui permet au programme de lire les frais de tri des transactions avec lesquelles il interagit, fournissant ainsi un puissant outil de contrôle du tri aux applications.
Réalisation — Mécanisme de consensus
Nos objectifs de conception du mécanisme de consensus incluent :
Liaison et aveuglement (Binding & Blinding) : Les leaders parallèles ne peuvent pas inclure d'informations d'autres blocs de leaders dans leur propre bloc (comme des attaques sur des transactions privées), et ne peuvent pas annuler leur propre bloc en fonction du contenu d'autres blocs de leaders (par exemple, annuler leur propre enchère après avoir vu d'autres enchères).
Équité de l'horloge (Wallclock Fairness) : Les leaders parallèles doivent soumettre des blocs dans un temps réel à peu près identique.
Voici un résumé des solutions les plus efficaces que nous avons développées en collaboration avec Pranav Garimidi et Joachim Neu de a16z Research :
Chaque leader convertit son bloc en fragments de code de correction d'erreurs (shreds). Une fois qu'un nombre suffisant de fragments (supérieur au taux de codage) a été récupéré, le bloc peut être restauré. Une récupération partielle est impossible.
Les leaders envoient des fragments aux nœuds intermédiaires de la première couche de l'arbre Turbine. Chaque leader envoie son premier fragment au relais 1, le deuxième fragment au relais 2, et ainsi de suite. Si tout se passe bien, chaque relais recevra des fragments de tous les leaders.
Après le délai, le relais envoie un message IHAVE signé au leader de consensus unique, l'informant des fragments reçus.
Le leader de consensus construit ensuite un bloc contenant ces messages IHAVE ; si le bloc ne contient pas une proportion suffisante de messages IHAVE, il sera invalide.
Les leaders de consensus diffusent ce bloc aux validateurs, qui commencent à parvenir à un consensus sur ce bloc.
Cette solution satisfait les attributs de liaison et de dissimulation avec une forte probabilité, et présente une bonne équité temporelle, bien qu'il puisse y avoir de meilleures solutions à l'avenir.
Conclusion
L'objectif de la création de Solana est de dépasser le Nasdaq. Pour y parvenir, nous devons offrir de meilleurs prix que le Nasdaq. Pour cela, nous devons donner aux applications la capacité d'annuler les opérations de priorisation avant la transaction. Pour donner cette capacité aux applications, nous devons empêcher les leaders de réviser unilatéralement les ordres. Et pour y parvenir, nous devons introduire plusieurs leaders parallèles.
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
Comment Solana peut-elle s'améliorer pour réaliser la vision de Nasdaq off-chain ?
**Rédaction : **Max Resnick (Anza) & Anatoly Yakovenko (Solana Labs)
Compilation : GaryMa Wu parle de la blockchain
Résumé
Solana vise à construire un réseau de trading décentralisé plus efficace que le NASDAQ, mais la conception existante de la blockchain n’est pas à la hauteur des attentes, le teneur de marché actuel de Solana a un faible taux de victoire dans la course à l’annulation des ordres (bien inférieur aux 13% des échanges centralisés), et Jito Auctions exacerbe le contrôle de l’accès de l’État par un seul leader, ce qui entraîne un élargissement des spreads. À cet égard, il est proposé de reconstruire le mécanisme de consensus et d’introduire plusieurs leaders simultanés afin d’optimiser l’ordre des ordres, de réduire le coût de la sélection adverse des teneurs de marché et d’améliorer l’efficacité des prix.
Solana a été créé à l’origine dans le but de construire une blockchain suffisamment rapide et bon marché pour y exécuter un carnet d’ordres central à cours limité disponible. La version bêta du réseau principal Solana a été mise en ligne en mars 2020 – et maintenant cinq ans plus tard, et bien que nous ayons accompli beaucoup, il devient de plus en plus clair que nous n’en sommes pas encore là.
L'infrastructure blockchain existante n'est pas conçue pour les transactions. Si nous voulons réaliser la mission initiale de Solana, nous devons revenir à l'origine, repartir des principes fondamentaux pour repenser complètement le mécanisme de consensus et, au final, construire un réseau décentralisé capable de rivaliser avec la Bourse de New York.
Par concurrence avec la Bourse de New York, nous entendons que les bourses sur Solana doivent être en mesure d’offrir de meilleurs prix que les bourses centralisées. Dans le monde du marché, le prix est défini par un « spread » : la différence entre le prix maximum auquel une personne est prête à acheter un actif et le prix le plus bas auquel une personne est prête à vendre un actif.
Plus l'écart de prix est petit, meilleur est le prix obtenu par les traders, et plus l'efficacité du marché est élevée.
La formule de la propagation est simple. Les spreads sont fixés de telle sorte que le bénéfice attendu qu’un teneur de marché recevra en négociant avec un trader non informé est égal à la perte attendue qu’il subirait en négociant avec un trader d’information. Lorsque les teneurs de marché ont plus d’informations que leurs contreparties, ils gagnent de l’argent ; Lorsqu’il y a moins d’informations que la contrepartie, elle perd de l’argent. Les teneurs de marché gagnent généralement un peu d’argent sur chaque transaction avec les investisseurs particuliers, mais perdent beaucoup s’ils sont couverts dans la direction opposée lorsque le prix grimpe violemment (espérons-le, rarement). C’est l’origine de l’expression « le teneur de marché ramasse la porte et perd la pastèque ».
Quels sont les facteurs déterminant le coût de la sélection inverse ?
Pour mieux comprendre l’antisélection, nous devons comprendre à quels jeux jouent les teneurs de marché. Les teneurs de marché prennent des décisions en fonction d’un « prix équitable » qui change de manière aléatoire au fil du temps. Lorsque le juste prix se situe à l’intérieur de l’écart entre l’offre et la demande, la cotation du teneur de marché est sûre car la contrepartie ne peut pas réaliser de profit en mangeant la cotation. Mais dès que le juste prix dépasse l’écart entre l’offre et la demande, une course commence : le teneur de marché essaie d’annuler l’ordre le plus rapidement possible, et le preneur essaie de saisir l’ordre périmé avant que le teneur de marché n’annule. L’attente d’un preneur réussi est la différence entre le juste prix et l’offre obsolète. La clé pour réduire les frictions de l’antisélection est de permettre aux teneurs de marché de gagner la course autant que possible.
Des données provenant d'un certain échange centralisé indiquent qu'après un mouvement de prix, les teneurs de marché n'ont que 13 % de chances d'annuler leurs ordres en premier.
Les teneurs de marché sur les exchanges centralisés ont moins de chances de gagner dans la course à l’annulation, mais encore plus bas sur Solana. Le mécanisme d’enchères de Jito – qui est un effet secondaire d’un seul soumissionnaire contrôlant l’accès de l’État sur une longue période de temps – rend presque impossible pour les teneurs de marché de gagner la course à l’annulation. Même si le teneur de marché est plus rapide, la vraie décision est de savoir qui enchérit le plus dans l’enchère Jito. Cela place les teneurs de marché face à un dilemme : ils peuvent soit payer beaucoup d’argent pour annuler leurs ordres, soit laisser quelqu’un d’autre payer un prix élevé pour les sniper. Quoi qu’il en soit, ils perdaient de l’argent et devaient donc élargir l’écart.
En pratique, la microstructure actuelle du marché on-chain donne aux preneurs un avantage de premier arrivé en termes d’antisélection. Pour résoudre ce problème, nous devons donner à l’application plus de flexibilité dans l’ordre des transactions. Si l’on veut faire baisser le spread, l’application doit être en mesure de donner aux teneurs de marché une longueur d’avance dans la course à l’annulation des ordres. Une façon d’y parvenir est d’introduire une stratégie de tri « annuler d’abord, remplir plus tard ». Nous examinons les blocs et traitons toutes les annulations avant de traiter toutes les prises.
Nous pouvons mettre en œuvre cette stratégie immédiatement sur Solana, simplement en changeant l’ordre actuel des rediffusions d’un modèle déterminé par le leader à une politique qui privilégie les annulations. Mais cela ne résout pas complètement le problème. S’il est toujours contrôlé par un seul leader, qui peut toujours choisir d’ignorer l’annulation des transactions, alors nous sommes de retour à la case départ – le teneur de marché est toujours désavantagé pour annuler la course.
La seule façon de résoudre ce problème est d'introduire des leaders parallèles multiples (Concurrent Leaders). Ainsi, si un leader annule une transaction, vous pouvez vous tourner vers un autre leader pour soumettre votre demande.
Réalisation — Tri des transactions
La plus grande question à propos des multiples leaders parallèles est la suivante : comment fusionner leurs blocs de transaction respectifs en cas de conflit ? La réponse est simple : nous divisons les frais en deux catégories : les frais d’inclusion et les frais de commande. Les frais d’inclusion sont payés au validateur qui contient la transaction, et les frais de tri sont payés au protocole (burn). Lorsque nous voulons fusionner les blocs de chaque leader, nous prenons simplement l’union de toutes les transactions pour tous les blocs d’un créneau et les ordonnons en fonction de leurs frais de tri.
Cette seule mesure n'est pas suffisante. Ce que nous voulons vraiment réaliser, c'est permettre aux applications de contrôler plus flexiblement le tri des transactions. Ajoutons un élément : l'appel système
get\_transaction\_metadata
, qui permet au programme de lire les frais de tri des transactions avec lesquelles il interagit, fournissant ainsi un puissant outil de contrôle du tri aux applications.Réalisation — Mécanisme de consensus
Nos objectifs de conception du mécanisme de consensus incluent :
Liaison et aveuglement (Binding & Blinding) : Les leaders parallèles ne peuvent pas inclure d'informations d'autres blocs de leaders dans leur propre bloc (comme des attaques sur des transactions privées), et ne peuvent pas annuler leur propre bloc en fonction du contenu d'autres blocs de leaders (par exemple, annuler leur propre enchère après avoir vu d'autres enchères).
Équité de l'horloge (Wallclock Fairness) : Les leaders parallèles doivent soumettre des blocs dans un temps réel à peu près identique.
Voici un résumé des solutions les plus efficaces que nous avons développées en collaboration avec Pranav Garimidi et Joachim Neu de a16z Research :
Chaque leader convertit son bloc en fragments de code de correction d'erreurs (shreds). Une fois qu'un nombre suffisant de fragments (supérieur au taux de codage) a été récupéré, le bloc peut être restauré. Une récupération partielle est impossible.
Les leaders envoient des fragments aux nœuds intermédiaires de la première couche de l'arbre Turbine. Chaque leader envoie son premier fragment au relais 1, le deuxième fragment au relais 2, et ainsi de suite. Si tout se passe bien, chaque relais recevra des fragments de tous les leaders.
Après le délai, le relais envoie un message IHAVE signé au leader de consensus unique, l'informant des fragments reçus.
Le leader de consensus construit ensuite un bloc contenant ces messages IHAVE ; si le bloc ne contient pas une proportion suffisante de messages IHAVE, il sera invalide.
Les leaders de consensus diffusent ce bloc aux validateurs, qui commencent à parvenir à un consensus sur ce bloc.
Cette solution satisfait les attributs de liaison et de dissimulation avec une forte probabilité, et présente une bonne équité temporelle, bien qu'il puisse y avoir de meilleures solutions à l'avenir.
Conclusion
L'objectif de la création de Solana est de dépasser le Nasdaq. Pour y parvenir, nous devons offrir de meilleurs prix que le Nasdaq. Pour cela, nous devons donner aux applications la capacité d'annuler les opérations de priorisation avant la transaction. Pour donner cette capacité aux applications, nous devons empêcher les leaders de réviser unilatéralement les ordres. Et pour y parvenir, nous devons introduire plusieurs leaders parallèles.