深入了解Polygon zkEVM:整体架构与交易执行流程_ROL:TROLLBNB价格

PolygonzkEVM系列文章的第一篇,简要的阐述了polygonzkEVM的的整体架构和交易执行流程,并且分析了polygonzkEVM是如何实现计算扩容的同时继承以太坊的安全性的。

同时还会在接下来两篇文章会详细介绍PolygonzkEVM的zkEVMBridge和zkEVM的设计细节,以及polygonzkEVM接下来的去中心化sequencer的路线图。

目录

Rollup是为了给以太坊实现计算扩容不同Rollup路线之间的区别PolygonzkEVM的具体执行流程&整体架构从模块化区块链的角度解析PolygonzkEVMPolygonzkEVM如何继承L1的安全性PolygonzkEVM激励机制1.Rollup为了给以太坊实现计算扩容

重庆市与华为签署协议 在区块链等领域展开深入合作:4月29日,重庆市政府与华为技术有限公司签署全面深化战略合作框架协议。华为将深度参与重庆数字经济建设,重点支持重庆新一代人工智能创新发展,共同打造重庆市(两江新区)未来智能汽车科技城,重点建设智能超算中心,共建5G工业领域联合实验室,在数据中心、物联网、区块链、工业互联网、新型智慧城市、智慧水利、智能终端、5G、智慧园区、机器视觉、人才培养等领域展开全面深入合作。(证券时报)[2020/4/30]

首先,我们需要明确rollup的大概工作原理:

rollup的出现的是为了给Ethereum实现计算扩容,具体的实现方法是将交易的执行外包给Rollup,然后将交易和交易执行后的状态(state)存储在Ethereum的合约内。

声音 | 井通科技李军:区块链发展阶段正在深入但预期一致可能引发黑天鹅:12月5日消息,井通科技副总裁李军在谈论区块链未来时表示,区块链发展第一阶段已经过去,第二阶段已经深入场景,随着阶段深入,底层核心技术拥有更加深远的前景,但值得注意的是,预期一致往往会引发黑天鹅,需要各方警惕。[2019/12/5]

由于技术路线的不同演变出了两种类型的Rollup:

OptimisticRollup:乐观的认为发送到Ethereum的Rollup交易(Rolluptransaction)和对应的Rollup状态(RollupState)都是正确的,任何人都可以通过提供欺诈证明(fraudproof)对还处于挑战期的RollupState进行挑战(challenge)Zero-knowledgeRollup:会为发送到Ethereum的Rollup交易(RollupTransaction)和对应的Rollup状态(Rollupstate)提供一个有效性证明(validityproof)(由以太坊上的合约验证,来证明Rollup的执行对应交易后的状态时正确的)(参考以太坊官方定义)https://ethereum.org/en/developers/docs/scaling/#rollupsZero-knowledgeRollup和OptimisticRollup最大的区别就是由于验证状态有效性的不同方式导致达成finality的时间不同;

动态 | 报告:随着区块链技术的深入应用 引发的网络安全问题将逐渐增多:据齐鲁网6月11日消息,今天下午,《2018年山东省互联网网络安全报告》在济南发布。报告提到,随着区块链技术的深入应用,引发的网络安全问题将逐渐增多,以数字加密货币为基础的黑产交易、网络勒索等行为出于不可控状态,挖矿恶意软件持续猖獗。[2019/6/11]

OptimisticRollup乐观的认为提交到Ethereum上的交易和状态都是正确的,所以存在7天的挑战期,期间任何人发现在Ethereum上的交易对应状态不正确都可以通过提交正确的状态进行挑战。

Zero-knowledgeRollup(zk-Rollup)达成finality的时间,则取决于:交易对应的有效性证明(validityproof)提交到以太坊并且验证通过所花费的时间。目前可能在1个小时左右的finality居多。(因为需要考虑到Gas成本问题)

SYNC 2018区块链系列活动会议于新加坡召开 MDT与诸多领域大咖进行深入探讨:3月9日,由科技媒体Pingwest举办的SYNC 2018区块链系列活动会议于新加坡召开。MDT量数代表黄何,火币全球运营总监Herbert,ODYSSEY/OBike项目负责人Sophie,新加坡星展银行DBS私人银行副总监于珊珊一同前来参会。在会议现场MDT量数与银行、虚拟货币交易所,通过不同立场探讨了虚拟货币作为货币形态在科技领域的展望。[2018/3/12]

2.PolygonzkEVM执行流程

接下里我们以一个简单的交易被确认流程来看看PolygonzkEVM是怎么工作的,从而对整体协议有一个具体的理解;

整个过程可以主要分为三个步骤:

Sequencer将多个用户交易打包成Batch提交到L1的合约上。Prover为每笔交易生成有效性证明(validityproof),并将多个交易的有效性证明聚合成一个有效性证明。Aggregator提交聚合了多个交易的有效性证明(validityproof)到L1的合约中。

1)Sequencer将用户交易打包成Batch提交到L1合约上

用户将交易发送给Sequencer,Sequencer会在本地按照收到交易的快慢顺序进行处理(FRFS),当Sequencer在本地将交易执行成功后,如果用户相信Sequencer是诚实的,那么他可以认为这个时候的交易已经达成了finality。这里需要注意,目前大多数Sequencer内部的Mempool(交易池)都是私有的,所以暂时可以获取的MEV是比较少的Sequencer会将多笔交易打包进一个Batch里(目前是一个Batch里只包含一个交易),然后在收集到多个Batches之后,通过L1上的PolygonZKEvm.sol的sequenceBatch()函数将多个Batch一起送到L1的交易calldata上。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:46ms0-3:442ms