Web3系列公益课回顾 以太坊和Layer2笔记

Moledao
媒体专栏
热度: 17750

Web3系列公益课回顾 以太坊和Layer2笔记

Moledao和OGBC联合举办的Web3系列课终于在2023年1月16日正式开始啦!第一周为Web3基建之周,内容涵盖了区块链基础,以太坊和Layer2,Layer0,存储。

今天带大家回顾2023年1月18日Neil Han导师的”以太坊和Layer2“课程!课程录屏已经上传Moledao的Bilibili:

第一周:基建之周 | 以太坊和Layer2

https://www.bilibili.com/video/BV1Z24y1h7Wu/?spm_id_from=333.999.0.0&vd_source=8497d6b38e91681ca1de4fd1c2530a4c

那下面我们就一起来学习”以太坊和Layer2“课程的笔记吧!

导师介绍

Neil HAN, Reddio Founder&CEO 前Twilio亚太第三名员工,带领团队4年时间实现亚太营收30倍增速,前PingCAP/TiDB海外商业化第一名员工,亚太及欧洲区GM。

Neil 导师2021年底离职创办Reddio,Web3基础设施公司,以新加坡为总部面向全球开发人员提供了解决以太坊扩容的PaaS服务,让他们以更高并发、更低Gas Fee、更安全快速地将资产上链,Reddio是Paradigm投资的亚太第一家Infra公司。

Neil 导师同时也是天使投资人,专注投资美国SaaS公司,是growrk.com, getbean.com, mynurse.ai 和mileauto.com 等公司的天使投资人。

Web3

学习收获

在本次课,Neil导师讲解了以太坊及其局限性,侧链,Layer2扩容方案,Layer2的三难选择,技术栈的进化等。

Web3

01 以太坊及其局限性

为什么是以太坊?即便是在2022年状态不是特别好的情况下,以太坊在整个生态里的霸主地位依旧没变。同时,2022年主要的NFT交易都是发生在以太坊上。以太坊是进入区块链行业不得不看的链。但是以太坊有两个很大的局限性限制了发展:

第一:以太坊要做任何操作,都会产生Gas Fee,而且Gas Fee很高

Web3

上图中,GAS为计量单位。在转账过程中将会产生21000个GAS。根据交易发起人是否需要交易尽快处理,GAS的价格会在一个区间内波动。以一个GAS为100个GWEI为例。GWEI是一个计量单位,等于10的-9次方的ETH。所以在上图所示的转账过程中,Gas Fee即为0.0021ETH。假设ETH的价格为$1800,这笔转账就花费了$3.78。

需要注意:这个Gas Fee不是恒定不变的,如果有交易发起方对交易的确认很急切,Gas Fee就会增加。这是因为矿工的竞价机制,即谁出的Gas Fee高,就会先选谁。因此急切的交易发起方就会出更高的Gas Fee。在2021年曾经发生过最高Gas Fee到$150做了一次NFT的交易的情况,这个金额很夸张,如果所有交易都如此昂贵,整个链上交易系统几乎无法使用。

第二:可扩展性

Web3

由上图我们可以看到,以太坊的TPS大概为20笔/秒。但是相比VISA的24000TPS还是太少了。

Web3

因为有此局限性的存在,中心化交易所只有通过中心化的方式来处理交易。关于这点,Duke导师在区块链基础的课程中给大家做过详细介绍。但是这种方式就与Web3的理念背道而驰,也发生过FTX暴雷这种恶性事件。

Web3

以太坊自己当然知道这个问题,这是以太坊的产品路线图。以太坊去年从POW转到POS,主要是解决了耗电的问题,矿工的工作被打消掉了。这样的改变很大程度上节省了资源,省去了整个以太坊生态里99%的电量。并不能有效地提高TPS和有效降低Gas Fee。所以暂时以上两个限制并没有很好的改观。而之后的Data Sharding能比较好的解决这两个问题,但在这之前仅靠以太坊本身就没办法解决了。

02 区块链拓展

Web3

基于以上两个局限性,业内在区块链扩容方面做过各种不同尝试,以上是罗列的各种不同方案。以下我们针对以太坊的扩容做重点解释。

2.1 侧链

Web3

侧链比较有代表性的是Polygon的PoS链,他所做的事情是:既然以太坊的Gas Fee高,而且处理能力有限,那就新建立一条链,这条链里,所有节点、共识和安全都由链本身控制。如果以太上的资产想转移到侧链中,首先资产要锁在属于Polygon的以太坊的钱包里,然后在侧链上生成对应的代币到侧链上对应的钱包。从侧链取回代币的流程类似。

此方案中,侧链要证明这笔钱是确实存在的,利用了一个叫做Merkle Proof的证明机制。

2.1.1 Merkle Proof

Web3

