投稿
加密货币

一文深绘ETHLayer2将来蓝图

作者:admin 2021-09-20 我要评论

从NFT到GameFi,再到Loot,在市场热潮的几番更迭下,市场对于Layer2的需要已经渐渐加强,伴随Arbitrum主网的上线,愈加...

出处:Medium

从NFT到GameFi,再到Loot,在市场热潮的几番更迭下,市场对于Layer 2的需要已经渐渐加强,伴随Arbitrum主网的上线,愈加多的资金开始投身于Layer2 扩容协议市场,市场又掀起了新一轮的赛道角逐。

虽然现阶段的Layer 2互联网总锁仓量屡革新高,但仍然没办法满足现在市场上资金投入者的需要,而且,目前市场Layer 2热度都是基于Arbitrum、Opitimism等项目的炒热而升温,根本没办法长期持续。基于此,Layer 2热潮会不会成为“昙花一现”也成为了大众比较关注的事情。那样Layer 2技术现在进步怎么样?Layer 2互联网的将来到底是什么样的?而这一个个的疑问,路印协议CTO Steve Guo在一次演讲中给了大家答案。

Steve用容易的方法讲述了Layer 2技术的演进,深入剖析了每一个Layer 2项目的优势和弊端,并且向大家叙述了Layer 2互联网将来的进步方向。以下内容来自Steve的演讲实录。

作者:Frankle

编译:陈一晚风

伴随Layer 2热度的高涨,一个疑问渐渐浮目前大众面前:Layer 2的真的将来到底是什么?

下图则代表了目前市场上对Layer 2的官方概念。但Steve的概念中,Layer 2是资产安全依靠于Layer 1的第2层互联网。所以可以排除掉一些侧链,譬如xDai和BSC。

现在的Layer 2技术可以分为三类技术,最早是State Channel技术,后来又演变为plasma,再到最新的、比较热点的Rollup技术。Rollup主要分为两个策略,Optimistic Rollup和zkRollup。这两种策略中的每一种内都存在着很多项目。

第一个Layer 2技术State Channel的核心思想其实源自BTC的闪电互联网。比如,假设Alice和Bob需要转移资金,并且他们都在链上,那样其本钱会特别高。因此,可以先赞同Alice和Bob先将他们各自的资金存入智能合约。在他们各自资金被存储后,Alice和Bob可以不消耗任何Gas费,无限时地在链下转移资金,然后在所有人退出时用智能合约进行结算,这种过程的核心思想就被叫做状况通道。

虽然这种链下转账的方法确实可以非常快,而且实惠,但它也存在一些问题。第一,它需要两端存入资金,其资金占比特别高。除此之外,它是P2P的。比如,假如A想先与B转钱,然后再与C转帐,则需要打造多个状况通道,这种互动是不可取的。所以,在后来伴随Raiden Network、Celer等技术不断演进,目前的状况通道已经可以是点对中心了。任何想要买卖的人都需要与中心进行买卖,用状况通道进行连接。

但这仍然存在同样的问题,由于中心本身需要存入很多的资金以保证资金周转借助率,因此该策略只可以用于转账/支付的应用。因为状况通道的这部分局限性,也使得它自然而然地演变成了一种叫做plasma的技术,用以解决State Channels的资金借助问题。

plasma在链下提供了UTXO等结构模型。每一个人的转账记录都像BTCUTXO买卖。在plasma链上确认买卖后,plasma将向ETH上的智能合约提交所有Merkle状况,由智能合约记录所有链下状况。最后,plasma依赖测试机制来确保所有链下买卖都正确实行,比如,防止转账被双花攻击。

plasma比State Channel技术更精进的一点就是它解决了资金借助的问题,但同时它也带来了一个新问题。plasma需要至少一周的退出期来确保买卖的最后确认。同时,plasma需要所有人监控plasma链上的所有UTXO买卖。也就是说用户需要自己监控这部分买卖,才能依据这部分历史买卖对买卖问题提出质疑,这也是一般用户所不可以同意的。

因此,plasma也需要自然进化,进而演化为下一个相对热点的Optimistic Rollup技术。Optimistic Rollup从事实上解决了plasma所带来的问题。也就是说,plasma链上的数据最后只不过Merkle树,所以测试起来会愈加困难。

为知道决plasma所存在的问题,Optimistic Rollup将所有链下原始买卖数据,包括世界状况的树,提交到链上,然后其他人都可以依据链上记录的所有原始信息进行测试。

如图所示,Optimistic Rollup允许用户提交世界状况并提交链上原始买卖数据,然后其他人都可以依据这部分数据测试转账是不是有效。这个想法被叫做Optimistic Rollup。

事实上,这个想法已经在现在市场的两个主网项目中达成了。

第一个项目叫做Optimism。这个项目的开发团队事实上是来自plasma,所以Optimism也就理所应当的扩展了plasma的应用场景。此前的State Channel和plasma都只不过用于转账/支付的应用。那样Optimism怎么样扩大转账/支付?

目前市场对于扩大转账/支付的办法是,用图灵的完整编程来兼容链下的EVM指令,如此每一个人都可以直接在链下实行solididity程序。而Optimism的想法则是在链上部署一个智能合约,然后用智能合约同意链下EVM兼容指令的实行,也称为OVM。

Optimism试图做一件事,即保证OVM的字节码可以映射到EVM的字节码,但事实上,这种映射可能只有20个左右的字节码.所以Optimism现在的一个大问题是它没办法达成100%的EVM兼容性。正是由于Optimistic有这个问题,Arbitrum才提出了改进策略。

Arbitrum在Optimistic基础上的一个巧妙改进是,它不是在链上实行EVM比特码,而是概念了我们的AVM字节码,AVM的字节码是一个很精简的子集。如此,当用户测试第一级时,Gas会更低,消耗也会更低。

现在,Arbitrum的转会费大约是Optimism转会费的二分之一。Arbitrum还改进了测试机制,允许用户通过分片进行测试。比如,一个区块中有1000个买卖,但只有一个是错误的。然后就可以用类似二分法的思路,让用户证明第一个512是不是正确,假如正确就测试下一个,譬如256,然后继续用二分法来测试,这就是Arbitrum。但Arbitrum并不可以就此代表Layer 2的将来。

V神曾在年初表示,Optimistic Rollup解决方法短期内最大概兼容EVM,但中长期他更看好 zkRollup。

事实上,zkRollup和Optimistic Rollup的本质不同在于它不依靠任何测试机制,而是即时保证链上清算的最后确定性。zkRollup依靠于一组称为zk证明的数学系统。

zk证明本质上做了一件事,通俗来讲就是在不告诉他们答案的状况下向他们证明你知晓答案。

比如,问题y有一个函数f,我可以依据我的私人秘密x计算y并通过这个函数得到y。最后,我向你开放的是函数f和问题y。但我的x不可以对你说,我想让大伙知晓我知晓一个x来计算y,这叫做zk证明。

如此的表述可能相对比较抽象。下面举一个实质的例子,譬如在下面这张图片中探寻Waldo。比如,我想向大伙证明的是,我知晓Waldo在这张地图上的地方,但我不可以直接对你说地方,所以我可以如此做:找一块足够大的黑布盖住图片,然后在黑布上剪下小数字,然后把小数字显示出来。然后你就会了解我知晓Waldo在这张地图上的地方,但我没向你透露这个地方。这就是zk证明的工作原理。

我证明了一件事,但我没对你说这个秘密。这一组技术听起来有点像黑魔法,其核心技术思想被统称为zkrollup。事实上,zkRollup的核心思想是将所有些世界状况归类为一棵大Merkle树,然后所有些链下买卖本质上只不过改变了一个竞价推广账户的世界状况。

最后用中继系统采集所有些链下买卖,然后将这部分买卖处置后的世界状况树的哈希记录在链上,并记录这部分买卖元数据的买卖信息。与此同时,还提交了一份名为“零常识证明”的证书。只须这个证明在链上得到了验证,就意味着链下的计算已经忠实地处置了所有些买卖信息。这是zkRollup和Optimistic Rollup之间最大有什么区别。

Optimistic Rollup只向链提交元数据和树哈希,而zkRollup还提交zk证明证书,如此它就可以保证最后结算,而不依靠任何测试机制。

Loopring协议于2021年底推出,是世界上第一个主网上的zkRollup。到现在为止,Loopring协议已经历经了3个版本:第一个版本只支持订单簿中的DEX买卖,第二个版本支持转账支付,第三个版本中支持AMM Swaps。而在今年9月初,Loopring协议已经正式发布了目前支持 Layer-2 NFT最新版本。此版本支持NFT在Layer-2上进行铸造、转账和买卖,可以减少整体Gas本钱。

zkSync与Loopring协议最大有什么区别在于用的零常识证明算法不同。Loopring用一组称为 Groth16的算法,zkSync用一组称为plonk的算法。两种算法的本质不同在于是不是有最早的初始可信设置。Loopring是必要的,其改变任何电路的行为都需要一个可信的设置,而zkSync则无需如此做。

Matter Labs事实上经历了两个版本,1.0 和2.0。2.0称为zkporter,1.0称为zkSync。它们之间的主要不同在于,为了进一步降低2.0上的Gas消耗,Merkle树和元数据买卖数据不在链上,而是用像Community pOA的链下proof来保存数据。

但大伙请记住,一旦元数据不在链上,用户资产的安全就没办法真的得到Layer 1的保障。不过如此的系统本质上允许用户做源于己的选择。假如你想安全,请用1.0,假如你想更实惠,请用2.0版本zkporter。同时,Matter Labs现在正在开发一个与EVM兼容的 zkRollup系统。它概念了一种名为Zinc的编程语言。简而言之,Layer 2项目是最后目的是最后成为一个zkEvm。

另一个著名的zkRollup项目是StarkWare推出的StarkEx。

在早期,大众对其并不看好,由于它首次上线时声称它是一个zkRollup,但事实上它并没将应用程序的元数据上链,所以如此的系统不可以称为zkRollup。所以当时V神将其命名为Validium。后来,StarkEx又被扩展到支持向链提交元数据的模式。所以目前也可以将StarkEx称之为真的的 zkRollup。

StarkEx在早期概念了我们的编程语言,从刚开始就想做一个具备可编程性的zkRollup系统。StarkEx概念的语言称为Cairo,其核心思想是允许用户用Cairo语言撰写智能合约。然后它会助你转换成比如EVM字节码,然后在StarkEx的整个zkRollup系统上进行验证和计算。

从上述的Layer 2协议来看,并没完美的Layer 2解决方法,都存在局限性,或者它们没数据可用性。Steve则觉得,最后完全可用的Layer 2互联网应该是zkEVM。

zkEVM是什么?顾名思义,只须开发者用EVM写一个智能合约,就可以在zkRollup种类环境中直接实行这个智能合约的字节代码。它不像目前那样在EVM的虚拟机中实行,而是在一个叫做zkEVM的虚拟机中实行。zkEVM可以保证在字节码实行后,zkEVM可以向Layer 1互联网证明 zkEVM链下实行的智能合约确实被实行了。

对于zkEVM,现在的设计思路其实分为两类。

像Matter Labs的Zinc和StarkWare的Cairo语言,包括另一个名为Hermez的项目,近期也提出了zkEVM。他们的核心思想是自己概念一套语言,然后把这个语言翻译成EVM的语言。也就是说,他们会自己概念一种EVM语言,然后将EVM字节码翻译成我们的EVM代码,本质上在zkEVM中实行我们的字节码。但,这种解决方法非常可能没办法达成100%的兼容性。

另一个新的解决方法是ETH基金会正在进行的一个项目,被叫做“zkEVM”。

它的思路是直接将Solidity代码编译成EVM的字节码,不需要任何翻译,在zkEVM的虚拟环境中直接实行字节码。它的虚拟环境做了两件非常重要的事情。一是证明字节码的实行是正确的,称为EVM证明;二是证明世界状况的修改是正确的。

Steve觉得“zkEVM”解决方法可能是最后的Layer 2互联网。

开发者仅需撰写一套EVM代码就可以在Layer 1上运行,然后也可以在Layer 2上无缝运行。而这个策略是一个zkRollup,可以保证最后结算的即时性。当然,这个解决方法并没那样容易上线。Steve表示,估计再过一年左右应该就能看到一个原型,甚至第一个商业版本。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 本周最值得关注的5种数字货币

    本周最值得关注的5种数字货币

  • OKEx 成立初始资金规模为 1 亿美

    OKEx 成立初始资金规模为 1 亿美

  • 以BTC为例,深度探究数字货币

    以BTC为例,深度探究数字货币

  • 以BTC为例,深度探究数字货币

    以BTC为例,深度探究数字货币