伴随着以太坊上海升级的日益临近,与之相关的各项提案也随之涌现,希望能赶上在上海升级中一并部署。EIP-5988 也在近期被提交至 Eips.ethereum 官方网页,EIP-5988 主要目的在于为各类 ZK 进行和主网间通信的预编译操作,以节省通信所需的编译时间和链上空间。
EIP-5988 主要在于解决各类L2和L1之间的通信问题,借助这项提案,ZK 系L2可以在不降低自身证明效率的同时兼容主网安全性,OP 系L2可以进一步提升利用主网的结算效率。
并且,EIP-5988 此次使用的是 Poseidon 哈希算法,将会作为各类L2统一预编译的生成证明方式,这也是首次可能兼容进以太坊的新算法,而此前主要在各类L2中尝试使用,但安全性尚未得到主流应用大规模长时间检验,这也是 EIP-5988 引发的主要争议点。
打通L2之间的通信
在 EIP-5988 的描述中,最重要的是提出了新的 Layer 2 间通信方式,将各类 Rollup 扩容算法打包成一致的编译层,供以太坊主网调用,借助以太坊的兼容性来进行各类 Layer 2 的通信。
直观理解,也就是在 STARK/SNARK 等方案之下,首先进行一项预编译措施,一旦提案生效,将构筑成 ZK 证明生成后的格式转换场所。以太坊主网无需考虑消息的具体来源,只需要判断是否符合编译格式,从而进行接受或拒绝等操作。
在目前的L2和以太坊主网之间,存在广泛的兼容性问题。以 ZK 系为例,目前主要存在两种障碍:
ZK 系有不同技术路径,zk-SNARK 和 zk-STARK 是较为主流的两种,不同实例之间的互操作性缺乏统一标准;
L2会选择自研语言,如 StarkWare 的 Cairo 等,和以太坊使用的 solidity 有所区别,需要互相编译才能互通。
在统一预编译层实施后,以太坊所接受的消息格式将进行统一,任何传入的L2数据类型需要进行预先转换,从而节省L2和主网间的传递--等待--响应时间。
目前,在统一预编译层生效前,L2之间的通信有三种方式:
CEX/DEX:首先将代币传递至兼容两种以上L2的交易所。但是只能进行资产转换,无法直接进行消息传递;
通用跨链桥:在传统的L1之间的跨链桥之上叠加L2网络。可进行资产转换,部分借助主网可进行消息传递;
L2跨链桥:以 Orbiter Finance 为代表,主要是在各类 Rollup 间进行跨链,可以视为特定领域的跨链桥模式。
EIP-5988 的统一预编译,是直接将各类L2的数据格式进行标准化,而非直接提供一种跨L2的资产互通模式,其仍然是以太坊主网的一种升级和扩展,不会损害以太坊主网的安全性。
借助以太坊主网而来的兼容性,并且会极大提升各类L2的互操作性,也更为符合以太坊未来模块化的升级方式。
波塞冬 Poseidon 神力有待检验
但是在优势之外,仍然需要注意到统一预编译的问题所在,主要集中在其使用的“Poseidon”(波塞冬)哈希算法之上,这也是目前社区讨论的集中点。
本质上,EIP-5988 的工作流程是引入了一个新的预编译合约,实现了 Poseidon 加密哈希算法中使用的函数,可以实现 EVM 和 ZK / Validity rollups 之间的互操作性,以及为 EVM 引入更灵活的加密哈希原语。
哈希算法的主要作用是将各类传入的数值和非数值型(文字、图片等)数据转换为规格一致的编码,便于计算机识别和调用,而在密码学领域,最为人所熟知的是默克尔树证明,其本质是二叉树的哈希化表达变种,被广泛用于各类节点通信,比如钱包和交易所资产证明之中。
波塞冬算法并非是全新方案,至少 Vitalik 之前介绍过其主要作用,并且其具备和各类 ZK 算法的良好兼容性,这也是此次更新以波塞冬为题的主要原因。
Poseidon 哈希函数于 2019 年正式推出,与流行的 传统 哈希函数(如 SHA 256 和 Keccak)相比,其未经严格有效性和安全性测试。在以太坊网络和其他区块链网络中,已经有部分L2或其他应用使用,到目前为止,波塞冬算法未出现严重错误。
已经或计划使用波塞冬算法的区块链案例:
StarkWare计划使用 Poseidon 作为 StarkNet 的主要哈希函数,并承诺在 Cairo 语言中增加内置 Poseidon 函数功能。
Filecoin 采用 Poseidon 进行不同的默克尔树(Merkle Tree)证明,并用于双值提交场景(two-value commitments)。
Dusk Network 使用 Poseidon 为交易建立一个类似 Zcash 的隐私协议。
Sovrin 使用 Poseidon 进行基于 Merkle 树的撤销交易。
路印协议(Loopring)使用 Poseidon 在以太坊上进行隐私交易(Private Trading)场景。
Polygon 将 Poseidon 用于 Hermez ZK-EVM 中。
Poseidon 算法的安全性并非出于设计上的缺陷,而是缺乏大规模实用化高价值场景的检验,如果此次最终被纳入以太坊主网之上,则将是其在整个以太坊,乃至加密生态上的最重磅应用。
结语
以太坊和 Layer 2 扩容方案之间的纵向分层已成定局,但是各层之间的安全性和兼容性依然存在问题,因此各类L2都在“利用以太坊主网安全性,和增强自身对主网的兼容性上”进行广泛的尝试,但是在造就L2生态繁荣的基础上,也变相引发了L2分裂危机。
这种生态的破碎并不利于以太坊和 EVM 的长远发展,各类L1之间的竞争仍在进行,如何弥合各类生态碎片,也成为以太坊主网需要主动为之的必要举措,从主网出发进行改进,要求各类L2进行统一的格式转换,是其最新动向。
无论 EIP-5988 最终是否会生效,这种繁荣和碎片都会长期存在,也需要更多的改进提案来修补。