Pour tous / Pickle en termes simples

Quand est-ce confirmé

La plupart du temps, un portefeuille dit « en attente » puis « terminé ». Ici il y a trois moments distincts entre ces deux mots, et ils garantissent des choses différentes.

Trois moments

MomentCe que c'est
Préconfirmationmini-bloc signécible d'ordonnancement de 10 ms. Le séquenceur s'est engagé sur cet ordre et ce résultat
Confirmationbloc EVMcible d'ordonnancement de 250 ms. Ce que voient les portefeuilles et les explorateurs
Finalitérèglement sur Ethereumles données nécessaires pour redériver le bloc sont engagées sur Ethereum, et cet engagement est lui-même final

Imaginez que vous postez une lettre à un guichet tenu par un employé très rapide. D'abord, il la lit, calcule la réponse et vous donne un reçu signé : c'est la préconfirmation, et elle arrive presque dès que vous lui tendez la lettre. Un peu plus tard, il la classe dans le registre du jour, celui que tout le monde peut consulter : c'est la confirmation. Enfin, une copie du registre est envoyée dans un coffre hors de la boutique que personne dans la boutique ne peut modifier : c'est la finalité. Chaque étape est plus lente que la précédente, et chacune est plus difficile à défaire.

Votre transaction s'exécute à l'instant où elle atteint le séquenceur, donc le résultat existe avant tout bloc. À une cible d'ordonnancement de 10 millisecondes, le séquenceur scelle un mini-bloc contenant tout ce qui a été exécuté dans cet intervalle et le signe. Cette signature est la préconfirmation : le séquenceur s'est engagé sur cet ordre et ce résultat, et l'en-tête signé est une preuve contre lui si un bloc ultérieur le contredisait.

À une cible d'ordonnancement de 250 millisecondes, le séquenceur scelle un bloc EVM standard au format Ethereum enveloppant les mini-blocs de cet intervalle. C'est la confirmation : le bloc qu'un portefeuille ou un explorateur vous montre, avec un numéro et un hash.

La finalité est le règlement sur Ethereum. Un bloc est final quand les données nécessaires pour le redériver ont été engagées sur Ethereum et que cet engagement est lui-même final. C'est seulement à ce moment que le registre cesse de dépendre du séquenceur.

L'exécution est synchrone avec l'admission, donc un reçu existe avant que le bloc qui le contient soit scellé. Un mini-bloc, à la cible d'ordonnancement de 10 ms, porte les transactions, reçus et logs de l'intervalle, un hash de différentiel d'état, un horodatage à la microseconde et une signature de la clé du séquenceur sur l'en-tête ; il est exposé par ses propres méthodes RPC et un abonnement WebSocket, pour qu'une application sensible à la latence puisse agir dessus. Un bloc EVM, à la cible d'ordonnancement de 250 ms, enveloppe les mini-blocs de l'intervalle, l'horodatage du bloc suivant étant fixé au scellement précédent, ce qui permet à une ré-exécution indépendante de reproduire le hash du bloc. La finalité est l'engagement dans la boîte de réception L1 qui nomme la charge de dérivation du bloc, lui-même final sur Ethereum. L'intervalle des mini-blocs est un paramètre de consensus, pas un réglage d'opérateur, parce qu'une réplique doit s'accorder sur la façon de découper le flux.

Une cible d'ordonnancement n'est pas une promesse

Les deux intervalles sont des cibles d'ordonnancement, pas des garanties de latence, et aucun n'est une affirmation de débit. Ils décrivent le rythme que vise le séquenceur, pas une échéance tenue à chaque tic.

Ce que chacun garantit

  • Une préconfirmation prouve que le séquenceur a dit que ceci s'est produit, dans cet ordre, avec ce résultat. Elle repose sur l'honnêteté du séquenceur, et c'est une preuve : un en-tête signé qu'un bloc ultérieur contredirait montrerait que le séquenceur a rompu sa parole.
  • Une confirmation place la transaction dans la séquence canonique de blocs que tous les outils comprennent. Elle repose encore sur le séquenceur, seule partie à sceller des blocs.
  • La finalité signifie que le contenu du bloc est engagé depuis Ethereum. À partir de là, n'importe qui peut redériver le bloc à partir de données publiques, et le séquenceur ne peut pas le réécrire sans que la divergence soit détectable par chaque réplique.

Quand la différence compte

Pour l'essentiel de ce qu'une personne fait, la préconfirmation est le moment qui compte : une application peut afficher le résultat, et le résultat ne changera pas sauf si le séquenceur contredit sa propre signature. Un jeu, une interface de trading, un paiement en caisse peuvent agir dessus.

La confirmation est ce que rapportent les outils ordinaires, donc le moment qu'un portefeuille affiche comme terminé. La finalité est le moment pour tout ce qui ne doit dépendre du séquenceur en rien : un retrait vers Ethereum par le bridge est revalidé contre un reçu canonique finalisé avant que les fonds soient libérés, exactement pour cette raison.

Les mots que vous verrez

  • En attente : le portefeuille l'a envoyée et n'a pas encore vu de bloc. Sur Pickle c'est généralement plus court que le rafraîchissement du portefeuille lui-même.
  • Préconfirmée : une application qui lit les mini-blocs dit que le séquenceur a signé pour elle.
  • Confirmée : elle est dans un bloc EVM numéroté.
  • Finale : les données de son bloc sont engagées depuis Ethereum. Ce site n'utilise ce mot pour rien d'autre.