CAL:一文探讨 zkRollup 改进提案的具体思路及优缺点_SUPERPOO币

感谢AlexGluchowski以及BarryWhitehat提供的意见和看法。1

长话短说

本文介绍了一种无需来自运营方tx历史数据的zkRollup,这具有在L1上使用txcalldata的gas效率,并且还具有智能合约执行及资产隐私的特性。每个batch只需要在txcalldata中记录一个状态改变的所有者的账户列表。缺点是每个用户在将资金退出到L1时,需进行客户端zkp计算,而另一个缺点是在EVM兼容性方面带来困难。2

背景和动机

对于Rollup的运营商和交易者而言,他们在使用txcalldata时仍然会产生消耗。这种限制仅仅是因为需要恢复作为交易结果的状态,以免用户无法生成其资金的Merkle证明。Rollup的大部分规范要求运营商将所有交易历史数据转储到L1上的txcalldata。交易历史数据的这种透明度,不仅增加了txcalldata的gas成本,而且还破坏了交易的隐私。据推测,交易历史数据的累加器,既解决了效率问题,也解决了隐私问题。3

SOL、MATIC等此前被SEC列为证券的加密货币短时出现较大涨幅:金色财经报道,SOL、ADA、MATIC等此前被SEC列为证券的加密货币短时均出现较大涨幅。行情显示,SOL24小时涨幅16.75%,现报价25.92美元;ADA24小时涨幅14.77%,现报价0.33美元;MATIC24小时涨幅16.67%,现报价0.84美元;SAND24小时涨幅9.54%,现报价0.46美元;ATOM24小时涨幅6.27%,现报价9.63美元;FIL24小时涨幅6.29%,现报价4.54美元。[2023/7/14 10:53:45]

方法

简而言之,在第一步中,我们构造了一个zkRollup,其中运营商将最终状态差异直接写入txcalldata。交易历史数据将在一个zkp电路的隐私输入中。第二步,我们通过分离常用存储和用户状态存储从txcalldata中删除最终状态差异。这使用户可以使用非包含证明退出。用户保留其用户存储并仅公开其Merkle根。用户可以用zkp证明根转换,并且可以更新智能合约的常用存储。详细步骤如下:3.1)第一步,zkRollup中txcalldata使用选项

Solana联创:以太坊在可扩展性方面还有很长的路要走:金色财经报道,Solana Labs联合创始人Anatoly Yakovenko在接受采访时表示,根据交易和用户的数量,合并对改善以太坊的可扩展性影响很小。他说:“\"以太坊的合并并没有真正改善网络的可扩展性。当你看看Solana每天从应用程序和用户那里处理的交易数量时,它不仅仅是以太坊,而是所有基于以太坊的区块链的总和。所以我认为以太坊在可扩展性方面还有很长的路要走。”

然而,Yakovenko表示,合并对加密货币来说是一个积极的方面,它将带来一些清晰度,特别是关于PoS的安全性方面,同时吸引资本流入。(Finbold)[2022/9/21 7:11:35]

使用txcalldata恢复完整状态有两种选择。选项1:将所有交易历史数据记录到txcalldata。选项2:记录由于区块中的交易而导致的最终状态的差异。在选项2中,由于txcalldata中没有要记录的内容,数以百万计具有相同结果的交易使用0gas进行txcalldata使用。Merkle根转换的可靠性由zkp保证。而采用“选项2”是第一步。3.2)第二步,优化“选项2”

solana网络发布关于6月2日网络中断的问题报告:金色财经报道,Solana 官方发布主网 Beta 中断报告,称一个由持久 nonce 交易特性触发的运行错误,在特定的环境下,允许一个失败的持久 nonce 交易被处理了两次,这导致当验证节点第二次处理交易时,一些节点拒绝了后续的区块,而其他节点接受了它。关键的是,超过 33% 的验证者接受了这个区块,但这个数字没有达到调和不确定性所需的 66 %。

目前在 v1.9.28/v1.10.23 版本中已禁用了持久随机数交易功能,以防止网络在再次出现相同情况时停止,且在实施缓解措施并在即将发布的版本中重新激活该功能之前,将不会处理持久随机数交易。

