Scroll:开箱即用的zkevm

原文作者:CryptoYC Tech

原文来源:CYC Labs

TL;DR

  1. Scroll用等效evm的zkrollup来达到扩容以太坊目的;
  2. 分层的证明系统,将证明和验证分层,对验证者和证明都友好,通过asic加速证明的生成;
  3. 完整架构包括三个部分,合约(分为桥接合约和rollup合约)、scroll节点和roller网络。节点负责构建二层区块,在L1和L2之间传递消息,roller网络负责生成zkevm有效证明。
  4. 不使用zk语义构建,而是通过和EVM的操作码保持一致性和完整性,让开发者可以直接复制一层智能合约的字节码布置到二层,不需要进行任何修改,并且可以支持二层内的可组合性;
  5. 目前pre-alpha测试网只针对白名单开放转账和swap级别的交易,alpha测试网是无许可的,允许任何用户交互,年底推出完整版测试网。

Scroll目的是扩展以太坊,具体是用等效evm的zkrollup来实现。所以项目核心就是zkevm,用来证明二层执行的正确性。希望将zkevm变成以太坊上的完整的zkrollup,围绕它构建一个完整的二层架构。

Scroll的zkevm有两个特点

1. 分层的证明系统:将证明和验证分层,对验证和证明双方都友好。

基本思想是验证 EVM 执行跟踪中每个操作码的一致性和完整性。让1层合约无缝迁移到2层。用反向构建来支持EVM,而不是使用zk语义。

a.第一层将证明高效(定制电路优化和硬件高效证明算法)。

b.第二层将是验证者高效(简洁的证明和 EVM 友好的验证算法)。

2.开发者友好:Solidity 的开发者通过 Scroll 可以从以太坊复制一个智能合约的字节码,在 Scroll 上进行部署,而无需对其进行任何修改。并且支持第 2 层的可组合性。

目前scroll团队已经和以太坊基金会的隐私扩容小组一起公开构建了一年多,一部分代码是共享的。

架构

二层的交易打包很重要的一个角色就是排序器,但都是中心化的排序器。scroll的zkevm也是。在去中心化的方面,目标是要解决去中心化验证的问题,但现在的阶段是通过硬件提高证明者的性能,先实现证明者的去中心化,再实现排序器的去中心化。

  • 初始版本:中心化排序节点+去中心化证明网络 组成
  • 未来:去中心化排序节点
  • 架构由三个基础设施组成,分别是桥接合约和rollup合约,scroll节点,roller网络。

scroll

图片来源:https://scroll.io/blog/zkEVM

Scroll节点

通过用户交易构建二层区块,将他们提交到以太坊的base layer(基础层),并且在L1和L2之间传递消息。

Scroll 节点是应用程序和用户与scroll交互的主要方式,里面包括了三个模块:sequencer(排序器),coordinator(协调者),relayer(中继者)。排序器的执行是基于以太坊的Geth上,通过分叉Geth来达到最好的兼容性和安全。排序器负责提供接口和接受二层的交易,每几秒钟就会从内存池里面检索一批交易来执行,生成新的二层区块和新的状态根,新的区块会通知到协调者,同时也会发送新区快的执行追踪,协调者就会从roller池中随机挑选roller者来给区块生成证明。中继者也有两个职责,第一个是通过监控rollup合约来追踪二层区块的状态,包括数据可用性和有效性证明,第二个是监视部署在以太坊和scroll上的桥接合约的存取款事务,并且将这些消息从一端中继到另一端。简单概括一下scroll节点:有三个模块构成,分别是排序器,协调者和中继者,排序器负责二层区块的生成和产生新的状态根,协调者负责生成证明,中继者起到的是追踪和传递消息的作用。

Roller 网络

负责生成zkevm有效证明,用来证明交易确实是被正确执行的。

scroll

Roller 网络中的roller充当的是证明者的角色,负责为zkrollup生成有效性证明。如何生成有效性证明?具体分为三个步骤:

  1. 协调者会在收到区块信息的时候在roller池中随机挑选roller来处理区块信息,roller收到区块的执行追踪,将它们转换成电路witness
  2. 为每个zkevm电路生成证明
  3. 用证明聚合器将多个zkevm的电路证明聚合为单个证明。

