以太坊扩容在社区中的讨论如火如荼,多个解决方案正在加紧开发,并有望在今年全部上线主网。在整个以太坊Layer2方案爆发的前夕,imToken联合ETHPlanet、EthFans、ECN、上海前沿技术研讨会和HiBlock等多家优秀的以太坊生态社区与公司,共同策划一场以太坊扩容主题系列活动。
4月23日举办了第一场活动:Rollup-以太坊L2扩容新范式杭州线下Meetup。
以下是本次imToken首席科学家Chang-Wu的分享:「Rollup未来在以太坊的角色」的文字版,由imToken整理。
演讲整理
我先带大家了解一下什么是Rollup,以及Rollup未来与Eth2路线图又是一个什么样的关系。
首先,我们都知道现在以太坊网络的一个block,它的计算单位是gaslimit,每个区块的gaslimit都有上限,目前这个上限值已经被调整为1500万,这1500万就代表每个区块可以包含的计算单元,也就是每个区块里所有交易累计消耗的gaslimit不能超过1500万gas。
举例来说,单纯的ETH转账,每笔的gaslimit是21000。如果一个区块中所有交易都是ETH转账,那么单个区块中最多可包含的交易笔数就是1500w/21000=714笔。同时,目前以太坊出块平均时间是12秒,那么用714除以12,我们就可以知道目前以太坊网络每秒可处理交易数的上限。
Uniswap社区新提案建议在Scroll测试网上部署Uniswap V3:11月29日消息,以太坊L2扩容方案Scroll已在Uniswap社区提交“在Scroll测试网上部署Uniswap V3”的提案,预计全面部署将需要2-3周时间。目前该提案在社区讨论阶段,快照投票将于12月1日开启。据悉,包括Lens、theGraph、Covalent、Empiric、Blockwallet、Ledger、Safe、Orbitor等数十个项目已承诺部署至Scroll测试网。团队预计将有100余个项目部署在无许可测试网上部署。[2022/11/29 21:09:18]
最近大家都看到了,现在的网络是非常拥挤的,尤其是在柏林升级前,区块gaslimit只有1200万的时候。但即使是通过升级把gaslimit提升到了1500万,我们仍然看到每个区块几乎都是满的,区块空间利用率接近饱和。
也就是说这时候你想要放入更多的交易其实是很困难的。同时我们也注意到,因为一些DeFi项目的兴起、需求等等,每当市场上有震荡的时候,手续费就会特别昂贵。过去一段时间,我相信大家也注意到在星火矿池维护的实时评估gas的网站上,有时甚至能看到900、1000Gwei这样非常昂贵的手续费的产生。?
Loopring首席技术官:zkRollup拥有以太坊层级的安全性:金色财经报道,在今日OKEx矿池与以太坊中国社区主办的ETH 2.0 AMA中,Loopring首席技术官Steve Guo表示,zkRollup是一种用于以太坊的可扩展性方案,通常是被定义为Layer 2的解决方案。它能处理更多交易,更快速并且成本更低。它在链下批量执行所有计算,并且只向以太坊提交一个小的零知识证明(不能是伪造的证明)进行验证。由于以太坊会验证这些证明,并且存储足够的数据来准确判断链下账户的状态,因此zkRollup拥有以太坊层级的安全性。零知识证明框架目前有好多种,路印协议最终选定了zkSnark作为背后的零知识证明框架,主要是因为zkSnark的证明数据大小是目前最小的,这就意味着链上成本能做到最低,同时生成证明所必须的链下计算成本也不高,技术框架本身也已经过ZCash多年的实践考验过的。整个方案的关键点就在于:区块链上只是负责存储数据和验证零知识证明,其余的计算处理都是通过在链下更改Merkle树的方式来实现,从而极大的减小对区块链资源的消耗,提升区块链的整体性能。又因为链下部分有链上验证的辅助,所以也能确保链下处理资产的安全性和正确性。从而达到在不牺牲区块链带来的安全前提下,提升区块链的整体性能。[2020/6/17]
所以在这一现状下我们认识到由于DeFi不停增长的需求,导致网络拥挤、每个区块都是饱和的状态、手续费昂贵。即便近期提升了区块的gaslimit,但仍不足以满足链上的交易需求。?
动态 | 警惕平台luckxrolls,只能充值无法提现:据CoinHunter监测,平台luckxrolls在Telegram平台进行频繁推广活动,不法分子私聊用户谎称自己是平台内部员工,宣称“只赢不输”。该平台打着区块链名义允许用户使用数字货币(BTC、ETH、LTC)进行充值下注,但实际是一个“非公开、中心化”的平台,资金管理和游戏规则完全不透明。此外,平台会根据用户账户余额不断设限提高用户提现门槛,导致用户在平台只能充值无法提现,CoinHunter在此提醒广大用户保持警惕,避免上当受。[2019/8/15]
对此,我们越来越需要通过扩容来支撑以太坊网络整体的交易量。这就是我们今天想要和大家介绍的主题-Rollup,中文叫做卷叠。通过引入Rollup技术方案,我们可以将以太坊网络的交易处理能力由当下Eth1上的20TPS提升至4000TPS。?
那么Rollup是什么,以及它在Eth2路线图中又会扮演什么样的角色呢??
我们都知道Eth2想要通过分片的方法来提升整体的交易量。具体而言,分片是通过将交易发送到不同的Eth2分片去做执行,因为分片本身的设计允许不同的交易在不同分片上平行处理,以此从最底层的协议上进行优化,达到给网络整体扩容的目的。但是呢,我们也都知道,Eth2的阶段0是去年12月份刚上的,上面谈到的分片实际运转起来可能要等到阶段1.5或阶段2。如果没有过渡或者说妥协的方案出来,这中间将是漫长的等待期,而且期间网络将一如既往的拥堵。这也是为什么Rollup二层网络解决方案在近期越来越受到欢迎和普及。??
动态 | CFTC起诉Control-Finance Ltd用超过2.28万比特币进行:据btcmanager消息,美国商品期货交易委员会(CFTC)已对英国的一家名为Control-Finance Ltd公司提起诉讼,监管机构指控Control-Finance嫌欺诈约1,000名客户,从客户那里招揽投资,为庞氏局提供资金,用超过2.28万比特币进行活动。[2019/6/19]
那接下来,我们开始介绍Rollup,我会通过说明Rollup的每一个步骤来向大家解释它是如何实现扩容的。?
首先,下图中间黑线上面代表Layer1,下方代表Layer2。Layer1的主网就是现在Eth1的主链,Rollup项目方会在这条主链上部署一个智能合约。
用户在这个合约中可以deposit资产,存入后,Rollup运营商或服务商就会在二层网络上把这些资产映射出来。关于具体的映射方式,我们可以把它想像成是以数据库的方式,映射成一个存储的格式,而这个格式可以表示每一个账号现在有多少余额。
通过这种方式将用户在主网Layer1的存入资产与二层网络账户上的余额进行映射。然后,用户就可以在Layer2上进行转账、兑换等操作。那么,当用户们在Layer2发起大量交易时,由谁来对这些交易进行筛选、排序和打包呢???
BitFunder创始人Jon E. Montroll已被美国联邦调查局逮捕:美国联邦调查局逮捕了已关闭的BitFunder的创始人Jon E. Montroll,他曾试图掩盖平台客户被黑客窃取的6000枚比特币,因伪证罪和妨碍司法公正两项罪责,Jon E. Montroll将面临最高30年的监禁。美国证券监管机构也对BitFunder提出指控。[2018/2/23]
在当前的Rollup二层网络方案中,这个角色一般由项目方来承担,我们称其为sequencer。sequencer的角色,有点像是在打包这些交易,类似Layer1的矿工。但区别在于,sequencer是先把交易整理好,然后才去做打包交易的动作。比如在二层网络中用户A给用户B转10个token,用户B给用户C转20个token,这些交易就会由sequencer来负责验证处理,并且打包整理成最后用户A、B、C的余额应该各有多少。
?但仅做到以上这些仍是不够的,因为以太坊上一笔交易占据的空间非常大。例如仅收款方的地址,就占20个bytes,ECDSA签名占64bytes。对于以太坊区块有限的空间来说,这些数据所占用的空间较大,那么我们是否有办法压缩这些数据呢?
方法是有的。现在以太坊上一个地址是20bytes,在二层网络上,我们可以通过编码的方式进行压缩。具体来讲,Layer1上的一个普通地址通过编码可以从20bytes压缩到3bytes。同样的,上面提到的ECDSA签名数据和其他数据也可以进行压缩。sequencer的职责就是压缩交易,并将压缩后的数据放在Data中同步到Layer1上。以上就是Rollup处理交易的过程说明。?
到这一步,我们看到即使是在Layer2上,sequencer最终同样需要把所有交易打包后的数据上链。这里有两个问题需要回答:
为什么要把数据放到链上?原因在于只有当数据上链时,数据才具备可用性,其他人就可以通过这些数据来验证其中包含的交易是否真的成功。避免由于sequencer作恶造成的资产损失。因此数据上链是必要的。如何确保上链的数据是正确的?这就要求sequencer要对数据进行验证,一般是通过提交Proof来确保上链数据正确。在第二个问题上,目前的Rollup方案主要区别在于对数据和Proof的处理上。有的方案只把数据上链,但不对数据进行验证,也就是缺乏Proof,比如Optimism。有的方案则是将数据和对数据的Proof同时上链来保证数据的有效性,比如zkRollup通过零知识证明对数据进行验证,并且把验证得到的Proof和数据一起上链,以此确保对应数据在链上的有效性和资金的安全性。所以zkRollup是目前被大家公认为比较安全的方案。
整体来看Rollup方案,Layer1上的智能合约就像是城堡,其中的资金安全性依赖于Layer1自身的安全性。在Layer1上需要保存各账户的状态转换数据,同时要把Layer2上交易压缩后的数据同步到Layer1上,至于要不要做Proof则取决于具体的项目方的取舍。
Layer2则负责执行交易,将本来在Layer1上处理的交易转移到Layer2上。当前对数据正确性的验证主要有两种典型的方案:
Validityproof:即指类似于zkRollup的零知识证明方案。将数据和对数据的Proof同时上链。Fraudproof:即指类似于Optimism的欺诈性证明方案。由于只将数据上链,所以Optimism需要用户或项目方自身去监测sequencer是否如实地把交易数据同步到了Layer1上。如果监测到欺诈行为,那么就可以通过提交欺诈性证明来保障资产安全。
最后,关于数据可用性,从形态上可以简单分为两个代表:zkRollup和Optimism。主要区别在于对哪些数据上链/不上链方面的取舍。大部分方案都是把数据上链的,但是也有一些方案选择对一部分数据不上链处理,这么做的好处在于可以进一步提升扩容性能,而不用受区块自身可存放数据容量大小的限制;另一个原因是,有些应用顾虑到隐私性或其他一些特性,并不希望所有数据都上链,因而做了取舍,对这部分在这次分享中我们不去详细讨论。
在数据上链/不上链取舍上有一个典型的例子:zkPorter,也就是未来的zkSync2.0。他们宣称在zkSync2.0中可以达到24,000TPS,这主要是通过默克尔树实现的,在不同分支中分别存放zkRollup与zkPorter。对于在意安全性的用户来说,zkRollup是一个更可靠的选择;但在对安全性要求相对较低的应用中,则可以考虑使用部分数据不上链的zkPorter。zkSync2.0通过这种混合的方式实现有保障性的安全和效率的提升。?
那么为什么说Rollup和Eth2的路线图有关?其实前面有提到过,Eth2分片上的交易执行暂时还无法立即到位,社区可能还要在等一段时间。但是在Phase1和Phase1.5间,当分片的数据库成型时,其中的每个分片就好比是一个主网,这些分片的数据层就可以用来存储Rollup的数据。
当未来有分片的时候,虽然我们不能在其上立即进行交易,但是我们可以通过把Rollup的数据存到这些分片中提前发挥分片的作用,达到进一步扩容的目标。?
这部分就是我今天的分享,谢谢大家。
---
风险提示:本文内容均不构成任何形式的投资意见或建议。imToken对本文所提及的第三方服务和产品不做任何保证和承诺,亦不承担任何责任。数字资产投资有风险,请谨慎评估该等投资风险,咨询相关专业人士后自行作出决定。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。