目前以太坊基于零知识证明的扩容方案是ZK-rollup,但其实还有另外两种解决方案——Validium和Volitions。
本文简单介绍以上3种基于零知识证明的扩容方案。
ZKrollup
ZK-rollup的运作简单来说是将多笔交易打包在一起,发布到L1上,同时发布一个证明来声称这些交易有效,一旦在L1上验证确实有效,那么zk-rollup的状态就会更新。
这套证明机制也被称作「有效性证明」,目前ZK-rollup主要采用的证明机制是zkSNARK和zkSTARK。
尤其是zk-SNARK应用最为广泛,而zk-SNARK则是它的改进版,目前使用者并不多。
zk-SNARK即zero-knowledgesuccinctnon-interactiveargumentonknowledge,是一种文件很小且很容易验证的加密证明,而简洁jiu就在于非交互式。
传统方案是交互式证明,即示证者和验证者之间反复确认。你可以理解为示证者不断向验证者询问“是或不是?”,然后验证者不断给出回答,直到最后碰出一个正确答案来,所以效率很低。
而SNARK的解决方案是提前先搞一个“可信初始化”,从而生成公共参考字符串,这样所有的示证者直接访问它就可以了。你可以理解为有一个标准答案,示证者就像批改试卷那样去验证。
但SNARK提前生成公共参考字符串提高了效率,但也留下了隐患——万一公共参考字符串泄漏了呢?于是就催生出了STARK。
STARK是交互式证明,但它是一种巧妙的交互式证明——通过哈希函数碰撞来保证安全性,因此也比较高效。
Validiums
ZK-rollup是将交易分批发送到L1上去执行,是一种无需信任的「自定义安全性」。
Validiums则是直接在链下执行,并通过零知识证明来维护数据,只有需要的时候才在主网上验证取款请求的有效性证明。
所以Validiums可扩展性要高于ZK-rollup,但它是把信任交给链外第三方的「弱信任扩容」,会被攻击导致数据不可用或者用户无法取出资金。
解决安全的方式是采用PoS机制,用经济激励来确保数据储存在各个节点之中并且随时可用。
目前采用Validiums方案的代表项目是ImmutableX,以NFT为中心的扩展解决方案。
Vitalik认为Validiums其实被严重低估,因为大多数Dapp用Validiums就已经可以满足运行需求了。
Volitions
StarkWare团队结合ZK-rollup和validium,创造性地推出了Volitions方案,顾名思义是关于「决断能力」。
Volitions方案本质上是同时提供ZK-rollup和validium这两种服务,它们共享同一个状态根,用户可以自行选择每笔交易的DA模式。即便Validium那部分被攻破,ZK-rollup上的资金仍然安全。
用户就可以在涉及重要资金往来时选择ZK-rollup模式,共享以太坊的安全性,如果是日常娱乐、社交或者小额交易,自然选择Validium模式来提高速度并节省成本。
结语
以太坊扩容战争还在刚开始,目前占据优势的是Optimisticrollups阵营,它们可以做到EVM兼容甚至完全等效,另外社区运营能力也非常强劲。
ZK-rollup落于下风很大程度上是因为一开始就要定制VM,这意味着来自EVM的代码要从头开始编写。
不过长远来看,相比于Optimisticrollups,ZKrollups具有内置的隐私和安全优势,未来实现EVM兼容性,很可能胜过Optimisticrollups。
而且可以在ZK-rollup和validium之间做决断的Volitions方案,也不失为一种兼顾了各种场景的解决方案。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。