区块链技术博客
www.b2bchain.cn

给初学者的 Layer 2 指南

第15662篇文章给初学者的 Layer 2 指南,说明解释了给初学者的 Layer 2 指南,是很好的区块链入门技术文章网站,提供了相应的代码的进行解释,并且把原理说的很清晰

在密码学货币行业,每当牛市开启,就会有铺天盖地的虚假消息。许多侧链项目会误导用户相信它们是名正言顺的 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 方案出现,才真正解决了这些棘手的问题。rollup 要求用户退出时所需的一切数据都能在 Layer 1 上获得。每当 Layer 2 上的状态变化时,rollup 运营者都会在 Layer-1 上披露导致本次状态变化的事务数据。因此,Layer 2上的执行和 Layer 1 上的数据更新是同步的。

rollup 方案通过数学方法(ZKRU)或密码学货币经济(ORU)保障来确保所有相关参与方都是诚实的。如果 rollup 运营者消失或开始捣乱【滥发信息、审查或(在 optimistic rollup 方案中)实施欺诈】,用户总是可以使用 Layer 1 上的数据来安全地取走资金。

这些数据都存储在以太坊 Layer 1 上的 rollup 合约中,因此用户唯一需要信任的就是 Layer 1 会诚实地执行这些合约(其它 Layer 1 合约也采用同样的信任假设,如 MakerDao MCD 和 Aave 等)。

备注 1:其它 Layer 1 链,如 NEAR、Polkadot 和 CosmosHub 等,也可以成为以太坊的 rollup。它们只需要创建一个遵守 rollup 设计模式的桥梁,并将必要的数据发布到以太坊上,就像其它 rollup 所做的那样。

备注 2:ZK Rollup 方案采用有效性证明来证明 rollup 状态更新的正确性。每当 rollup 状态更新,有效性证明都会在 Layer 1 上验证。因此,这类方案可以杜绝欺诈行为。但是,数据还是要发布到链上。这样一来,如果 rollup 运营者消失,用户依然能够使用数据来自行提交取款请求。

备注 3 :比特币可以有 Layer 2 吗?不行。比特币缺少编程元件和状态管道系统,无法创建复杂的 Layer 1 合约来处理争议和/或验证有效性证明 3 。当然了,你也许听到过,使用某某比特币侧链无需放弃代币所有权之类的说法,千万别信这些虚假营销 4 。

“那闪电网络呢?” 闪电网络仅仅在理论上是 L2。但实际上,普通用户几乎都要信任一个第三方来监控整个系统(原因见上文关于状态通道的部分),也就是说实践中它并不是 L2。

Rollup 是唯一可以保证用户高枕无忧的 Layer 2 可扩展性方案,因为资金出口被以太坊 Layer 1 牢牢控制住了。

本文要点:

  • 目前,凡是宣称 tps 超过 2000 并以可扩展性项目为卖点的链都很可能是侧链,需要用户作出一些未公开的信任假设。

  • 等到 Eth2 数据分片上线后,Rollup 的 tps 可能会达到 1 万以上。这类方案对数据的需求量很大。

  • Rollup 是唯一不需要用户做出额外的信任和/或活性假设的 Layer2 可扩展性解决方案。

  • 侧链之所以存在至今,是因为这类方案可以在 1 小时内构建出来,通常是为了募集资金并发行代币。

  • 在使用一条链之前,请检查资金出口以及你必须做出的信任假设,从而(a)确保这条链是安全的,以及(b)你可以安全取回资金。项目方通常会使用很多营销话术和荒谬的论调来掩盖项目为提高性能而在安全性方面做出的权衡。

  • 其它 Layer 1 链可以充当以太坊的 rollup,它们只需要遵循 rollup 的设计模型,并将必要数据发布到以太坊上即可。

  • 没有活性假设的 Layer 2 无法构建在比特币上,因为它缺少必要的编程元件和状态管道系统来获得 Layer 1 的安全性保障。

给初学者的 Layer 2 指南

“缺点”一列通过不同颜色反映了问题的存在情况(即,我们可以通过设计在多大程度上规避这些问题)。例如,rollup 的数据要求可以轻易得到满足(正如以太坊 2.0 以及 LazyLedger 等 "数据可得性即服务提供商" 所计划的那样),而无需牺牲去中心化,因为数据是 “冷的”,即,全节点不会执行 rollup 数据,而且磁盘空间的成本很低

作者:Ali Atiia

来源:以太坊爱好者

给初学者的 Layer 2 指南 由www.b2bchain.cn 提供
文章整理自网络,只为个人学习与分享使用
链接地址https://www.b2bchain.cn/?p=15662

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 给初学者的 Layer 2 指南
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们