此前报道,Solana 主网 Beta 于 6 月 2 日凌晨暂停出块,中断超 4 小时。[2022/6/5 4:03:39]

当批次/区块中的交易更改合约中的相同存储值时,上述选项2会花费更少的gas。这种共享和更改的值就像ERC20的总供应量、swap协议的总资产池量等。而且这种存储值也会影响到所有资产持有者,这种数据的丢失会导致zkRollup的活性损失。另一方面,其他不常共享和更改的数据大多是个人资产数据。这类数据的丢失,直接意味着资产持有者损失了资金。这种风险是分开的,不会影响到对方的资金。然后分离用户的状态,并提供其状态的用户数据及其证明作为运营商对其交易的收据,从而降低了大量gas成本。交易者向运营方发送交易;运营商将其用户状态的merle证明作为交易的收据;交易者签署这个收据;电路中只接收带有签名收据的交易数据;如果一个用户进行了交易,并且多个用户的余额发生了变化,并且他们知道自己的状态,包括这些余额和Merkle证明,那么他们中的任何一个都可以随时通过zkp退出其资金。这证明这是其余额的最后一个状态,可以通过每个批次的更改状态所有者的每个帐户列表的不包含证明来确定。更改状态所有者的帐户列表的稀疏Merkle树可用于有效证明。有两种方法可以让更改状态的所有者知道他们最近的更改。如果他们在线,运营商发送最后一个差异,接收签名的差异,并将其放入zkp电路的输入,这样的gas成本是最低的。如果他们不在线,运营商会将其发布到txcalldata或链下去中心化存储。通过这种状态分离,运营商不再需要将最终状态的任何差异都放在txcalldata中,因为用户的帐户状态对于退出来说足够安全,而丢失共同共享的数据,只是意味着运营商无法更新zkRollup的Merkle根,他们将简单地停止服务。然后,公共共享存储和用户存储都可以在链外分发。每批只需要在txcalldata中记录一个状态改变的所有者的账户列表。3.3)第三步,隐私智能合约执行

AtlasDEX宣布向Solana链上DEX Raydium流动性池中注入约150万美元ATSToken奖励:2月14日消息,跨链聚合器Atlas DEX团队宣布向Solana链上DEX平台Ray dium的流动性池中注入价值约150万美元的ATSToken,以奖励流动性提供者。AtlasDEX团队在公告中称,自Atlas在Raydium上建立流动性池一周以来,ATS-USDC的TVL已经超过70万美元,释放了价值超过65,000美元的ATS代币。[2022/2/14 9:50:49]

用户的交易不在链上,但运营商仍然可以看到并需要看到用户状态,以进行zkp证明。如果用户在其一边进行zkp以证明其用户状态的Merkle根和公共共享存储的转换,则运营商只需更改该Merkle根和存储,余额的秘密仍然存在。用户向运营商发送交易;运营商返回余额和更新后的公共共享存储的差异;用户对更新后的用户状态和公共共享存储的Merkle根进行zkp证明;制作每个批次的运营商可通过更改批次中共享存储的变化知道余额差异,但其无法知道其他批次的余额差异,因为运营商之间只共享最终差异。这具有混合级别的隐私。这种机制需要用到递归zk。4

三箭资本CEO在推特简介新增AVAX、LUNA、SOL、NEAR 4种Token:1月10日消息,三箭资本CEO Zhu Su近日修改推特简介,以AVAX、LUNA、SOL、NEAR替换原有的DOT、MINA。Zhu Su 推特简介中显示,其投资标的还包括BTC、 ETH、DeFi 和 NFT。[2022/1/10 8:38:51]

更详细的讨论

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逻辑知道可以丢弃的数据。5

结论

分离用户状态使得zkRollup智能合约执行既高效又隐私,几乎所有的txcalldata成本都从zkRollup中移除了。本文来自元宇宙之道,星球日报经授权转载。

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

大币网

[0:15ms0-6:581ms