首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证zkrollups中的事务数据?

如何验证zkrollups中的事务数据?
EN

Ethereum用户
提问于 2022-11-16 22:23:49
回答 2查看 235关注 0票数 4

stateroot转换由见证(前、后状态根)和证明进行验证,但验证器也应验证操作符提出的事务数据。如何验证事务是否包含在stateroot转换中?或者,是否应该以另一种方式验证事务数据?

AFAIK,当然还有如何验证stateroot转换,但没有解释如何验证事务数据。https://medium.com/fcats-blockchain-incubator/how-zk-rollups-work-8ac4d7155b0e

该证明仅可验证有效事务序列的存在。因此,我们无法通过证明来验证事务数据。

https://ethereum.org/en/developers/docs/scaling/zk-rollups/

如果证明满足电路(即,它是有效的),它意味着存在一个有效事务序列,将汇总从先前的状态(由预状态根以加密方式指纹)转换为一个新的状态(由后状态根以密码方式指纹)。

EN

回答 2

Ethereum用户

发布于 2022-11-26 09:05:41

在ZK-rollup中,我们有两个Merkle树,一个是存储帐户,另一个是存储余额和事务,通过检查前后Merkle根验证(正如您提到的),证明了运行在离链VM(与EVM兼容的)中的机制。总之,验证器会将值相乘。

以一个数字的方式,使验证者在不知道的情况下执行验证。这就需要密码数学,总之,它使用同胚机制证明E(s)在数上不知情而证明E(S),证明多重E(t(X)),E(h(N)),E(w(s))和E(v(0)),验证器不知道数字的情况下对它们进行验证。这是一个复杂的问题,我可以用公式和数学在这里解释,我推荐阅读本文,深入学习ZK证明

票数 2
EN

Ethereum用户

发布于 2022-11-26 09:51:38

ZK将处理的每一个事务的状态数据发布到Ethereum。有了这些数据,个人就有可能复制汇总的状态并验证链本身。Ethereum将此数据以calldata的形式提供给网络的所有参与者,事务数据以calldata的形式发布在Ethereum上。虽然calldata不是作为Ethereum状态的一部分存储的,但它作为Ethereum链的历史日志的一部分而在链上持久存在。ZK使用calldata在链上发布压缩的事务数据.

请参阅:https://ethereum.org/en/developers/docs/scaling/zk-rollups/

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/139529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档