IMI:千层蛋糕:Layer-2 指南

大家好?

我是Zac,Aztec的CEO。我们发明了Plonk这种通用型的ZK-SNARK技术和zk.money,这是世界上首个隐私rollup项目,也是最近部署至以太坊主网的其中一个L2协议。

随着越来越多Layer-2团队将其技术部署到以太坊主网上,不断将扩容以太坊的愿景转化为现实,Layer2上的风景变得让人越来越着迷。

但如果用户还没有融入到这个生态中,并且还没搞懂Layer-2相关的术语,那么用户就有可能会踩雷了。

令人失望的是,大多数人解释Layer-2解决方案都是因为与其的利益相关,并且会偏向某个特定的技术(i.e.没错,就是他们的协议所使用的那种技术!)

那我和他们有什么不同呢?完全没有!但至少我坦率言之,而不是假装公正,对吧?

我将尽我所能公平地概述。基于区块链的密码学/扩容方案的世界很小,因此每个开拓其边界的团队都值得我们尊重。所以我想我们应该参与其中!

什么是L2,为什么它这么重要?

Eth1.0的交易吞吐量有限,导致了极高的交易费。

ETH交易费主要来自:

状态存储变更的费用

交易数据的费用

计算的费用

Layer-2解决方案则将上述一项或多项工作委托给一个构建于以太坊之上的次级网络。

一般来说Layer-2有两种类型,每一种都有自己的安全要求和取舍:optimisticrollups和zkrollups。而Aztec定义了第三类:隐私rollup。

OptimisticRollups

一个optimisticrollup就像是微型版本的以太坊,它自己作为一个网络也能承载智能合约和交易。

Optimisticrollup会定期将交易区块广播至Layer-1的一个智能合约中。这些“区块”包括区块中每一笔交易的完整交易数据,除此之外什么也没有。Layer-1上的智能合约不执行任何计算或进行任何存储更新。这大幅减少了发布一个区块的成本。

之所以称之为乐观(optimistic)的rollup,因为该方案假设默认情况下每一笔交易都是有效的——Layer-1上的智能合约不会直接检查其有效性。

相反,如果有用户认为某笔交易不正当(如,双花交易),他们可以发布一个“欺诈证明”。而这时,Layer-1上的智能合约就可以利用rollup发布的区块数据来验证那些涉嫌欺诈交易的有效性。

该操作成本非常高,但只有在怀疑有不正当行为时才必须这样做。

如果作恶行为坐实了,那么发布该optimisticrollup区块的实体(通常称为验证者)将丢失一些他们所质押的加密货币。

Optimisticrollups依赖于这种经济共识来确保交易是正当的。

Optimisticrollups的提款等候期时间通常比较久(比如,一周)。这是因为,一旦某笔交易被发布至rollups中,用户需要等待是否有人指控其交易无效以及有无欺诈证明被发布至网络中(这就像婚礼中牧师问“有人反对吗...”时出现的令人尴尬的沉默)。

等待欺诈证明的时间会大幅减缓提款时间

Optimisticrollup中执行交易的主要成本是将交易数据发布到链上的费用。所有rollups都面临这个数据可用性问题,不管是optimisticrollup还是其他的rollup。为了防止自己的资金被冻结,用户需要拥有权限以访问rollup的所有交易数据。要么将这些数据发布在Layer-1上,要么需要用户额外的信任假设(比如,相信一些侧链会允许用户访问这些数据)。

在我撰写本文时,如果你所使用的rollups没有将其交易数据发布至链上,这意味着你只能祈祷你所依赖的中心化服务商不会冻结你的资金了。

优点:

功能丰富。可以复制Eth1.0的架构并支持只能合约。

与zk-rollups相比,更容易构建和部署

缺点:

提款退出时间较长。从交易执行到交易被视为‘安全有效’(即无欺诈证明提出)需要等待约一周的时间。

退出时间缓慢的问题可以借助承保人来缓解(就是那些收取少量费用,提供L1资金流动性的一方,旨在让用户实现快速提款)

ZKRollups

由二级网络处理计算和存储。

L2将交易数据广播至主网,并提供有效性证明——这是一种数学证明,证明交易是有效的。也就是说,将L2上的批量交易汇总成一笔大交易,并发送至L1某个智能合约中。

