科普 | 给初学者的 Layer 2 指南
摘要: 本文旨在向初学者说明什么样的区块链才是 Layer2
在密码学货币行业,每当牛市开启,就会有铺天盖地的虚假消息。许多侧链项目会误导用户相信它们是名正言顺的 Layer 2 可扩展性解决方案。本文旨在向初学者说明什么样的区块链才是 Layer2。因此,为便于读者理解,完整性和严谨度不免有所牺牲。
通常来说,Layer 1 区块链具有更高的安全性和流动性,Layer 2 区块链则依赖 Layer 1 区块链为其提供安全性和流动性。
如果你是初学者,尤其是刚入行的小白,请先跟我看一个简单的例子。
假设你在以太坊区块链上有 100 Dai,你的 Metamask 上也显示如此。但是,Metamask 是怎么知道的?因为它通过 Infura(以太坊节点即服务提供商)与以太坊点对点网络进行通信。但是,拥有 100 Dai 究竟意味着什么?它意味着,Dai 合约(运行在以太坊区块链上的、由代码和数据组成的软件)有你的地址(如你在 Metamask 中所见的那样),地址旁边显示的数值是 100。
再回到如何辨别新的区块链是否是 Layer 2 这个问题上。假设有条新的区块链叫作 Macau。出于某种原因(想要买某个东西,以更低的 gas 价格交易或获得某种体验),你想将你自己的 100 Dai 从以太坊转移到 Macau 链上。
你会如何将这 100 Dai 转移到 Macau 上?发送一封邮件给 Vitalik 的 Masternode,让他帮你转移吗?当然不是,你其实是将你的 100 Dai 发送到以太坊区块链上的另一个合约,也就是通常所说的 “存款” 合约(好比赌场的存款窗口)(译者注:实际上是在 Dai 合约内将 100 Dai 从你的账户中转出、然后转入另一个账户;但正如作者所说,这是为了便于理解)。
-
第一步:将 100 Dai 发送到Macau 在以太坊区块链上的存款合约。
Macau 链的验证者/矿工可以看到你的存款,因为他们一直在监控以太坊区块链,尤其是 Macau 的存款合约。这时,其中一位验证者/矿工告诉其他人:“嘿!大家快来看啊!有客户上门了!快干活!” 接着又对你说:“欢迎你,很高兴你能加入我们。这是你的 100 个合成 Dai,是我刚刚挖出/验证的 Macau 区块里的,希望你玩得开心。”
-
第二步:你已经从 Macau 获得了 100 张借据(好比是赌场筹码)。凭这些借据,你可以取回你在以太坊上的存款合约中锁定的 Dai。我们称这些借据为合成 Dai(简称 sDai)。
所谓的 “进入 Macau”,实际上是你所在的某个网站上的一些 Javascript 脚本在与 Macau 的点对点网络通信。这就好比,当你在 Aave 网站上借贷或 Uniswap 网站上交易时,你 “进入了以太坊”:这些前端上的 Javascript 脚本为你创建了借贷/兑换交易,然后通知你的 Metamask。看到 gas 费之后,你嘤嘤嘤了 5 分钟,才点击 “确认” 来签署并广播你的交易。你很熟悉这个流程。
Macau 也是一样。如果 Macau 是以太坊的分叉(就像币安的BSC 🤢 或 Avalanche 的 C-Chain 🤮),那么整个流程实际上也差不多,因为你只需要使用 Metamask,不需要使用专属钱包来签署创建好的交易(因为以太坊/BSC 等区块链均采用相同的地址格式和密码学签名机制)。
-
第三步:将 Macau 上的 100 sDai 用于交易、流动性挖矿、投资等。
假设你玩德州,将 100 sDai 的本金翻倍变成了 200 sDai(这多出的 100 sDai 是你从对手那里赢来的,他们也在以太坊上的 Macau 存款合约中锁仓了一笔 Dai)。
注意了,现在是最关键的部分👏:
这时,考虑到安全性和流动性(或者不在乎那千把块美元的 gas 费),你想取回本息并放到以太坊上。如果你随时随地都能从 Macau 存款合约(再强调一次,这个合约在以太坊区块链上)中取回 200 Dai,且没人能阻止你(只有当满足这两个条件时),Macau 就是 Layer 2 区块链🎉🍾。
如果从理论上来说 Macau 的验证者可以阻止你取回 200 Dai,或直接偷走它们(自己取走),Macau 就不是 Layer 2 区块链,而是侧链🤮。
如果从理论上来说你可以取走更多资金(如 300 Dai),Macau 就不是 Layer 2 区块链。
当我们提及可扩展性方案时,最终总会回到 “谁控制出口” 这一问题上?
如何将以太坊上的存款合约变得更加智能,来防止你、其他 Macau 用户以及 Macau 的矿工/验证者/运营方作弊呢?
可以想象得到,这并非一件容易的事,因为这需要存款合约能够实时了解 Macau 上的资金流向:假设 1 小时前你在 Macau 上玩德扑赢了 100 sDai,你就可以提取 100 Dai 到以太坊上,但是你可能在下一局就把这笔钱输掉了!因此,合约要能了解所有这些情况,以及 Macau 的最新状态。
状态通道和 plasma 等早期解决方案的做法是:将欺诈声明和争议解决逻辑编程到 Layer 1 上的存/取款合约中。但是,它们都给用户造成了沉重的负担,例如:
-
用户必须时刻在线监控以太坊上的 Layer 1 合约,以便挑战/制止/惩罚威胁其资产的恶意取款行为。 -
用户必须存储提出争议所必需的数据。在状态通道 1 方案中,这个数据通常是对手方的签名,用来证明通道中的状态变化(例如,“Alice:我保证向 Bob 支付 10 Dai” 或 “Charlie:我保证将车移动到棋盘上的 H5” )。 -
只针对 plasma:用户容易受到两方面影响(a)需要存储的数据大量增加,因为用户所需数据是 plasma 链全局状态的一部分,而不只是状态通道的对手方的数据 2 ,(b)数据扣留攻击(data withholding attack),即,plasma 运营者(区块生产者)试图进行恶意取款,同时扣留用户发起挑战所需的数据。这进一步提高了 Layer 1 上取款安全性逻辑的复杂性。
正文结束🤝。
Rollup 是唯一可以保证用户高枕无忧的 Layer 2 可扩展性方案,因为资金出口被以太坊 Layer 1 牢牢控制住了。
说回侧链:
一些骗子会忽悠你说侧链就是 Layer 2 方案,更有甚者还会宣传说他们的侧链比 rollup 更安全。然而,说到底,这只是一个很简单的问题:资金出口由谁控制?在 rollup 方案中,资金出口是受到控制的,并由以太坊 Layer 1 的 EVM 保护。
本文要点:
-
目前,凡是宣称 tps 超过 2000 并以可扩展性项目为卖点的链都很可能是侧链,需要用户作出一些未公开的信任假设。 -
等到 Eth2 数据分片上线后,Rollup 的 tps 可能会达到 1 万以上。这类方案对数据的需求量很大。 -
Rollup 是唯一不需要用户做出额外的信任和/或活性假设的 Layer2 可扩展性解决方案。 -
侧链之所以存在至今,是因为这类方案可以在 1 小时内构建出来,通常是为了募集资金并发行代币。 -
在使用一条链之前,请检查资金出口以及你必须做出的信任假设,从而(a)确保这条链是安全的,以及(b)你可以安全取回资金。项目方通常会使用很多营销话术和荒谬的论调来掩盖项目为提高性能而在安全性方面做出的权衡。 -
其它 Layer 1 链可以充当以太坊的 rollup,它们只需要遵循 rollup 的设计模型,并将必要数据发布到以太坊上即可。 -
没有活性假设的 Layer 2 无法构建在比特币上,因为它缺少必要的编程元件和状态管道系统来获得 Layer 1 的安全性保障。
优点 | 缺点 | 是 Layer 2 吗? | |
---|---|---|---|
Plasma | 吞吐量(通用计算) | 客户端数据要求高、取款等待期、活性假设、来自运营者的数据扣留攻击 | 技术上是的,但实际上不是 |
状态通道 | 速度、客户端数据要求低 | 活性假设、取款等待期、资金效率低、通用计算很难/无法实现 | 几乎是 |
Optimistic Rollups | 受 Layer 1 保护 | 取款等待期、数据空间需求量大 | 是 |
ZK Rollups | 受 Layer 1 保护 | 数据空间需求量大 | 是 |
侧链 | 不适用 | 需要托管 | 不是 |
(完)
原文链接:
https://gourmetcrypto.substack.com/p/layer-2-for-beginners
作者: Ali Atiia
评论(0)
Oh! no
您是否确认要删除该条评论吗?