MoleEdu Web3 系列公开课回顾:以太坊和 Layer2 笔记
作者:Moledao
Moledao 和 OGBC 联合举办的 Web3 系列课终于在 2023 年 1 月 16 日正式开始啦!第一周为 Web3 基建之周,内容涵盖了区块链基础,以太坊和 Layer2,Layer0,存储。
今天带大家回顾 2023 年 1 月 18 日 Neil Han 导师的”以太坊和 Layer2“课程!课程录屏已经上传 Moledao 的 Bilibili:
那下面我们就一起来学习”以太坊和 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 等公司的天使投资人。
学习收获
在本次课,Neil 导师讲解了以太坊及其局限性,侧链,Layer2 扩容方案,Layer2 的三难选择,技术栈的进化等。
01 以太坊及其局限性
为什么是以太坊?即便是在 2022 年状态不是特别好的情况下,以太坊在整个生态里的霸主地位依旧没变。同时,2022 年主要的 NFT 交易都是发生在以太坊上。以太坊是进入区块链行业不得不看的链。但是以太坊有两个很大的局限性限制了发展:
第一:以太坊要做任何操作,都会产生 Gas Fee,而且 Gas Fee 很高
上图中,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 的交易的情况,这个金额很夸张,如果所有交易都如此昂贵,整个链上交易系统几乎无法使用。
第二:可扩展性
由上图我们可以看到,以太坊的 TPS 大概为 20 笔 / 秒。但是相比 VISA 的 24000TPS 还是太少了。
因为有此局限性的存在,中心化交易所只有通过中心化的方式来处理交易。关于这点,Duke 导师在区块链基础的课程中给大家做过详细介绍。但是这种方式就与 Web3 的理念背道而驰,也发生过 FTX 暴雷这种恶性事件。
以太坊自己当然知道这个问题,这是以太坊的产品路线图。以太坊去年从 POW 转到 POS,主要是解决了耗电的问题,矿工的工作被打消掉了。这样的改变很大程度上节省了资源,省去了整个以太坊生态里 99% 的电量。并不能有效地提高 TPS 和有效降低 Gas Fee。所以暂时以上两个限制并没有很好的改观。而之后的 Data Sharding 能比较好的解决这两个问题,但在这之前仅靠以太坊本身就没办法解决了。
02 区块链拓展
基于以上两个局限性,业内在区块链扩容方面做过各种不同尝试,以上是罗列的各种不同方案。以下我们针对以太坊的扩容做重点解释。
2.1 侧链
侧链比较有代表性的是 Polygon 的 PoS 链,他所做的事情是:既然以太坊的 Gas Fee 高,而且处理能力有限,那就新建立一条链,这条链里,所有节点、共识和安全都由链本身控制。如果以太上的资产想转移到侧链中,首先资产要锁在属于 Polygon 的以太坊的钱包里,然后在侧链上生成对应的代币到侧链上对应的钱包。从侧链取回代币的流程类似。
此方案中,侧链要证明这笔钱是确实存在的,利用了一个叫做 Merkle Proof 的证明机制。
2.1.1 Merkle Proof
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
State Channel 是个相对早期的 Layer2 扩容方案,方法也比较简单粗暴。我们可以看到上图的上半部分,Player1 和 Player2 之间可能发生很多笔交易。但是对于 Layer1 来讲,过程并不重要,最终结果才是最重要的。在这两个人的交易发生之前,这两个人都要用私钥登陆,然后就可以开启这个 State Channel。Channel 开启时,两个人都必须在线,直到所有交易完成,Channel 关闭。所以整个交易在 Layer1 上只记录了开始和结束的状态,节省了大量计算资源。
但是 State Channel 的缺点在于:
- 交易双方都要用私钥登陆。私钥一直暴露在链上可能被攻击。
- 交易双方要一直保持登陆,否则 channel 将自动关闭。
- 交易的资产在交易开始时就要被锁住,所以在交易期间就不能挪作他用。
- 不能运行智能合约。
但这种模式对比特这种没有合约功能的链反而比较合适,Payment Channel 被用在比特币的扩容,也是 lightning network 运转的基本原理。
3.2 Layer2 架构
Layer2 主流方案里可以分为数据链上和链下存储。证明也可以分为两种,一种是有效性证明(Validity Proof),一种是欺诈证明(Fraud Proof)。这也引申出了不同的解决方案。
3.3 欺诈证明(Fraud Proof)
验证者从 Layer11 合约下载交易数据后,可以在本地重建(Layer2 状态的)merkle tree。验证者可以通过比较本地和合约的 merkle root(状态根)确认是否存在作假行为。如果发现作假,验证者需要向 Layer1 合约提供 merkle proof,也就是图中的绿色部分,从而发起挑战。
3.4 Plasma 方案
Plasma 是 Layer2 的一种方案,其基本原理是操作通过对应智能合约处理,然后通过操作员(Operator)将交易放在子链上。不同的子链会处理不同的事情。这样就能把很多操作放在不同子链上。为了确保安全,当用户想把子链上的资产转移到 Layer1 上,Plasma 预留 7~14 天,让欺诈证明节点来进行挑战。
这种方案的好处:
- 可以将资产转移给任何人
- 由主链保障安全
缺点在于:
- 取钱操作需要 7-14 天的审核,这段时间预留给欺诈证明节点进行验证。
- 不能运行任意智能合约,因为智能合约在一开始就已固定且不能更改。
- 只有 Merkle roots 被记录在了主链上,所以安全性会有一定的折扣。
3.5 Rollups 方案
Rollups 的实现
首先在 Layer1 上要写一个合约,合约的目的是将 Layer2 上所有要打包的操作生成一个 Merckle root,然后把这个 Merckle root 状态放到 Layer1 中。一旦打包的操作产生变化,这个 Merckle root 就会改变,需要通过 Layer1 中的合约对状态进行更新。如果操作产生问题,有两种方式来证明操作是否有效。所有 Rollups 操作都是基于以上逻辑来实现的。
主要派系
针对 Layer2 上交易的有效性证明,现在有两个主要派系,一个是 Optimistic rollups,另一个是 zkRollup。目前 Optimism 是全球锁仓量最大的。但是它的一个很大的问题,因为是利用欺诈证明方式,所以不能很快地将资产取出来。zK-Rollup 是更好的解决方案,但是它现在可部署合约的方案还没有完全成熟。
Optimism 如果想取款,需要把数据全都下载下来然后跑 Merkle tree,然后验证欺诈证明,非常费时。而且机制中有个悖论,就是跑欺诈证明的节点没发现欺诈,那节点挣不到钱。但是有欺诈的话,这条链就会变的非常慢。
Arbitrum 做了个小改进,就是不需要把所有涉及到交易的数据都下载下来跑,它利用二分法,只需要证明特定节点的结果有效就行。但还是会花费大量时间在欺诈证明上。
3.5.1 zK-Rollup
zK-Rollup 中有个非常重要的概念叫零知识证明 (zero-knowledge proof)。我们可以用餐馆收据的例子来简单理解。
餐厅收据中的具体项目其实大多数人是不在乎的,一般客户只是简单的把每个菜的费用做个加和跟收据中的总账做个对比来验证。所以可以在不知道细节的情况下证明效交易有效。这个只是对零知识证明一个非常生活化的比喻,具体原理大家可以去好好研究一下。
所以在 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 解决方案。
它的 Validium 处理能力能达到 9000 个交易每秒,zK-Rollup 的处理能力达到 2000 个交易每秒。在 2022 年 4 月,StarkEx 一天处理了四百万个交易,创下了有史以来链上交易日处理量最多的记录。
3.5.2 zK-Rollup and zKEVM
StarkEx 最大的局限性是不能写合约。以下项目把合约功能加了进来。图中绿色框越多说明对 EVM 的兼容越好,目前这些方案还没有到可以大规模产线使用阶段,最接近的可能是 StarkNet,其他项目还需要几年的时间才能接近成熟。
EVM 兼容虽然能帮助很多已经写了 EVM 合约的工程师很容易的迁移过来,然而越兼容 EVM,性能就越打折扣,以下图表做了详细说明。对于完全兼容 EVM 的 zkRollup,它的性能上线便是以太坊的上限,而从 zkRollup 原理出发所设计的 zkRollup 方案,虽然无法很好的兼容 EVM,然而它的想象空间巨大。
3.5.3 Optimistic Rollup 和 zK-Rollup 对比
04 Layer2 的三难选择
Layer2 的三难选择和以太坊的三难选择并不相同。以下列出了兼顾两种特性的项目和链。
- 性能(Performance)
- 可组合性(Composability):即能不能写合约。
- 去中心化(Decentralization)
项目方可以根据自己的侧重点来选择相应的方案,比如对于 Web3 的应用或者游戏,它的逻辑和交易比较固化,在目前看 StarkEx 便是更好的选择,而对于 DeFi 等对合约要求比较高的项目方,如果在意性能,Polygon Pos 可能是比较好的选择,而对于去中心要求比较高由不在意提现时间长的场景,Optimistic Rollup 可能是更加方案。
05 技术栈的进化
有了 zkRollup 的支撑,我们看到去中心方案的技术栈发生了很大变化。我们以比较有代表性的去中心化交易所 dYdX 为例,用户在交易所里相对中心化的服务器上做买单和卖单的匹配,然后所有交易都发生在 zK-Rollup 中。用户使用的是监护钱包,说白了就是资产还是属于用户,随时都能提款。
下面是 Reddio 的技术栈,我们通过开发人员熟悉的语言,以 API 和 SDK 的方式来服务开发者,让开发者快速的部署 ERC20 和 NFT 到以太坊和 Layer2 zkRollup 上,进而可以更高并发(高达 10K TPS)非常稳定的去用我们的产品和 Layer2 的方案,同时我们也把在 Layer2 专有的链上语言转化为开发人员常用的 API 和 SDK,从而大大的缩减了开发人员去集成 Layer2 和以太坊的时间。这样即便不是 EVM 兼容的 zkRollup,开发人员也能很快的使用。如果对 Reddio 的方案感兴趣,欢迎大家到 www.reddio.com 来免费测试。
随着 zkRollup 的完善,我们将会看到更多完全去中心的全链上 DeFi、Web3 App、游戏得以部署和爆发,而 Web3 的格局也会因此发生很大变化,这也为更多创业者提供了前所未有的机会,期待跟大家一起搭建这样的未来。
06 鸣谢
感谢以下组织对本次公益课程的支持!
赞助方支持:
One Global Blockchain Centre (OGBC)
https://www.ogbc.com/
OGBC 是 Web 3.0 的领先孵化器,他们与新兴的加密货币初创公司合作,建立未来的基础设施。通过利用 OGBC 在加密货币领域的专业知识、网络和资源,公司和项目可以充分发挥其潜力,努力为区块链行业越来越多的用户开发创新和有价值的解决方案。
其它合作方支持:
07 关于 Moledao
MoleDAO是一个区块链开发者社区,供所有区块链爱好者了解区块链的最新动态,并在经验丰富的区块链先驱者和创新者的帮助下成长,为构建 Web 3 生态系统贡献更多创新想法。
我们旨在通过搭建区块链爱好者交流社区、提供区块链项目支持、举办全球黑客松系列活动、帮助项目人才匹配、提供项目赞助和指导,将区块链理念带给每个人并发展区块链生态系统。
我们的愿景是成为一个精心策划的一站式区块链生态系统。无论你是区块链爱好者、区块链开发者、机构还是投资者,都可以在 Moledao 找到适合自己的定位。
更多内容请查看?:Moledao 是谁?在做什么?你能在这儿收获什么