Merkle Proof包括一个数据块,Merkle Root,以及从数据块到根路径上的所有Hash组成的"分支"。阅读证明者可以验证给定数据块的Hash(至少对于当前分支)以及到Root路径上的所有节点的Hash的一致性,并最终验证给定的数据块是否真正在树中的节点上。这种方式在区块链被大量使用。

2.1.2 优缺点

侧链解决方案的好处在于:

  • 因为相对比较中心,所以可以用高性能机器来提高交易吞吐量。
  • 交易手续费是由侧链控制,所以交易Gas Fee会比较低。
  • 交易的私密性可以被保证。因为数据被侧链控制,所以可以利用一些手段将数据隐藏掉。因此可能一些企业会选择侧链作为上链的解决方案。

但是缺点同样突出:

  • 最大的问题就是安全性问题,因为整个安全都是由第三方来中心化控制,比如Polygon PoS就是由Polygon控制安全。
  • 跨链桥是由相对比较少的节点来验证,这样容易被黑客攻击,历史上也发生过无数次黑客攻击事件。

Neil导师并不认为侧链是Layer2,因为他的安全性不是借助以太坊,而是侧链依赖于自己的安全性。因为继承了以太坊的安全性,Layer2才能被称为Layer2.

03 Layer2扩容方案

所有Layer2的扩容方案,都是做是将大部分交易放到Layer2上做链下计算,这样只需要把整个交易状态放到Layer1上做确权就行了。这样Layer1的性能就被优化了。

3.1 State Channel

Web3

State Channel是个相对早期的Layer2扩容方案,方法也比较简单粗暴。我们可以看到上图的上半部分,Player1和Player2之间可能发生很多笔交易。但是对于Layer1来讲,过程并不重要,最终结果才是最重要的。在这两个人的交易发生之前,这两个人都要用私钥登陆,然后就可以开启这个State Channel。Channel开启时,两个人都必须在线,直到所有交易完成,Channel关闭。所以整个交易在Layer1上只记录了开始和结束的状态,节省了大量计算资源。

但是State Channel的缺点在于:

  • 交易双方都要用私钥登陆。私钥一直暴露在链上可能被攻击。
  • 交易双方要一直保持登陆,否则channel将自动关闭。
  • 交易的资产在交易开始时就要被锁住,所以在交易期间就不能挪作他用。
  • 不能运行智能合约。

但这种模式对比特这种没有合约功能的链反而比较合适,Payment Channel被用在比特币的扩容,也是lightning network运转的基本原理。

3.2 Layer2架构

Web3

Layer2主流方案里可以分为数据链上和链下存储。证明也可以分为两种,一种是有效性证明(Validity Proof),一种是欺诈证明(Fraud Proof)。这也引申出了不同的解决方案。

3.3 欺诈证明(Fraud Proof)

Web3

验证者从Layer11合约下载交易数据后,可以在本地重建(Layer2状态的)merkle tree。验证者可以通过比较本地和合约的merkle root(状态根)确认是否存在作假行为。如果发现作假,验证者需要向Layer1合约提供merkle proof,也就是图中的绿色部分,从而发起挑战。

3.4 Plasma方案

Web3

Plasma是Layer2的一种方案,其基本原理是操作通过对应智能合约处理,然后通过操作员(Operator)将交易放在子链上。不同的子链会处理不同的事情。这样就能把很多操作放在不同子链上。为了确保安全,当用户想把子链上的资产转移到Layer1上,Plasma预留7~14天,让欺诈证明节点来进行挑战。

这种方案的好处:

  • 可以将资产转移给任何人
  • 由主链保障安全

缺点在于:

  • 取钱操作需要7-14天的审核,这段时间预留给欺诈证明节点进行验证。
  • 不能运行任意智能合约,因为智能合约在一开始就已固定且不能更改。
  • 只有Merkle roots被记录在了主链上,所以安全性会有一定的折扣。

3.5 Rollups方案

Rollups的实现

Web3

首先在Layer1上要写一个合约,合约的目的是将Layer2上所有要打包的操作生成一个Merckle root,然后把这个Merckle root状态放到Layer1中。一旦打包的操作产生变化,这个Merckle root就会改变,需要通过Layer1中的合约对状态进行更新。如果操作产生问题,有两种方式来证明操作是否有效。所有Rollups操作都是基于以上逻辑来实现的。

主要派系

针对Layer2上交易的有效性证明,现在有两个主要派系,一个是Optimistic rollups,另一个是zkRollup。目前Optimism是全球锁仓量最大的。但是它的一个很大的问题,因为是利用欺诈证明方式,所以不能很快地将资产取出来。zK-Rollup是更好的解决方案,但是它现在可部署合约的方案还没有完全成熟。

Web3

Optimism如果想取款,需要把数据全都下载下来然后跑Merkle tree,然后验证欺诈证明,非常费时。而且机制中有个悖论,就是跑欺诈证明的节点没发现欺诈,那节点挣不到钱。但是有欺诈的话,这条链就会变的非常慢。

