以太坊因为PoW链在性能上的限制,在很早期就开始研究扩容方案。在L2的众多案例里,基于“证明”技术的两类方案脱颖而出,其也被以太坊奉为主要的扩容方案。未来,即使PoS共识运行以及分片实现后,这些基于“证明”技术的扩容方案也会一直存在。
基于“证明”技术的解决方案,主要分为以欺诈证明、零知识证明的两个方向,产生了Optimism、Arbtrium、zksync等应用此技术的方案。
而在整个区块链领域里,以太坊的“证明”技术都与rollup技术进行了融合,形成了optimistic rollup和zk rollup以及,而像Mina这样完全应用零知识证明技术体系的区块链,其更重视零知识证明本身的应用。
为什么以太坊需要将证明和rollup同时实施,是因为以太坊本身存在L1,证明和rollup都是为扩容而用。在以太坊区块恒定的情况下,扩容思路主要为减小交易字节大小和完成交易证明的验证后打包。证明减小了交易字节大小,rollup则把交易数据打包到一起。以太坊上会有智能合约验证rollup数据集的证明有效性。
这种情况下,以太坊L1是不需要更多的改造和变化的。
笔者提取了如下的一些信息,来理解这一思路。
首先是使用zk rollup的zkSync。
在zkSync 使用高峰期,其提现时间约为10分钟。在较低使用期间,可能需要长达 7 小时。目前,提款时间取决于 zkSync 上的活动,因为这是一个完成区块并将它们提交到 L1 的过程,将块提交到L1,是交易被确认后。
zkSync网络的计算服务提供商是“Stichting ZK Sync”,在zkSync中,每笔交易的成本有两个组成部分:
链下部分(存储 + 证明者成本):状态存储和 SNARK(零知识证明)生成的成本。这部分依赖于硬件资源的使用,因此是不变的。基准估计每次转账约为 0.001 美元。
链上部分(gas 成本):对于每个zkSync区块,验证者必须支付以太坊 gas 来验证 SNARK,另外每笔交易额外支付约 0.4k gas 来发布状态。链上部分是一个变量,取决于以太坊网络中当前的 gas 价格。但是,这部分比普通 ETH/ERC20 转账的成本要便宜几个数量级。
一旦zkSync块的 SNARK 证明生成并被智能合约接受, zkSync 中的交易就达到了以太坊的最终确定性。证明时间生成预计为 10 分钟左右,即提交后 10 分钟,zkSync(证明)交易与包含在同一个以太坊区块中的任何 L1 以太坊交易与有证明的交易一样是最终的。
当用户发送交易时,需要等待块被填充,不会立即生成证明。随着 zkSync 系统的更高吞吐量,块之间的时间将会减少。
而相比之下,基于欺诈证明的扩展解决方案(例如乐观汇总)需要至少 1周的锁定期才能或多或少地安全运行,这会导致1周的最终确定时间。
这个过程表现了证明和汇总的关系。也表现了当使用证明后,也带来了一些其他问题,比如乐观汇总中的锁定期和挑战期。当用户像optimism的主网转移资产的时候,资产可以很快生成,而当从optimism像以太坊L1转移资产(就像rollup数据像L1提交一样)时,因为欺诈证明的原则要等待数据在一定时间内没有验证者认为证明数据有问题的过程,因此会出现锁定期和挑战期。就带来了提现到账的等待问题(也就是块确认问题)。
而证明同时带来的其他问题还会集中在证明数据在L1层的可用性。例如代表的就是EVM的兼容性,智能合约的普遍适用。
所以Vitalik才会认为乐观汇总会比zk rollup在EVM上的进展更快更具优势,其原因是在于欺诈证明本身和零知识证明间的区别。
所以应用零知识证明技术,在技术上完成突破似乎要改变更多的系统设计,例如Mina。
其在共识层、节点层、验证者层都与以太坊有明显不同。其最主要的特点是把整个区块链的存储大小保持在22字节,这是零知识证明的作用,将原本几百GB的数据以证明替代。其原理在于,不保存数据,而只保存数据变动的“快照”证明,然后基于数学逻辑推理出数据的有效性。其比较明显的解释是,只给大象拍照,而不保存大象本身。无论区块链如何增加交易状态,都是一张照片的大小。
但Mina还是存在存储数据的归档节点以及承担证明计算的节点,并且因为区块链过轻,当运行一些计算的时候,会使用很多链下的计算和存储。这也是为了使用零知识证明技术的优势而带来的一定选择。
这可能也意味着Mina这样的区块链,其应用方向很大程度会局限在一个简单的电子支付系统或代币交易系统。
综上,当区块链使用了证明之后,我们主要看到的是证明在帮助L1扩容,但如果用零知识证明技术全面改造区块链,似乎其应用的周期还需要更长远一些。