← Derniers articles
📈 economics

Ordering by Unanimity: Giving Applications Sequencing Rights Without Breaking Composability

Cet article introduit l'algorithme de « dérogation par unanimité » (unanimity override), qui permet aux applications blockchain d'imposer leur séquençage de transactions préféré lorsque toutes les parties impliquées sont d'accord, tout en utilisant un ordre par défaut pour résoudre les cycles et en garantissant que des transactions spécifiques s'exécutent comme prévu, même face à une manipulation adverse.

Auteurs originaux : Andrea Canidio

Publié 2026-07-08
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Andrea Canidio

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez une blockchain comme un immense carnet de notes numérique partagé où tout le monde écrit ses transactions. Dans ce carnet, la composabilité est le super-pouvoir qui permet aux différentes applications de communiquer entre elles. Par exemple, vous pourriez vendre une action sur une application et immédiatement utiliser cet argent pour contracter un prêt sur une autre, le tout en une seule étape.

Cependant, il y a un problème : Qui décide de l'ordre ?

Dans une file d'attente physique à un café, la première personne arrivée est la première servie. Mais dans une blockchain, la personne qui écrit la ligne (le « proposant de bloc ») décide généralement de qui passe en premier. Cela crée un casse-tête pour les développeurs d'applications.

  • Une application d'enchères a besoin que l'offre la plus haute soit traitée avant la deuxième plus haute, sinon l'enchère échoue.
  • Une application de trading a besoin qu'une mise à jour de prix se produise avant que quiconque ne négocie, sinon les gens négocient sur des prix anciens et erronés.
  • Une application d'annulation doit annuler une commande avant que quelqu'un ne tente de l'exécuter.

Si le proposant de bloc décide de l'ordre, il peut accidentellement (ou malicieusement) perturber ces applications.

La Solution : « L'Unanimité de Priorité » (Unanimity Override)

L'auteur propose une nouvelle règle appelée Unanimité de Priorité. Voyez cela comme un système de « Consensus de Groupe » pour le carnet de notes.

Voici l'idée centrale : Si toutes les applications impliquées dans une paire spécifique de transactions sont d'accord sur qui doit passer en premier, le carnet de notes doit respecter cet accord.

  • La Bonne Nouvelle : Si l'Application A dit « La transaction X doit passer avant Y », et que l'Application B (qui voit aussi les deux) est d'accord, alors X passe avant Y. Le système verrouille cela.
  • La Mauvaise Nouvelle (Le Cycle) : Parfois, les applications sont en désaccord en formant un cercle.
    • L'Application A dit : X avant Y.
    • L'Application B dit : Y avant Z.
    • L'Application C dit : Z avant X.
    • Cela crée un cycle (X → Y → Z → X). C'est un paradoxe. Le système ne peut pas exécuter les trois dans l'ordre souhaité par tout le monde.

Briser le Cycle : La Règle de « Déclassement » (Demotion)

Lorsqu'un cycle se produit, le système a besoin d'un arbitre pour briser la boucle. Le document introduit une règle de « repli » :

  1. Identifier les fauteurs de troubles : Le système recherche les transactions qui interagissent avec plusieurs applications ayant des opinions divergentes. Ce sont appelées les « Transactions à Multi-Opinions ».
  2. Déclasser : Le système choisit la transaction de « priorité la plus basse » dans le cycle (basée sur une règle par défaut, comme celui qui a payé la commission la plus faible) et la déclasse (la dégrade).
  3. Réinitialiser : La transaction déclassée est renvoyée à la fin de la file. Le cycle est brisé, et les transactions restantes peuvent être ordonnées selon les souhaits des applications.

Les Deux Grandes Garanties

Le document prouve que même si un attaquant malveillant tente de manipuler le système en créant de fausses transactions pour forcer ces cycles, deux choses sont impossibles à briser pour lui :

1. La Garantie de « l'Application Unique »
Si une transaction ne communique qu'avec une seule application spécifique (et que cette application a une préférence forte), l'attaquant ne peut pas la perturber.

  • Analogie : Imaginez que vous êtes dans une file d'attente pour un magasin spécifique. Seul ce magasin se soucie de votre place dans la file. Même si un brute essaie de passer devant vous en criant aux autres magasins, ce magasin vous laissera passer en premier car eux seuls comptent pour votre place.
  • Résultat : Les applications qui veulent contrôler leur propre ordre interne (comme une enchère) peuvent le faire en toute sécurité, tant que les utilisateurs restent fidèles à cette application.

2. La Garantie du « Verrouillage » (Gated Guarantee)
Si une transaction est « verrouillée » (signifiant que personne sous le contrôle de l'attaquant ne peut créer une transaction qui soit classée plus haut que la sienne), elle est en sécurité.

  • Analogie : Imaginez un laissez-passer VIP qui stipule : « Personne avec un badge régulier ne peut passer devant moi ». Si l'attaquant n'a pas de badge VIP (ou ne peut pas en forger un), il ne peut pas créer un cycle pour vous repousser en arrière.
  • Résultat : Les mises à jour critiques (comme les flux de prix provenant d'une source de confiance) sont protégées car l'attaquant ne peut pas légalement les « surclasser » aux yeux du système.

Qu'en est-il des Transactions « Déclassées » ?

Le seul moment où le système ignore le souhait d'une application est lorsqu'une transaction est impliquée dans un cycle complexe avec plusieurs applications, et qu'elle est ainsi « déclassée ».

  • Le Piège : Le document soutient que si une application veut que ses transactions soient sûres, elle doit encourager les utilisateurs à garder leurs transactions simples (en n'interagissant qu'avec cette application). Si un utilisateur tente d'être sophistiqué en interagissant avec de nombreuses applications à la fois, il risque d'être pris dans un cycle et d'être déclassé.
  • L'Incitation : Cela crée une incitation naturelle pour que les utilisateurs respectent les règles. Si vous voulez que votre offre gagne une enchère, ne tentez pas de faire dix autres choses en même temps ; envoyez simplement l'offre à l'application d'enchères.

Résumé

Le document introduit une règle qui permet aux applications de dire : « Nous avons besoin de X avant Y », et la blockchain les écoute — à moins que les applications ne se disputent en cercle. Si elles se disputent en cercle, le système tranche en renvoyant la « plus basse priorité » des transactions multi-applications à la fin de la file.

Cela protège les transactions les plus importantes (celles qui sont simples ou « verrouillées ») de la manipulation, tout en permettant à la blockchain de rester un carnet de notes unique et connecté où les applications peuvent travailler ensemble. C'est un moyen de donner aux applications le contrôle de leur propre destin sans briser l'ensemble du système.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →