当前位置:首页 > 知识 >

比特币寻找支撑和阻力,Curve zkSyncL2进化以太坊智能合约

Curve和MatterLabs团队很高兴宣布以安全且去中心化的方式向以太坊扩展迈出了一大步:今天,我们和CurveFinance一起发布了第一个常驻dapp的zkSyncL2智能合约测试网。

【演示demo!】【3】

在Zinc上的Curve合约[4]

Zinc文档[5]

为什么选择ZKRollup?

扩展性是以太坊一个迫切的需求-隧道尽头有一个亮灯。VitalikButerin刚刚宣布Rollup是现阶段扩展以太坊的“唯一选择”[6],突出显示了其独特的无需信任安全保证。

ZKRollup(ZKR)是现有的两种Rollup[7]版本之一,另一种是OptimisticRollup(简写:OR)[8]。两种方法都有其取舍(参见详细比较[9])。这是主要的实际差异:

安全-即使使用单个验证者,ZKRollup也非常安全,因为它们依靠纯数学,而不是进行持续的经济激励活动来确保资金安全。与ZKR相比,OptimisticRollup具有强大的反网络效应:其安全性与锁定价值成比例地降低。与ZKR相比,OptimisticRollup需要控制资本上限才能安全地防御对L1的高度合理攻击.只要以太坊仍然是PoW链,就无法缓解。

最终确定性。ZKRollup的最终确定性时间(分钟)短,因此支持资本快速退回到L1(L1:第一层,即以太坊自身网络)。相反,OptimisticRollup被迫在快速退出和资本效率退出之间进行选择,但不能两者兼有。大多数研究人员认为,OR至少需要一个星期的争议延迟时间。这对于与L1上的合约(至少将在最初)继续在生态系统中发挥重要作用的合约的互操作性非常重要。

可编程性-通过OptimisticRollup支持完全的EVM兼容性更加容易。通常认为OR方法是将现有以太坊智能合约引入L2(L2:二层网络)的唯一可行方法。但是,这种情况即将改变。

ZKRollup中的智能合约?

直到最近,在ZKRollup中支持任意用户定义的智能合约还是一项极富挑战性的任务。但是这些天来,在零知识证明领域中事情发展很快。2020年带来了几项突破,最终使之成为可能:MatterLabs引入了Zinc编程语言和对SNARK友好的ZincVM,并实现了以太坊的递归PLONK证明验证[12]。这些技术的结合将推动zkSync上的实现智能合约。

ZincVM如何工作?

合约以Zinc编程语言编写并编译。编译器输出是双重的:

Zinc虚拟机的字节码。

合约的SNARK验证密钥。

ZincVM字节码+验证密钥可以完全无许可的方式部署到zkSync网络。合约将在L2中被分配一个新地址。每当用户与该合约进行交互时,zkSync的验证程序将执行ZincVM操作码并产生对交易有效性的零知识证明–友好的SNARK。ZincVM的特殊设计使其成为可能。然后将由Rollup块电路针对已部署的验证密钥来递归验证该证明。然后,以太坊上的zkSync智能合约验证区块证明,以授权状态转换,所有交易状态转换可以在一个区块快速的验证。

因此,zkSync上的Zinc智能合约继承了有效性证明的严格安全保证。

如何为zkSync编写智能合约?

目前,必须使用Zinc编程语言编写ZincVM的智能合约。查看最新版本的ZincBook[13],你将找到完整的入门指南和完整的开发人员参考。我们期待你在ZincGitter聊天室[14]中提出的问题和反馈。

Zinc目前处于封闭开发Beta版。如果你有兴趣为你的项目尝试,请与我们联系[15].

Zinc与Solidity/Vyper有何不同?我可以移植现有的源代码吗?

Zinc遵循简化的Rust语法,但它

猜你喜欢

微信二维码

微信