公开数据不上链时会发生什么?

Layer2 系统的安全性和效率取舍


感谢 Matter Labs 提出关于部分 L1 数据链上可用性的问题,我们一直以来都非常重视社区的声音,并会根据社区的需求修改方案。因此,我们想借着这次机会向大家分享 ZKSwap 开发团队辛勤工作所交付的产品背后的一些思考。

经过非常谨慎细致的思考之后,为了 TPS 和 Gas fee 的效率,我们决定将 ZKSwap 的 L2 转账放在链下。在 ZKSwap 的设计中,L1 相关的数据在链上,L2 相关的数据,比如转账和交易,存在链下。尽管存在链下,这部分数据也会被验证者实时公布。

例如,L2 区块 7831:

https://api.zkswap.info/block/7831/pub-data


三种转账类型

ZK-Rollup 协议中,一个区块可以包括三种类型的转账:

类型 1:来自 L1 的存款和创建 AMM 交易对的转账;

类型 2:L2 发起且只能被 L1 验证的转账。比如,公钥转账将需要 L1 签名来确保 L1 账户的密钥所有者能将他们的账户与 L2 账户关联起来,因为电路不能检查确认 L1 的签名;

类型 3:由 L2 签名验证而无法被 L1 验证的转账。

ZKSwap 安全模型

一个区块内记录的 L2 转账在 L1 上只有部分记录。只有区块信息的总结会被记录在 L1 链上,例如区块哈希、新默克尔根、区块高度等等。

当一个区块的转账被提交到 L1 上,区块就被创建出来,区块哈希会被验证。由于以太坊内建了 sha256 算法,所以区块哈希通常也使用 sha256 进行计算。

为了保持数据可用性,所有的转账数据都应该被提交到 L1 上,这被称为「公开数据」。一笔转账的公开数据与其在 L2 上的转账并不完全相同。系统在进入「退出模式」时将使用公开数据,这样任何人都能恢复最近的经过验证的默克尔树。

电路

L2 的电路与 L1 的智能合约能够协同工作,确保 ZK-Rollup 协议的功能性。L2 的电路保证了以下几点:L2 转账签名正确、L1 / L2 转账执行正确、区块信息计算正确、及时有效地更新账户信息——包括默克尔根、账户默克尔树和费用信息等等。

双验证模式

验证模块对与安全性来说十分重要,是 ZK-Rollup 协议的基础。

公开数据验证——验证第一类和第二类转账的内容和次序。例如,验证存款需要确保存款数额和信息与 L1 上记录的相同,并且顺序无误。

区块验证——验证一个区块里的转账被正确执行,并且 L2 的账户默克尔树根被及时恰当地通过零知识证明进行更新。当一个区块被验证之后,更新的默克尔根就取得了最终性。

总结来说,整体的安全假设如下:

· 一个区块的所有转账公开数据在链上;

· 验证一个区块中第一类和第二类转账被正确执行;

· 证明一个区块内的所有转账被正确执行、账户默克尔树被正确更新、一个区块内的所有转账的公开数据能够匹配;

· 证明该区块内所有公开数据都被正确计算;

· 提交给 L1 的区块公开数据与零知识证明系统所证明的数据相同。

公开数据不上链时会发生什么?

如果公开数据不在链上,安全假设「提交给 L1 的区块公开数据与零知识证明系统所证明的数据相同」就不能被验证。这时候,当 L2 的零知识证明系统阵营所有转账都被正确执行、默克尔树都被正确更新时,只能说明一个区块内的转账有效,而不能证明来自特定区块的其他转账。

大多数第三类转账都是安全的,但是对于提现操作来说,提现的收款人未经验证,不能被零知识证明系统证明。

对于第一类转账来说,所有可能的第一类转账都能被证明,但不能被验证。类如,零知识证明系统能证明一些非 L1 发起的存款转账。

由于只有验证着能提交公开数据或者区块证明,所以社区必须信任验证者是诚实的。当验证者诚实时,以上所有的风险都不会存在。对 ZKSwap 来说,所有公开数据都在浏览器中同步公布,任何人都可以验证公开数据和任何链上区块。

将公开数据存在链下不是一个草率的决定。这个选择背后的主要原因是降低 Gas 费和提高可扩展性。

Gas 费用

保持 ZK-Rollup 协议运行的一个痛点是 Gas。为了向 L1 提交一个区块,需要消耗以下 Gas Limit (参考典型用例:只展示了区块中的 L2 转账(交易)):

一个区块中,最多可以包括 120 笔交易转账。

如果要在 L1 提交验证一个区块,需要消耗大约 23 万 Gas Limit,call data 费用约占 31%。

可扩展性(TPS)

可扩展性(TPS)是另一个考虑因素。假设一笔 L2 转账消耗 1850.7 Gas,那么 ZKSwap 将消耗 10% 的以太坊 Gas,整体 TPS 将在 51.5。

这是在只有交易、没有提现的情况,所以正常使用中将消耗更多 Gas,TPS 会更低。

结论

保护用户资金安全对所有区块链项目来说都很重要,也是 ZKSwap 的核心价值。当转账的公开数据没有提交上链时,安全性就依赖于零知识证明电路。当验证者诚实时,用户的资产就是安全的。从技术角度来说,如果验证者不诚实,安全性将会是一个问题。这是降低 Gas、提高 TPS 的一个权衡。

考虑到 Gas 消耗和可扩展性,ZKSwap 做了一个艰难的决定,将公开数据不上链,换来对 L2 用户更高的 TPS 和更低的 Gas 消耗。

我们愿意倾听开发者和用户的反馈,让 ZKSwap 系统更好。我们也可以在任何时间将所有数据上链。事实上,在发布 ZKSwap 之前,我们已经实现了 100% 数据可用的版本(所有 L1 和 L2 转账都在链上),所以我们可用随时升级至这个 100% ZK-Rollup 的版本,提供更高的 Gas 消耗、更低的 TPS,但是更安全。


24小时热点

热点专题

NFT艺术品到底是什么?

Beeple,“EVERYDAYS: THE FIRST 5 ...

2320904

Opera House

了解CHIA这篇就够了

这些清单旨在作为信息来源和研究的出发点,为你的研究提供常识性 ...

636559

Kusama 测试网

什么是 Infura?

11 月 11 日,因以太坊和 IPFS 的 API 服务供 ...

626973

IDG资本

OpenSea 为例子教大家如何购买 NFT

就如同流动性挖矿刚起步时候一样,大多数用户并不了解 NFT ...

609663

CryptoSpells

绿地集团数字化战略的NFT形象——8302款无聊猿!

30年前,绿地还是一家注册资本2000万元的小型绿化公司,历 ...

493829

Bybit

什么是私钥?

私钥是怎么来的,它跟你的密码学货币资产有何关联。

486042

芝麻开门交易所

2024年模因币牛巿SHIB是否能达到1美元?市场另外3个meme币也在热卖

SHIB是仅次于DOGE的第二大流行模因币,它能否达到1美元 ...

476086

Business2Community

数字人直播软件多少钱

数字人直播软件根据您使用的平台、功能范围不同,价格也不尽相同 ...

459247

MXC交易所

被朋友骗去弄数字货币

  有一次,一个朋友突然给我说他有一种可以赚钱的新方法,他说 ...

449990

DigiFinex

链圈百科:环境影响评价信用平台

环境影响评价信用平台是指一种使用信用技术来评估环境影响并对社 ...

417532

Tokhun