证明者一般会用GPU,FPGA,ASIC这种加速器来减少验证时间和验证成本。

Rollup合约和桥接合约

为scroll的交易提供数据可用性,验证节点生成的zkevm有效性证明,并且允许用户在以太坊和scroll之间转移资产。Scroll 是通过rollup合约和桥接合约和以太坊基础层连接。

Rollup合约从排序器那里接收二层区块和状态根,储存在以太坊状态中,二层区块数据会作为以太坊的calldata,这是为scroll的区块提供了数据可用性,索引器包括中继者就可以重构二层区块。一旦rollup合约验证了二层区块的有效性证明,就表示这个块在scroll上完成了。

桥接合约在以太坊和scroll上部署,允许用户在一层和二层之间传递消息,在这个消息传递上面,还要建立无需信任的桥接协议,让用户在两端都可以转移erc-20资产。比如用户从以太坊发送消息或者资产到scroll上,用户在桥接合约上可以用SendMessage这个事务,中继者就会索引到这个事务,把它发送到排序器,包含在二层区块中,反过来从scroll发送到以太坊上,合约和过程也是类似的。

Scroll完整的流程:

scroll

图片来源:https://scroll.io/blog/zkEVM

二层的区块是在scroll上生成的,提交到以太坊的基础层到确认之前,会经过下面几个步骤:

1. Scroll的排序器生成很多块,对于每个区块,生成执行追踪发给协调者,还会将交易数据D作为calldata提交到以太坊上的rollup合约(这一步是为了数据可用性),并将生成的状态根和对交易数据的承诺作为状态提交给 Rollup 合约。

2. 协调者随机选择一个roller(证明者),根据区块追踪生成有效性证明,为了高效,可以在不同的roller上进行不同区块的证明。

3. 证明者生成证明之后,将证明发回给协调者,每k个块协调者就会重新分配一个证明者,这个证明者会把之前的1-k个证明聚合成一个证明。

4. 最后协调者会把聚合证明提交到rollup合约,根据排序器提交给rollup合约的状态根加上交易数据承诺来验证聚合证明,通过之后就可以确定二层上的k个区块。

Scroll测试网的路线图

测试网阶段有三个:pre-alpha testnet、alpha testnet和比较完整的测试网。现在scroll的功能只有一二层的转账,swap级别的交互。已经把uni的v2版本合约部署上测试网,不过只对白名单用户开放。等到alpha测试网时就是无需可的,允许任何用户在上面进行交互。可能会在年底推出完整的测试网,因为现在电路还在完善中,还有一些没有实现。生态发展上先部署钱包和工具这一类的基础设施。

团队

scroll

图片来源:https://scroll.io/blog/zkEVM

  • Sandy,毕业于剑桥,17年从事web3领域投资,现在负责的是非技术领域的工作。
  • Ye Zhang,本科北大,18年从事zk方面的工作,博士同样研究zk方向,目前辍学全职做项目。
  • Hai Chen,清华姚班,华盛顿大学博士毕业,研究方向偏工程化。

融资情况

2022.4.21,A轮融资3000w,由polychain领投,参与投资的有Bain Capital Crypto,Geometry DAO 等,还有一些天使投资人,来自以太坊基金会和社区成员。关于股权融资还是通过未来代币销售协议(SAFT)的方式,创始人并没有公开。

总结

Scroll出块节点会直接用以太坊一层节点的代码,用的是Geth客户端,有以太坊保证安全性,可以用evm原生的字节码部署合约,给开发人员提供最佳体验;将证明和验证分开,并且通过硬件加速器来加速计算,相比其他的方法会更高效。在二层的扩容解决方案中,Scroll可以算是目的非常简单直接并且重点很明确的项目,处于早期,很值得关注。

文献参考

https://mirror.xyz/0xd05cFA28Eaf8B4eaFD8Cd86d33c6CeD1a1875417/PbkZDATEqO1U7-dU9faebquPBYwM0wpAw0xHLzbayGg

https://scroll.io/blog/zkEVM

采访:https://www.chaincatcher.com/article/2078499

责任编辑:Kate

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2022年9月3日 上午4:50
下一篇 2022年9月3日 上午4:50