zkRollups中的前缀“zk”代表着“zeroknowledge”(零知识)。然而,zkRollups不提供隐私保护——所有交易都默认公开,像optimisticrollups一样。之所以称之为“zk”,是因为这种有效性证明通常是由零知识证明系统生成的(例如,ZK-SNARK或ZK-STARK)。

这样做的好处在于,以太坊主网上就少了存储项更新和计算的开销。没有必要乐观地假设交易是有效的,如果证明是有效的,就可以确定交易是有效的。

这意味着zkRollups的提款时间比optimisticrollups要快许多,并且需要的信任假设也更少。

而房间里的白象是,零知识证明给一笔交易增加了惊人的计算开销。

为计算创建一个零知识证明比直接运行该计算要慢大概100万倍!这时一个粗略的估计,会根据所涉及的计算而有所不同,但对于在Solidity智能合约中的计算类型来说,这个估计是准确的。

zkRollups通过将生成证明委托给具有大量计算资源的第三方“rollup提供商”来处理这个问题。用户将依赖这些第三方服务商来为他们创建交易。Rollup提供商可以审查或者抢跑交易,就像以太坊矿工可以做的那样。所需的算力越多,能够作为rollup提供商的主体就更少了,因此我们必须要从协议架构就充分解决审查问题。

当需要将智能合约移植到L2时,高昂的计算开销给我们带来了一些难题。完全兼容EVM是我们的目标,想要达到这个目标,就必须解决这个100万倍的减速问题。EVM对SNARK极其不友好,因为字长是256-位,并且原生支持SHA3和其他SNARK-不友好的哈希算法。即便将计算证明委托给拥有大量计算资源的第三方也可能不足够。一种可能的解决方案就是,通过FPGAs或者ASICs把zkSNARK证明器算法直接写到硅中。Rollup提供商将需要这种硬件来创建证明。

创建zk证明比运行一个普通程序要慢得多。我们研究的Plonk和Plookup将SNARKs的速度提高了一个数量级,但是与optimisticrollups相比,zkRollups仍然存在性能问题。

通常,SNARK和STARK编程语言不得不适应其底层证明系统的低效率。这两种语言通常难以实现可变长度循环和动态内存访问(如动态数组和向量)。我们最新的Plookup研究中缓解了其中一些问题,但并非全部。

这意味着zkRollup可能会要求开发者将其合约移植到自定义语言中(例如Starkware的Cairo语言)。

对于那些不旨在实现完全EVM兼容性的zkRollups来说,有一个好处就是交易更加便宜。如果无需遵循EVM语义,那么就有可能减少每笔基本交易的广播数据量。Hermesnetwork就是这样做的。

优点:

交易成本可能比optimisticrollups更便宜

不需要欺诈证明,提款时间更短

缺点:

与optimisticrollups相比,添加功能速度更慢

依赖于使用自定义硬件的第三方来生成证明

可能需要功能有限的自定义语言

隐私Rollups

Aztec已于2021年3月在主网上线了隐私rollup。用户可以将ETH封装到一个隐私屏蔽罩(privacyshield)中,并通过我们的在线隐私钱包zk.money发送隐私交易。

隐私rollups的技术与zkRollups的非常相似,但他们的用途完全不同。隐私rollups旨在为L2用户提供强大的隐私保证。用户匿名持有资金。当执行交易时,发送者和接收者都是匿名的,并且连转账金额也是加密的。

为此,我们使用了最先进的零知识证明系统Plonk。我们在2019年发明了Plonk,它很快便成为在区块链上开发零知识证明的团队中的行业标准。

在设计上实现隐私需要一个与zkRollup截然不同的rollup架构。我们采用的方法为“隐私优先”,因为我们知道,如果想要将公开的L2改造为拥有可编程的隐私性,那么往往需要牺牲用户体验或者激进地重构整个协议。

当前基于以太坊的隐私解决方案是混币器(mixer)。混币器可用于匿名化用户的资金数额,但几乎没有其他用途。我们的隐私L2的完整版本将包括更多功能:

完全可编程的隐私型智能合约。隐私货币将有更高级的交易逻辑

NFT的隐私所有权