Arbitrum做了个小改进,就是不需要把所有涉及到交易的数据都下载下来跑,它利用二分法,只需要证明特定节点的结果有效就行。但还是会花费大量时间在欺诈证明上。

3.5.1 zK-Rollup

zK-Rollup中有个非常重要的概念叫零知识证明(zero-knowledge proof)。我们可以用餐馆收据的例子来简单理解。

Web3

餐厅收据中的具体项目其实大多数人是不在乎的,一般客户只是简单的把每个菜的费用做个加和跟收据中的总账做个对比来验证。所以可以在不知道细节的情况下证明效交易有效。这个只是对零知识证明一个非常生活化的比喻,具体原理大家可以去好好研究一下。

Web3

所以在zK-Rollup中proof的速度很快,大概只需要几百毫秒,可以实时验证,大概只需要几分钟就能在Layer1上做确权。这种革新方案被很多人看好,包括V神。这种方案可以大大提高Layer1的效率。比如StarkEx可以让Layer1上一个区块的NFT存储量从150个提高到一百八十万个,这样在Layer2上发NFT几乎就不用花Gas Fee了。

Validium方案

一些相对固化的操作,比如NFT转移,被转化为标准合约。再将这些操作通过zero-knowledge proof在Layer1上证明。因为数据放在Layer1上永远都受以太坊TPS的局限,所以一些数据放在线下或者Layer2上就是更高的方案。虽然对于安全性有一定折扣,但是对于一些安全性要求没有那么高的项目,却是更好的解决方案。

zkRollup方案

zkRollup则是将Validium的链下存储的calldata全部放在layer1上存储,交易放在Layer2上,再将这些操作通过zero-knowledge proof在Layer1上作证明。

Volition方案

Volition就是将Validium的链下方案和zK-Rollup的链上方案进行一个整合。用户可以自由选择。

StarkEx项目

这是目前最为成熟的zkRollup/Validium解决方案。

Web3

它的Validium处理能力能达到9000个交易每秒,zK-Rollup的处理能力达到2000个交易每秒。在2022年4月,StarkEx一天处理了四百万个交易,创下了有史以来链上交易日处理量最多的记录。

3.5.2 zK-Rollup and zKEVM

StarkEx最大的局限性是不能写合约。以下项目把合约功能加了进来。图中绿色框越多说明对EVM的兼容越好,目前这些方案还没有到可以大规模产线使用阶段,最接近的可能是StarkNet,其他项目还需要几年的时间才能接近成熟。

Web3

EVM兼容虽然能帮助很多已经写了EVM合约的工程师很容易的迁移过来,然而越兼容EVM,性能就越打折扣,以下图表做了详细说明。对于完全兼容EVM的zkRollup,它的性能上线便是以太坊的上限,而从zkRollup原理出发所设计的zkRollup方案,虽然无法很好的兼容EVM,然而它的想象空间巨大。

Web3

3.5.3 Optimistic Rollup 和 zK-Rollup对比

Web3

04 Layer2的三难选择

Layer2的三难选择和以太坊的三难选择并不相同。以下列出了兼顾两种特性的项目和链。

Web3

  • 性能(Performance)
  • 可组合性(Composability):即能不能写合约。
  • 去中心化(Decentralization)

项目方可以根据自己的侧重点来选择相应的方案,比如对于Web3的应用或者游戏,它的逻辑和交易比较固化,在目前看StarkEx便是更好的选择,而对于DeFi等对合约要求比较高的项目方,如果在意性能,Polygon Pos可能是比较好的选择,而对于去中心要求比较高由不在意提现时间长的场景,Optimistic Rollup可能是更加方案。

05 技术栈的进化

有了zkRollup的支撑,我们看到去中心方案的技术栈发生了很大变化。我们以比较有代表性的去中心化交易所dYdX为例,用户在交易所里相对中心化的服务器上做买单和卖单的匹配,然后所有交易都发生在zK-Rollup中。用户使用的是监护钱包,说白了就是资产还是属于用户,随时都能提款。

Web3

下面是Reddio的技术栈,我们通过开发人员熟悉的语言,以API和SDK的方式来服务开发者,让开发者快速的部署ERC20和NFT到以太坊和Layer2 zkRollup上,进而可以更高并发(高达10K TPS)非常稳定的去用我们的产品和Layer2的方案,同时我们也把在Layer2专有的链上语言转化为开发人员常用的API和SDK,从而大大的缩减了开发人员去集成Layer2和以太坊的时间。这样即便不是EVM兼容的zkRollup,开发人员也能很快的使用。如果对Reddio的方案感兴趣,欢迎大家到www.reddio.com来免费测试。

Web3

随着zkRollup的完善,我们将会看到更多完全去中心的全链上DeFi、Web3 App、游戏得以部署和爆发,而Web3的格局也会因此发生很大变化,这也为更多创业者提供了前所未有的机会,期待跟大家一起搭建这样的未来。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:Web3Layer2