相关推荐

Scroll:开箱即用的zkevm

星期六 2022-09-03 4:50:31

TL;DR

  1. Scroll用等效evm的zkrollup来达到扩容以太坊目的;
  2. 分层的证明系统,将证明和验证分层,对验证者和证明都友好,通过asic加速证明的生成;
  3. 完整架构包括三个部分,合约(分为桥接合约和rollup合约)、scroll节点和roller网络。节点负责构建二层区块,在L1和L2之间传递消息,roller网络负责生成zkevm有效证明。
  4. 不使用zk语义构建,而是通过和EVM的操作码保持一致性和完整性,让开发者可以直接复制一层智能合约的字节码布置到二层,不需要进行任何修改,并且可以支持二层内的可组合性;
  5. 目前pre-alpha测试网只针对白名单开放转账和swap级别的交易,alpha测试网是无许可的,允许任何用户交互,年底推出完整版测试网。

Scroll目的是扩展以太坊,具体是用等效evm的zkrollup来实现。所以项目核心就是zkevm,用来证明二层执行的正确性。希望将zkevm变成以太坊上的完整的zkrollup,围绕它构建一个完整的二层架构。

Scroll的zkevm有两个特点

1. 分层的证明系统:将证明和验证分层,对验证和证明双方都友好。

基本思想是验证 EVM 执行跟踪中每个操作码的一致性和完整性。让1层合约无缝迁移到2层。用反向构建来支持EVM,而不是使用zk语义。

a.第一层将证明高效(定制电路优化和硬件高效证明算法)。

b.第二层将是验证者高效(简洁的证明和 EVM 友好的验证算法)。

2.开发者友好:Solidity 的开发者通过 Scroll 可以从以太坊复制一个智能合约的字节码,在 Scroll 上进行部署,而无需对其进行任何修改。并且支持第 2 层的可组合性。

目前scroll团队已经和以太坊基金会的隐私扩容小组一起公开构建了一年多,一部分代码是共享的。

架构

二层的交易打包很重要的一个角色就是排序器,但都是中心化的排序器。scroll的zkevm也是。在去中心化的方面,目标是要解决去中心化验证的问题,但现在的阶段是通过硬件提高证明者的性能,先实现证明者的去中心化,再实现排序器的去中心化。

  • 初始版本:中心化排序节点+去中心化证明网络 组成
  • 未来:去中心化排序节点
  • 架构由三个基础设施组成,分别是桥接合约和rollup合约,scroll节点,roller网络。

scroll

图片来源:https://scroll.io/blog/zkEVM

Scroll节点

通过用户交易构建二层区块,将他们提交到以太坊的base layer(基础层),并且在L1和L2之间传递消息。

Scroll 节点是应用程序和用户与scroll交互的主要方式,里面包括了三个模块:sequencer(排序器),coordinator(协调者),relayer(中继者)。排序器的执行是基于以太坊的Geth上,通过分叉Geth来达到最好的兼容性和安全。排序器负责提供接口和接受二层的交易,每几秒钟就会从内存池里面检索一批交易来执行,生成新的二层区块和新的状态根,新的区块会通知到协调者,同时也会发送新区快的执行追踪,协调者就会从roller池中随机挑选roller者来给区块生成证明。中继者也有两个职责,第一个是通过监控rollup合约来追踪二层区块的状态,包括数据可用性和有效性证明,第二个是监视部署在以太坊和scroll上的桥接合约的存取款事务,并且将这些消息从一端中继到另一端。简单概括一下scroll节点:有三个模块构成,分别是排序器,协调者和中继者,排序器负责二层区块的生成和产生新的状态根,协调者负责生成证明,中继者起到的是追踪和传递消息的作用。

Roller 网络

负责生成zkevm有效证明,用来证明交易确实是被正确执行的。

scroll

Roller 网络中的roller充当的是证明者的角色,负责为zkrollup生成有效性证明。如何生成有效性证明?具体分为三个步骤:

  1. 协调者会在收到区块信息的时候在roller池中随机挑选roller来处理区块信息,roller收到区块的执行追踪,将它们转换成电路witness
  2. 为每个zkevm电路生成证明
  3. 用证明聚合器将多个zkevm的电路证明聚合为单个证明。

