*Transférer le titre original:Exploration du pont Ethereum canonique et du système de validation d'Eclipse
Eclipse se compose de trois couches :
Le schéma ci-dessous montre comment ces modules interagissent :
La suite de cet article se concentrera sur le pont Ethereum d'Eclipse, comme le montre le schéma. Blobstream transmettra les attestations signées par le validateur de Celestia pour certifier à Ethereum que les données d'un lot de machines à sous Eclipse ont été publiées correctement. Cela permet à Eclipse Bridge de vérifier les données fournies pour prouver les fraudes par rapport aux racines de données signées par Celestia. Dans la suite de cette section, nous présenterons les processus par lesquels :
Le flux lorsqu'un utilisateur effectue un dépôt sur Eclipse via le pont Ethereum natif se résume comme suit :
Le schéma ci-dessous montre les interactions entre Ethereum, Celestia et le SVM Executor pendant le flux de dépôt décrit ci-dessus :
Le flux de publication de lots de machines à sous d'Eclipse vers Celestia sous forme de blocs de données est résumé ci-dessous :
Le schéma ci-dessous de Celestia explique comment l'engagement des données d'un bloc Celestia donné est enregistré dans l'en-tête du bloc :
À l'instar des autres L2 qui utilisent des preuves de fraude (Arbitrum, Fuel, et bien d'autres), les retraits depuis Eclipse nécessitent une période de défi au cours de laquelle les vérificateurs peuvent soumettre des preuves de fraude en cas de transition d'état non valide :
Dans cette dernière section, nous allons détailler la conception du système anti-fraude d'Eclipse, inspiré par Anatoly Yakovenko et John Adler. En général, pour toute preuve de fraude, un vérificateur doit :
Dans le cas d'Eclipse, (1) Celestia diffuse des lots de blocs publiés par l'exécuteur SVM d'Eclipse, ce qui permet de prouver l'inclusion des transactions via les témoins de Merkle. Pour (2), contrairement aux L2 basés sur EVM, qui publient une racine Merkle dans l'arbre des états global, pour des raisons de performances, Eclipse ne met pas à jour un arbre d'état global transaction par transaction, mais nous expliquerons comment nous garantissons l'exactitude des entrées plus en détail ci-dessous. Enfin, dans le cas de (3), le vérificateur d'Eclipse génère une preuve zk des résultats d'une transaction donnée, contrairement à l'approche de jeu de vérification interactive courante sur les L2 basés sur EVM.
Toutes les transactions Eclipse peuvent être représentées comme la prise d'une liste de comptes d'entrée, l'exécution d'une transaction et la production d'une liste des comptes de sortie qui en résultent :
Le point essentiel de notre conception anti-fraude est que pour l'exécution des transactions, chaque S_InputAccount doit toujours être le S_OutputAccount d'une transaction précédente. Cela nous permet de faire référence à la dernière transaction de la chaîne qui a produit un compte d'entrée donné au lieu de fournir un témoin Merkle à un arbre des états mondial. Grâce à notre conception, nous avons introduit d'autres types d'accusations de fraude, par exemple une référence à la non-validité de la transaction précédente ou au fait que le compte saisi a déjà été « dépensé » par une transaction ultérieure. Nous décrivons ce processus plus en détail ci-dessous :
De plus, les engagements des lots de données de transactions publiés sur Celestia sont transmis au contrat Ethereum. Les engagements sont les suivants :
Comme expliqué plus haut, un lot peut être considéré comme incorrect de plusieurs manières :
Si un lot d'engagements s'avère incorrect, le contrat de relais Eclipse ramènera le pont à celui du dernier engagement de lot dont la véracité est prouvée. Notez que les transactions ne sont jamais supprimées de la chaîne, même en cas de fraude. Seul l'engagement doit donc être recalculé.
Cet article avait pour but de fournir un guide de haut niveau sur le pont Eclipse qui minimise la confiance sur Ethereum et d'expliquer en détail notre conception anti-fraude. Compte tenu de la nature modulaire de notre L2 et de la naissance de notre infrastructure technologique, nous continuerons à publier des articles et de la documentation sur différents aspects d'Eclipse dans les semaines à venir.
Pour participer à Eclipse Testnet, veuillez suivre nos instructions ici. Vous pouvez nous contacter sur Twitter ou Discord pour toute question spécifique concernant notre Testnet, notre bridge ou pour des questions techniques.
[1] : Le nœud qui calcule les résultats des transactions SVM et applique le résultat final au nouvel état d'Eclipse
[2] : Un opérateur qui transmet les événements en chaîne entre Ethereum et Eclipse
[3] : Notez que c'est l'exécuteur qui publie ceci, et non le séquenceur. S'il était inclus dans les données publiées par le séquenceur, cela ne ferait que compliquer le compte, empêchant ainsi l'exécuteur de faire son travail correctement. Cela pourrait être compensé par la conception anti-fraude, mais cela ajouterait de la complexité. Le deuxième avantage du fait que seul l'exécuteur testamentaire publie le décompte est que cela permet de transférer facilement les annulations de transactions sur Celestia, si vous le souhaitez.
[4] : Les comptes SVM peuvent être représentés par un hash unique. La seule façon de modifier ce hash est par le biais d'une transaction.
[5] : Pour ce faire sans trop de hachage, nous effectuerons un suivi de chaque programme exécuté afin de savoir quelles parties de chaque sysvar utilisée sont réellement consultées. C'est possible, mais il faudra modifier l'interpréteur BPF de Solana.
[6] : Cela inclut les données relatives aux tentatives de transactions qui n'ont pas abouti.
Пригласить больше голосов
*Transférer le titre original:Exploration du pont Ethereum canonique et du système de validation d'Eclipse
Eclipse se compose de trois couches :
Le schéma ci-dessous montre comment ces modules interagissent :
La suite de cet article se concentrera sur le pont Ethereum d'Eclipse, comme le montre le schéma. Blobstream transmettra les attestations signées par le validateur de Celestia pour certifier à Ethereum que les données d'un lot de machines à sous Eclipse ont été publiées correctement. Cela permet à Eclipse Bridge de vérifier les données fournies pour prouver les fraudes par rapport aux racines de données signées par Celestia. Dans la suite de cette section, nous présenterons les processus par lesquels :
Le flux lorsqu'un utilisateur effectue un dépôt sur Eclipse via le pont Ethereum natif se résume comme suit :
Le schéma ci-dessous montre les interactions entre Ethereum, Celestia et le SVM Executor pendant le flux de dépôt décrit ci-dessus :
Le flux de publication de lots de machines à sous d'Eclipse vers Celestia sous forme de blocs de données est résumé ci-dessous :
Le schéma ci-dessous de Celestia explique comment l'engagement des données d'un bloc Celestia donné est enregistré dans l'en-tête du bloc :
À l'instar des autres L2 qui utilisent des preuves de fraude (Arbitrum, Fuel, et bien d'autres), les retraits depuis Eclipse nécessitent une période de défi au cours de laquelle les vérificateurs peuvent soumettre des preuves de fraude en cas de transition d'état non valide :
Dans cette dernière section, nous allons détailler la conception du système anti-fraude d'Eclipse, inspiré par Anatoly Yakovenko et John Adler. En général, pour toute preuve de fraude, un vérificateur doit :
Dans le cas d'Eclipse, (1) Celestia diffuse des lots de blocs publiés par l'exécuteur SVM d'Eclipse, ce qui permet de prouver l'inclusion des transactions via les témoins de Merkle. Pour (2), contrairement aux L2 basés sur EVM, qui publient une racine Merkle dans l'arbre des états global, pour des raisons de performances, Eclipse ne met pas à jour un arbre d'état global transaction par transaction, mais nous expliquerons comment nous garantissons l'exactitude des entrées plus en détail ci-dessous. Enfin, dans le cas de (3), le vérificateur d'Eclipse génère une preuve zk des résultats d'une transaction donnée, contrairement à l'approche de jeu de vérification interactive courante sur les L2 basés sur EVM.
Toutes les transactions Eclipse peuvent être représentées comme la prise d'une liste de comptes d'entrée, l'exécution d'une transaction et la production d'une liste des comptes de sortie qui en résultent :
Le point essentiel de notre conception anti-fraude est que pour l'exécution des transactions, chaque S_InputAccount doit toujours être le S_OutputAccount d'une transaction précédente. Cela nous permet de faire référence à la dernière transaction de la chaîne qui a produit un compte d'entrée donné au lieu de fournir un témoin Merkle à un arbre des états mondial. Grâce à notre conception, nous avons introduit d'autres types d'accusations de fraude, par exemple une référence à la non-validité de la transaction précédente ou au fait que le compte saisi a déjà été « dépensé » par une transaction ultérieure. Nous décrivons ce processus plus en détail ci-dessous :
De plus, les engagements des lots de données de transactions publiés sur Celestia sont transmis au contrat Ethereum. Les engagements sont les suivants :
Comme expliqué plus haut, un lot peut être considéré comme incorrect de plusieurs manières :
Si un lot d'engagements s'avère incorrect, le contrat de relais Eclipse ramènera le pont à celui du dernier engagement de lot dont la véracité est prouvée. Notez que les transactions ne sont jamais supprimées de la chaîne, même en cas de fraude. Seul l'engagement doit donc être recalculé.
Cet article avait pour but de fournir un guide de haut niveau sur le pont Eclipse qui minimise la confiance sur Ethereum et d'expliquer en détail notre conception anti-fraude. Compte tenu de la nature modulaire de notre L2 et de la naissance de notre infrastructure technologique, nous continuerons à publier des articles et de la documentation sur différents aspects d'Eclipse dans les semaines à venir.
Pour participer à Eclipse Testnet, veuillez suivre nos instructions ici. Vous pouvez nous contacter sur Twitter ou Discord pour toute question spécifique concernant notre Testnet, notre bridge ou pour des questions techniques.
[1] : Le nœud qui calcule les résultats des transactions SVM et applique le résultat final au nouvel état d'Eclipse
[2] : Un opérateur qui transmet les événements en chaîne entre Ethereum et Eclipse
[3] : Notez que c'est l'exécuteur qui publie ceci, et non le séquenceur. S'il était inclus dans les données publiées par le séquenceur, cela ne ferait que compliquer le compte, empêchant ainsi l'exécuteur de faire son travail correctement. Cela pourrait être compensé par la conception anti-fraude, mais cela ajouterait de la complexité. Le deuxième avantage du fait que seul l'exécuteur testamentaire publie le décompte est que cela permet de transférer facilement les annulations de transactions sur Celestia, si vous le souhaitez.
[4] : Les comptes SVM peuvent être représentés par un hash unique. La seule façon de modifier ce hash est par le biais d'une transaction.
[5] : Pour ce faire sans trop de hachage, nous effectuerons un suivi de chaque programme exécuté afin de savoir quelles parties de chaque sysvar utilisée sont réellement consultées. C'est possible, mais il faudra modifier l'interpréteur BPF de Solana.
[6] : Cela inclut les données relatives aux tentatives de transactions qui n'ont pas abouti.