可以完全隐藏NFT的属性,仅为该NFT的所有者可见

反和KYC检查可以直接通过编程写入隐私代币/dApps中(例如,KYCtokens——用户可以在无需知道他们真实身份的前提下与可信任的对手方进行交易)

隐私性DeFi!这是个很广泛的主题,需要专门写一篇文章来介绍(很快就会发布出来了!)

只有一开始就把隐私放在首位,才有可能获得这些好处。协议的事务和状态模式也必须设计成与隐私特性相兼容。

优点:

实现隐私交易。用户的金融活动不会被第三方分析

Rollup提供商也不能审查或者抢跑用户的交易。对那些提供商来说,每一笔交易就像一串随机数字

不需要欺诈证明,提款时间很短

不需要第三方执行计算,用户就可以单方面地提款

缺点:

比公开的L2贵(但比主网便宜),直至数据可得性方案/Eth2.0推出

用户必须在本地构建隐私交易zk证明,不能委托给第三方。因而zk证明系统必须快如闪电

由于受到客户端构建证明性能的限制,隐私rollups添加功能的速度比zkRollup和optimisticrollup要慢。可以实现可编程性,但是实现完全兼容EVM还需要一段时间。

状态模式不同。价值必须像比特币那样以UTXO‘支票(note)’表示,而不是通过以太坊的账户模型表示。当然,可以在应用程序中将其抽象表示出来。

在喧闹中寻求信号

L2领域竞争激烈,想要在同行之前发布解决方案并且收获大批用户需要顶住极大的压力。

这可能会出现一些偷工减料的方案,并且需要添加额外的信任假设,而这些对用户来说是模糊的。

目前最大的问题就是数据可用性问题。

如果L2没有将其交易数据发布至链上,L2的管理者就有可能冻结用户的资金。

每个L2团队都正努力地开拓当前扩容解决方案技术的边界。虽然这值得敬佩,但他们很有可能利用一些技术黑话来隐藏协议的缺陷。

如果用户正在考虑使用L2,那么应该判断某个方案能不能充分解决下列问题:

该L2如何获得数据可用性?如果其交易费比以太坊上普通的转账费用低20倍以上,那么他们可能没有将所有数据广播至链上

用户可以仅凭借发布至以太坊主网上的信息单方面从L2中提款吗?

该协议有无公开的技术描述,以供第三方验证呢?

此外,对于zkRollups和隐私rollups,用户还需要考虑以下问题:

链上数据是否可证明有效?所有这些数据都会作为公共输入发送到rollup的电路中吗?

该L2依赖于集中式计算集群来创建rollups吗?如果是这样的话,他们有什么计划来防止审查和抢跑?当完全去中心化时,可能会有多少rollup提供商?

证明创建算法公开可见以及可审计吗?

未来的图景

接下来的一年将是L2领域里非常激动人心的时刻。无数协议将正式在主网部署,该行业里多年的研发与工程工作将迎来最繁荣的时刻。

对于Aztec的隐私rollup来说,我们关注的重点是将可编程的隐私智能合约带给大家。我们的Plonk和Noir编程语言旨在将高级程序编译成高度优化的ZKSNARK电路,这些电路的速度足够快,得以在浏览器中构建证明。该项技术将成为Aztec3.0rollup架构的基石,用户将可以使用Noir自定义电路。

通过将可编程隐私与扩容结合,我们为推动web3技术成为主流添加了最后一个缺失的环节。最终,web3将能够与传统的web2技术在同一平台上竞争,并且以能否提供强大的隐私保证作为标准。我们希望能够培育一个繁荣的隐私加密货币和NFT生态系统,能够以保护隐私的方式与更多DeFi协议和更多传统金融服务进行交互。

我们已经推出了zk.money,向大家证明这并不是什么疯狂的未来技术。我们已经开发了一些关键技术,以构建这个雄心勃勃的项目,现在我们要开始努力工作以实现我们的愿景。

来源|?aztec-protocol

作者|Zac

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

TUSDNGU:ZD上线FNGU的公告

尊敬的用户: ZD将于2021年5月26日17:00开放FNGU/USDT交易对,币种充值提现将于2021年5月26日12:00开启.

[0:15ms0-5:584ms