注:原文来自ethresear.ch,作者是leohio。
感谢AlexGluchowski以及BarryWhitehat提供的意见和看法。
一:长话短说
本文介绍了一种无需来自运营方tx历史数据的zkRollup,这具有在L1上使用txcalldata的gas效率,并且还具有智能合约执行及资产隐私的特性。每个batch只需要在txcalldata中记录一个状态改变的所有者的账户列表。
缺点是每个用户在将资金退出到L1时,需进行客户端zkp计算,而另一个缺点是在EVM兼容性方面带来困难。
二、背景和动机
对于Rollup的运营商和交易者而言,他们在使用txcalldata时仍然会产生消耗。这种限制仅仅是因为需要恢复作为交易结果的状态,以免用户无法生成其资金的Merkle证明。Rollup的大部分规范要求运营商将所有交易历史数据转储到L1上的txcalldata。
OKX Ventures宣布投资基于zkRollup的Layer2网络 Taiko:6月8日消息,OKX Ventures 宣布投资基于 zkRollup 的 Layer2 网络 Taiko,Taiko 可以使开发者和用户能够安全地体验以太坊,交易费用更低,而且不需要考虑任何变化。
OKX Ventures 创始人 Dora 表示,Taiko 构建的 zk-EVM 属于 Type1 梯队,即完全的以太坊等效性,是当前 zkEVM 领域最具潜力的项目,也是以太坊创始人 Vitalik Buterin 在推特中点名的 ZK-EVM 五大选手之一[2023/6/9 21:24:57]
交易历史数据的这种透明度,不仅增加了txcalldata的gas成本,而且还破坏了交易的隐私。
据推测,交易历史数据的累加器,既解决了效率问题,也解决了隐私问题。
基于zkRollup的以太坊二层网络Taiko发布首个公共测试网:12月28日,据官方消息,基于 zkRollup 的以太坊二层网络 Taiko 发布测试网 Sn?fellsj?kull。目前该测试网支持开发者部署智能合约,并向普通用户开放交易测试和 L2 节点运行等功能。[2022/12/28 22:12:13]
三、方法
简而言之,在第一步中,我们构造了一个zkRollup,其中运营商将最终状态差异直接写入txcalldata。交易历史数据将在一个zkp电路的隐私输入中。
第二步,我们通过分离常用存储和用户状态存储从txcalldata中删除最终状态差异。这使用户可以使用非包含证明退出。用户保留其用户存储并仅公开其Merkle根。用户可以用zkp证明根转换,并且可以更新智能合约的常用存储。
详细步骤如下:
Reddio上线StarkEx提供支持的zkRollups API主网:9月29日消息,区块链基础设施服务商Reddio宣布,上线由StarkWare扩容引擎StarkEx提供支持的zkRollup API主网。Reddio表示,开发人员可以使用Reddio在zkRollup上构建应用内和游戏内NFT市场、扩展应用和游戏资产交易、使用Javascript SDK和Unity SDK以0 Gas费铸造NFT等,具有低Gas费用和即时确认等特点。[2022/9/29 6:01:45]
3.1)第一步,zkRollup中txcalldata使用选项
使用txcalldata恢复完整状态有两种选择。
选项1:将所有交易历史数据记录到txcalldata。
选项2:记录由于区块中的交易而导致的最终状态的差异。
在选项2中,由于txcalldata中没有要记录的内容,数以百万计具有相同结果的交易使用0gas进行txcalldata使用。Merkle根转换的可靠性由zkp保证。
ZKRollup扩容团队MatterLabs完成A轮融资,USV领投:3月1日消息,以太坊ZKRollup扩容方案MatterLabs宣布完A轮融资,联合广场风投(USV)领投该轮,此前的投资者Placeholder、1kx和Dragonfly继续参与本轮,除此之外还有zkSync的生态合作方,包括Aave、Balancer、1inch、Curve、Binance、CoinbaseVentures、火币、路印、Argent、MYKEY、imToken、Flexa、MoonPay、ripio、CoinGecko,但尚未公开具体的融资金额信息。[2021/3/1 18:05:07]
而采用“选项2”是第一步。
3.2)第二步,优化“选项2”
当批次/区块中的交易更改合约中的相同存储值时,上述选项2会花费更少的gas。这种共享和更改的值就像ERC20的总供应量、swap协议的总资产池量等。
Google Cloud 在客户用例中新增路印协议 Loopring 的 zkRollup 扩容方案:Google Cloud 在客户和案例研究中新增路印协议 Loopring 的 zkRollup 扩容方案。根据该案例专页的描述,路印协议 Loopring 选择 Google Cloud 的可扩展性和速度来减少交易时间,为 zkRollup 客户提供更好体验,可将用户资金释放等待时间缩短 40%。Google Cloud 计算引擎通过自定义 VM 解决方案可节省 15%的计算成本,从而为用户降低了交易费用,此外还可将部署时间从几分钟缩短到几秒钟,以提高员工效率,最终增强交易计算性能并改善客户服务。[2020/12/19 15:47:42]
而且这种存储值也会影响到所有资产持有者,这种数据的丢失会导致zkRollup的活性损失。另一方面,其他不常共享和更改的数据大多是个人资产数据。这类数据的丢失,直接意味着资产持有者损失了资金。这种风险是分开的,不会影响到对方的资金。
然后分离用户的状态,并提供其状态的用户数据及其证明作为运营商对其交易的收据,从而降低了大量gas成本。
交易者向运营方发送交易;
运营商将其用户状态的merle证明作为交易的收据;
交易者签署这个收据;
电路中只接收带有签名收据的交易数据;
如果一个用户进行了交易,并且多个用户的余额发生了变化,并且他们知道自己的状态,包括这些余额和Merkle证明,那么他们中的任何一个都可以随时通过zkp退出其资金。
这证明这是其余额的最后一个状态,可以通过每个批次的更改状态所有者的每个帐户列表的不包含证明来确定。更改状态所有者的帐户列表的稀疏Merkle树可用于有效证明。
有两种方法可以让更改状态的所有者知道他们最近的更改。
如果他们在线,运营商发送最后一个差异,接收签名的差异,并将其放入zkp电路的输入,这样的gas成本是最低的。
如果他们不在线,运营商会将其发布到txcalldata或链下去中心化存储。
通过这种状态分离,运营商不再需要将最终状态的任何差异都放在txcalldata中,因为用户的帐户状态对于退出来说足够安全,而丢失共同共享的数据,只是意味着运营商无法更新zkRollup的Merkle根,他们将简单地停止服务。然后,公共共享存储和用户存储都可以在链外分发。每批只需要在txcalldata中记录一个状态改变的所有者的账户列表。
3.3)第三步,隐私智能合约执行
用户的交易不在链上,但运营商仍然可以看到并需要看到用户状态,以进行zkp证明。
如果用户在其一边进行zkp以证明其用户状态的Merkle根和公共共享存储的转换,则运营商只需更改该Merkle根和存储,余额的秘密仍然存在。
用户向运营商发送交易;
运营商返回余额和更新后的公共共享存储的差异;
用户对更新后的用户状态和公共共享存储的Merkle根进行zkp证明;
制作每个批次的运营商可通过更改批次中共享存储的变化知道余额差异,但其无法知道其他批次的余额差异,因为运营商之间只共享最终差异。这具有混合级别的隐私。
这种机制需要用到递归zk。
四、更详细的讨论
4、1在链下与离线状态改变者通信
这只是一种选择。该协议可以在没有这部分的情况下构建。
即使在最坏的情况下,状态更改器处于离线状态,这种情况下的数据可用性风险也非常有限。
离线用户可以在其在线时获取数据以安全退出,其可以设置代理而不是自己接收数据。
并且我们可以构造退出方法,以便上次状态更新不会因为数据可用性问题而使之前的状态变得危险。
典型的去中心化存储结构如下所示:
提交哈希
证明preimage(hash(storage))=preimage(hash(storage,last-Ethereum-block-header))-last-Ethereum-block-header
继续观察有多少节点可以完成
4.2账户链上gas费用
每个帐户都可以获得一个比地址本身短得多的ID。
每个batch只需要一个账户列表,这样就可以省略重复项,这比txcalldata中使用的交易历史要高效得多。
4.3公共共享存储的进一步优化
在以太坊L1上,你无法擦除txcalldata。我们可以修改它,因为公共共享存储不需要在链上。
与交易历史数据不同,我们只需要最后的状态数据,不需要任何之前的状态。然后运营商可以放弃之前在网络中共享的“最终状态数据”。
运营商可以通过zkp逻辑知道可以丢弃的数据。
五、结论
分离用户状态使得zkRollup智能合约执行既高效又隐私,几乎所有的txcalldata成本都从zkRollup中移除了。
为推动工业区块链基础核心技术研究和行业应用落地,支撑政府决策,促进区块链行业良性健康发展,提升我国工业区块链的国际影响力.
据Cointelegraph10月8日报道,ArcaneCrypto研究部门预测,随着比特币第二层支付协议的采用在十年里逐步增加,闪电网络将呈现抛物线增长.
巴比特讯,9月28日,在2021年区块链服务网络全球合作伙伴大会上,量子链创始人帅初在圆桌分享时表示,2015年是区块链行业发展的分水岭,一方面,以太坊有了应用的苗头,另一方面,IBM高举高打.
巴比特讯,VUELE?首部故事片《ZEROCONTACT》的NFT在四天拍卖中获得近六位数的票房收入,该片由奥斯卡获奖最佳男演员安东尼霍普金斯主演.
链集市?·让区块链落地更简单 《区块链行业观察》专栏·第55?篇作者丨SaskiaHillmann&NicolRosenkranz 图片丨来源于网络 瑞士酒店协会主席兼瑞士区块链初创企业.
摘要:本次攻击原因很可能是现任管理员密钥被盗取,SharkTeam提醒您类似授权的关键函数应该更多的使用多签技术,避免单点攻击风险.