基于ZK-Rollup的Curve要来了


原创 蓝狐笔记

(土黄瓶鸢尾花,梵高)\

在过去几个月的DeFi冲击之下,以太坊网络不堪重负。Layer
2和分片是以太坊未来可扩展性的路径。不过分片的成熟落地需要好些年,目前来说,最有可能的扩展路径是Layer
2,而在目前的各种Layer 2路径中,Rollup系列是最被看好的技术路径。\

Rollup系列中主要有ZK Rollup和Optimistic
Rollup,目前它们的进展都还算顺利。9月底
Optimism团队宣布其测试网第一阶段开启;Fuel也向测试网推进;Loopring、zkSync、Deversifi(基于Starkware技术)也已经有了ZK
Rollup的落地。之前蓝狐笔记提到的Zeroswap《ZeroSwap:基于ZK-Rollup的
DEX
》也要推出基于Zk
Rollup的AMM模式DEX。Layer
2在未来半年到一年时间里会呈现出蓬勃发展的态势,尤其是在DeFi领域。

而Curve在Layer 2方面的推进速度较快,如今基于Zk rollup技术的Curve
也马上要来了。根据Matter Labs和Curve的公告,在Matter
Labs的帮助下,Curve团队将现有的Curve合约重写为Zinc版本,目前已经开放测试网进行测试。

https://zksync.curve.fi)

Curve 的Layer 2 选择

之前蓝狐笔记也介绍过layer 2赛道《以太坊的Layer
2赛道
》《以太坊layer2突破性进展:意味着什么》,也介绍过ZK
Rollup和 Optimistic Rollup的区别《一文读懂ZK Rollup和Optimistic
Rollup:以太坊重要的扩展方向
》。那么,Curve为何选择了基于ZK
Rollup的 Layer 2方案?

虽然市场上每个Layer
2技术都在提自己的优势,但最终来说,每个解决方案都有其均衡选择。有些协议对于安全的需求没那么高,而对于性能的需求更高,比如游戏类的项目。有些协议在安全上无法妥协,比如DeFi协议,DeFi协议锁定的总资产量超过百亿美元,在其上交易的资金量高达数十亿美元。对于这些协议来说,安全性是首要考量的因素。

当前来看,相对而言,Layer 2方面,ZK Rollup和 Optimistic
Rollup获得了更多DeFi协议的青睐。尤其是ZK Rollup在安全性上接近于Layer
1的级别,因此也被视为是未来一段时间内最具前景的Layer
2方案。当然,在这个过程中,也有可能会有新的更好的解决方案冒出来,这需要时间来催化。

Curve选择ZK
Rollup很重要的原因是其安全性的考量,目前Cuvre上锁定的资产量超过15亿美元,近期日交易量大约1.5亿美元,已经具备了相当的规模,无法在安全性上进行过多权衡。ZK
Rollup几乎可以达到Layer 1级别的安全。这是Curve 选择ZK
Rollup的一个重要原因。

相对于采用经济激励的博弈模型,ZK
Rollup安全性更依赖于纯粹的数学。此外,Optimistic
Rollup有潜在的安全性问题,会随着其锁定资产量的增加,其安全性反而可能下降。因此,它有一个相对安全的资产范围,如果资产规模过大,可能会遭遇攻击。

此外,在最终性方面,ZK Rollup相对于Optimistic Rollup也有一定的优势,ZK
Rollup可以在几分钟内达成最终性,它支持资金快速撤回到Layer
1。而Optimistic Rollup有一个争议延迟时间的设计,一般至少需要一周时间。

当然,Optimistic Rollup也有其优势,相对于ZK
Rollup,它在可编程性方面更友好,它支持EVM兼容,在将现有以太坊智能合约带入Layer
2方面更便捷。

为了解决这一短板,Matter Labs宣称其在ZK
Rollup上实现了一些突破,尤其是支持任意用户定义的智能合约方面。Matter
Labs引入Zinc编程语言和对SNARK友好的Zinc
VM,并为以太坊实现了递归PLONK证明验证。这三者结合将支持在ZkSync上的智能合约。

*Zinc编程语言

根据Matter Labs的公告,在目前情况下,必须使用Zinc编程语言编写Zinc
VM的智能合约。Zinc遵循简化的Rust语法,同时借鉴了来自Solidity的所有智能合约元素和结构。Zinc在结构上跟solidity基本相同,将现有的Solidity代码转换为Zinc相对容易。不过,当前它还不支持图灵完备(后续有计划支持),因此它禁止递归和无限循环。此外,当前的Vyper程序都可以同构转换为Zinc。有经验的Solidity/Vyper的开发者可以在几天内掌握。

Zinc本身不是图灵完备,不过在它上面可以完成在Solidity上的工作,进行少量的修改即可。目前多数DeFi应用的代码很少需要循环或递归,此外,图灵完备的组件也可以通过利用交易级别的递归来重新实现。

*Zinc VM

按照Matter Labs的介绍,合约用Zinc编程语言进行编写和编译。Zinc
VM字节码和SNARK验证密钥可以以无须许可的方式部署到zkSync网络。

合约会在Layer
2内分配到一个新地址。当用户跟合约交互,zkSync的验证者会执行Zinc
VM操作码,并产生交易有效性的零知识证明。证明将由rollup
区块电路通过已部署的验证密钥来进行递归验证。区块证明则由以太坊上部署的zkSync智能合约验证,以授权实现状态转换。在可组合性方面,所有zkSync
Layer 2的合约都可以相互调用,跟以太坊主网上一样。

*用户密钥管理

根据Matter
Labs的声称,zkSync直接集成到结账流程中,这种集成类似于web2.0的单点登录的身份验证方案。假设zkSync网站被黑,也需要通过用户以太坊钱包额外以消息签名方式进行双重因素验证。该签名当前由其服务器验证。为提升用户体验,Matter
Labs正计划跟其他团队合作开发通用的以太坊Layer 2签名标准。

*开放测试

测试网功能已经齐全。用户可以编写合约,并部署到测试网上,进行本地测试,并生成智能合约执行的零知识证明。每笔交易会在zkSync测试网上进行真实代币转移,这些都会反映到区块浏览器和钱包中。用户需要用真实的测试网
ERC20代币进行交易。

*当前局限

目前Zinc
VM还没有集成到zkSync核心中。Zinc编程语言中的一些重要功能也可能有缺失。这有待后续的完善。



欢迎加入蓝狐笔记群微信:donnell008

×

喜欢就点赞,疼爱就打赏