证明者一般会用GPU,FPGA,ASIC这种加速器来减少验证时间和验证成本。

Rollup合约和桥接合约

为scroll的交易提供数据可用性,验证节点生成的zkevm有效性证明,并且允许用户在以太坊和scroll之间转移资产。Scroll 是通过rollup合约和桥接合约和以太坊基础层连接。

Rollup合约从排序器那里接收二层区块和状态根,储存在以太坊状态中,二层区块数据会作为以太坊的calldata,这是为scroll的区块提供了数据可用性,索引器包括中继者就可以重构二层区块。一旦rollup合约验证了二层区块的有效性证明,就表示这个块在scroll上完成了。

桥接合约在以太坊和scroll上部署,允许用户在一层和二层之间传递消息,在这个消息传递上面,还要建立无需信任的桥接协议,让用户在两端都可以转移erc-20资产。比如用户从以太坊发送消息或者资产到scroll上,用户在桥接合约上可以用SendMessage这个事务,中继者就会索引到这个事务,把它发送到排序器,包含在二层区块中,反过来从scroll发送到以太坊上,合约和过程也是类似的。

Scroll完整的流程:

scroll

图片来源:https://scroll.io/blog/zkEVM

二层的区块是在scroll上生成的,提交到以太坊的基础层到确认之前,会经过下面几个步骤:

1. Scroll的排序器生成很多块,对于每个区块,生成执行追踪发给协调者,还会将交易数据D作为calldata提交到以太坊上的rollup合约(这一步是为了数据可用性),并将生成的状态根和对交易数据的承诺作为状态提交给 Rollup 合约。

2. 协调者随机选择一个roller(证明者),根据区块追踪生成有效性证明,为了高效,可以在不同的roller上进行不同区块的证明。

3. 证明者生成证明之后,将证明发回给协调者,每k个块协调者就会重新分配一个证明者,这个证明者会把之前的1-k个证明聚合成一个证明。

4. 最后协调者会把聚合证明提交到rollup合约,根据排序器提交给rollup合约的状态根加上交易数据承诺来验证聚合证明,通过之后就可以确定二层上的k个区块。

Scroll测试网的路线图

测试网阶段有三个:pre-alpha testnet、alpha testnet和比较完整的测试网。现在scroll的功能只有一二层的转账,swap级别的交互。已经把uni的v2版本合约部署上测试网,不过只对白名单用户开放。等到alpha测试网时就是无需可的,允许任何用户在上面进行交互。可能会在年底推出完整的测试网,因为现在电路还在完善中,还有一些没有实现。生态发展上先部署钱包和工具这一类的基础设施。

团队

scroll

图片来源:https://scroll.io/blog/zkEVM

  • Sandy,毕业于剑桥,17年从事web3领域投资,现在负责的是非技术领域的工作。
  • Ye Zhang,本科北大,18年从事zk方面的工作,博士同样研究zk方向,目前辍学全职做项目。
  • Hai Chen,清华姚班,华盛顿大学博士毕业,研究方向偏工程化。

融资情况

2022.4.21,A轮融资3000w,由polychain领投,参与投资的有Bain Capital Crypto,Geometry DAO 等,还有一些天使投资人,来自以太坊基金会和社区成员。关于股权融资还是通过未来代币销售协议(SAFT)的方式,创始人并没有公开。

总结

Scroll出块节点会直接用以太坊一层节点的代码,用的是Geth客户端,有以太坊保证安全性,可以用evm原生的字节码部署合约,给开发人员提供最佳体验;将证明和验证分开,并且通过硬件加速器来加速计算,相比其他的方法会更高效。在二层的扩容解决方案中,Scroll可以算是目的非常简单直接并且重点很明确的项目,处于早期,很值得关注。

文献参考

https://mirror.xyz/0xd05cFA28Eaf8B4eaFD8Cd86d33c6CeD1a1875417/PbkZDATEqO1U7-dU9faebquPBYwM0wpAw0xHLzbayGg

https://scroll.io/blog/zkEVM

采访:https://www.chaincatcher.com/article/2078499

责任编辑:Kate