Pour tous / Comment ça marche

Le modèle de confiance

Une description du mécanisme sans le modèle de confiance, c'est du marketing. Cette page énonce sur quoi un utilisateur de Pickle s'appuie, et nomme les trois propriétés dont la chaîne aurait besoin avant de pouvoir se dire davantage.

Sur quoi un utilisateur s'appuie

Un ordinateur, tenu par une équipe, décide de ce qui se passe sur la chaîne et dans quel ordre. S'il est honnête et allumé, tout fonctionne. S'il tournait mal, il pourrait passer ses propres actions en premier, laisser les vôtres de côté ou s'arrêter net, et rien sur le réseau ne l'en empêcherait. Ce qu'il ne peut pas faire, c'est mentir sur le passé sans être pris : une copie de chaque bloc va sur Ethereum, et n'importe qui peut la rejouer et voir la différence. Être pris n'est pas être empêché, et rien n'agit dessus automatiquement.

Un utilisateur s'appuie sur l'honnêteté de l'opérateur, plus le fait que les données nécessaires pour la vérifier sont publiques. Un seul séquenceur ordonne chaque transaction et peut réordonner ou censurer. Il n'y a pas de voie d'inclusion forcée depuis Ethereum. Il n'y a pas de preuves de fraude ni de validité ; l'exactitude est vérifiée par ré-exécution, et toute réplique qui trouve une divergence entre les données publiées et le hash de bloc engagé s'arrête, mais rien on-chain n'arbitre la divergence. Ce qui rend cela significatif, ce sont les données : tout ce qui est nécessaire pour reconstruire la chaîne est sur Ethereum ou engagé depuis Ethereum.

Un seul séquenceur détient l'ordre et la vivacité ; sa clé est tenue dans un registre on-chain et peut être tournée, effective au bloc suivant. Il n'y a pas de file d'inclusion forcée sur le L1. L'exactitude est la ré-exécution : les répliques dérivent depuis les événements de la boîte de réception et les charges, et une divergence de hash est terminale pour la réplique et non arbitrée on-chain. Un mini-bloc signé qu'un bloc ultérieur contredirait serait une preuve, et la conception enregistre cette preuve ; elle n'agit pas encore dessus. Les clés de batcher et de messager sont distinctes, imposé au démarrage, et le messager ne peut ni forger ni rejouer parce que les identifiants de message dérivent de l'événement d'origine et sont enregistrés une fois finalisés.

Ordre, vivacité, exactitude, données, bridge

PropriétéQui ou quoi
Ordreun seul séquenceuril peut réordonner et il peut censurer. Il n'y a pas de voie d'inclusion forcée depuis Ethereum
Vivacitécelle du séquenceurs'il s'arrête, les mini-blocs s'arrêtent et la chaîne cesse d'exécuter ; les répliques continuent de servir l'historique dérivé
Exactitudevérifiée par ré-exécutionpas de preuves de fraude ni de validité. Une réplique détecte une divergence et s'arrête ; rien on-chain ne l'arbitre
Donnéessur Ethereum, ou engagées depuis Ethereumtout ce qui est nécessaire pour reconstruire la chaîne est public
Bridgeune clé de messager de confianceelle ne peut ni forger ni rejouer un message, mais elle peut retarder
  • Ordre. Un seul séquenceur ordonne chaque transaction. Il peut réordonner et il peut censurer. Il n'y a pas de voie d'inclusion forcée par laquelle une transaction refusée par le séquenceur pourrait être incluse depuis Ethereum.
  • Vivacité. Si le séquenceur s'arrête, les mini-blocs s'arrêtent et la chaîne cesse d'exécuter du nouveau. Les répliques continuent de servir l'historique dérivé. La clé du séquenceur est tenue dans un registre on-chain et peut être tournée, effective au bloc suivant.
  • Exactitude. Il n'y a pas de preuves de fraude ni de validité. L'exactitude est vérifiée par ré-exécution : toute réplique peut détecter une divergence entre les données publiées et le hash de bloc engagé, et s'arrête quand c'est le cas. Rien on-chain n'arbitre une telle divergence. Un mini-bloc signé qu'un bloc ultérieur contredirait serait une preuve, et la conception enregistre cette preuve ; elle n'agit pas encore dessus.
  • Données. Tout ce qui est nécessaire pour reconstruire la chaîne est sur Ethereum ou engagé depuis Ethereum. C'est la propriété qui donne son sens au point précédent.
  • Bridge. Le messager du bridge est une clé de confiance. Il ne peut ni forger ni rejouer un message, parce que les identifiants dérivent de l'événement d'origine et sont enregistrés une fois finalisés, mais il peut retarder. Les clés de batcher et de messager sont distinctes, imposé au démarrage.

Les clés

  • La clé du séquenceur signe les mini-blocs et constitue l'identité de l'opérateur. Elle vit dans un registre on-chain et tourne avec un bloc de préavis.
  • La clé du batcher est la seule adresse dont la boîte de réception Ethereum accepte les ajouts. Un batcher compromis pourrait cesser de poster, ce qui bloque le règlement, mais ne peut pas forger une charge qu'une réplique accepterait : le hash ne correspondrait pas.
  • La clé du messager finalise les transferts du bridge dans les deux sens. Elle peut retarder ; elle ne peut pas inventer un message que les contrats n'ont jamais émis ni rejouer un message déjà traité.

Ce que la décentralisation exigerait

Pickle n'emploie pas le mot décentralisé pour se décrire

Les propriétés précises qui devraient tenir avant qu'il le puisse sont celles-ci : une redondance et une rotation des séquenceurs, pour que la vivacité d'un seul opérateur ne soit pas celle de la chaîne ; une voie d'inclusion forcée depuis Ethereum, pour qu'aucun opérateur seul ne puisse censurer ; et une voie de contestation ou de preuve, pour qu'une divergence détectée par une réplique soit arbitrée plutôt que simplement signalée.

Tant que les trois ne tiennent pas, un utilisateur s'appuie sur l'honnêteté de l'opérateur plus les données publiques nécessaires pour la vérifier. La page de la gouvernance liste les résistances aux attaques que la conception possède, et leur limite.