主页 > 最新imtoken官网下载链接 > 公链最大挑战:详解以太坊二层扩容计划

公链最大挑战:详解以太坊二层扩容计划

最新imtoken官网下载链接 2023-01-16 21:31:34

本文约6700字+,阅读(观看)需38分钟

以太坊仍处于起步阶段。 直到现在,它还不是那么安全或可扩展。

对于以太坊来说,2018 年是其底层架构的一年。 许多早期参与者将在今年测试网络的极限,重点是以太坊的扩展。

以太坊仍处于起步阶段。 直到现在,它还不是那么安全或可扩展。 任何与以太坊密切合作过的人都很好理解这一点。 但就在去年,ICO的推广开始给以太坊目前的网络带来不小的压力。 以太坊和 web3 的承诺,一个安全易用的去中心化网络,集成了常用的经济协议,并被 10 亿人使用。 这个概念还没有落地,要等到正确的底层架构完成后才会落地。 完成。

改进以太坊底层架构并扩展其功能的项目被称为扩展解决方案。 这些方案有多种形式,通常彼此兼容。

在这篇文章中,我想深入分析某种扩展解决方案,一种“链下”或“2 层”解决方案。

首先,让我们从总体上讨论以太坊(或所有公共链)的可扩展性挑战。

其次,我们讨论了解决这些扩展挑战的不同方法,并区分了“第 1 层”和“第 2 层”解决方案。

第三,我们将重点关注第 2 层解决方案并解释其工作原理,特别是我们将讨论状态通道、Plasma 和 Truebit。

本文主要致力于让读者全面详细地了解 2 层解决方案的工作原理。 但我们不会讨论代码和具体实现。 此外,我们将专注于理解用于构建这些系统的经济机制,以及分享所有第 2 层扩展技术的一些共识。

1、公链的扩容挑战

首先,重要的是要了解“缩放”不是一个单一的、特定的问题。 它指的是以太坊要被全球数十亿人使用必须解决的挑战。

最常见的扩展挑战是传输吞吐量。 目前,以太坊每秒可处理约 15 次转账,而 Visa 每秒可处理约 45,000 次转账。 去年,Ethereum Kitties 或当前的 ICO 等一些应用程序足以“拖慢”以太坊网络并增加转账费用。

像以太坊这样的公共链的主要限制是每次传输都需要由网络中的每个节点处理。 以太坊区块链上的每一项操作,例如某笔转账、EtherKitties 的诞生、新的 ERC20 合约的执行,都需要由网络中的所有节点执行。 这是设计原则决定的,因为这是保证公链权威性的一部分原因。 节点不必依赖任何其他人来告诉他们区块链的当前状态是什么,他们可以自己告诉。

如何登陆以太坊公链_以太坊链可以转erc20吗_搭建以太坊私有链

这从根本上限制了以太坊网络的传输吞吐量:它不能比我们从单个节点获得的速度更快。

我们可以让网络中的每个节点承担更多的工作。 如果我们将块大小(即块的 gas 限制)加倍,这意味着每个节点将大致加倍处理每个块的工作量。 但这又带来了去中心化的成本问题:节点需要做更多的工作意味着低功耗的计算机(比如消费类电子产品)可能无法在网络中工作,如果算力集中在大功率的计算机上,挖矿变得非常集中。

并且,我们需要找到一种方法,让区块链承担更多的工作量,而不增加单个节点的工作量。

理论上,有两种方法可以解决这个问题:

一、 如果每个节点不同步处理操作怎么办?

第一种方法与我们最初的想法不同。 如果我们构建一个每个节点都不需要处理每个交易的区块链怎么办? 如果网络被分成两部分并且它们仍然可以半自动运行怎么办?

A 部分可以处理一批交易,而 B 部分可以处理另一批交易。 这有效地使区块链的吞吐量翻了一番,因为现在限制是 2 可以同时处理的。 如果我们将区块链分成许多不同的部分,那么我们可以将区块链的吞吐量提高很多倍。

这就是“分片”的想法,这是 Vitalik 的以太坊研究团队和其他人提出的一种扩展解决方案。 区块链分为许多部分,称为分片,每个分片可以独立处理交易。 分片通常被认为是第 1 层扩展技术,因为它是在底层以太坊协议之上执行的。

以太坊链可以转erc20吗_搭建以太坊私有链_如何登陆以太坊公链

二。 如果有比以太坊处理交易更高效的操作怎么办?

这个观点是从相反的方向考虑的:不如提升以太坊区块链本身的能力。 如果我们可以利用现有的能力做更多的事情呢? 底层以太坊区块链的吞吐量是一样的,但我们实际上可以做更多对人和应用程序有用的操作,比如转账、游戏中的状态更新,或者简单的计算。

这是状态通道、Plasma 和 Truebit 等技术使用的“链下”技术。 当然,这些技术都在解决不同的问题,它们都是在“链下”运行,而不是在以太坊区块链上运行,同时也保证了足够的安全性和结果。

这些也被称为第 2 层解决方案,因为它们基于以太坊主网的其他链。 它们不会对底层协议进行改动,它们是基于以太坊的智能合约,同时与链下软件进行交互。

搭建以太坊私有链_以太坊链可以转erc20吗_如何登陆以太坊公链

搭建以太坊私有链_以太坊链可以转erc20吗_如何登陆以太坊公链

2. Layer 2 扩展解决方案是加密经济解决方案

在深入了解特定的第 2 层扩展解决方案之前,了解使它们可行的基本概念非常重要。

支撑公链最基础的能量是数字经济的共识。 通过仔细协调激励措施并通过软件和密码算法保护它们,我们可以创建能够可靠地就系统内部状态达成共识的计算机网络。 这是中本聪白皮书中的主要思想,现在也应用在不同公链的设计中,包括比特币和以太坊。

数字经济共识让我们获得核心主链。 除非出现51%攻击这样的极端事件,否则我们知道链上的操作——比如支付或者智能合约,都会按照写好的代码执行。

2 层解决方案背后的想法是,我们可以使用核心主链作为锚点,作为我们可以在其上添加经济机制的固定点。 第二层的经济机制可以扩展公链的可用性,让我们在区块链下进行交互。 如有必要,也可以以主链为准。

这些区块链层基于以太坊以太坊链可以转erc20吗,并不总是具有与主链运行相同的保证。 但它们仍然可以安全使用,尤其是在最终结算能力降低的情况下,但可以让我们以更低的费用更快地处理交易。

数字经济并不以中本聪白皮书开始和结束,它只是我们正在学习使用的一项技术。 不仅对于核心协议的设计,对于二层协议的设计,实际上是扩展了底层区块链的性能。

一、状态通道

状态通道是一种使传输和其他状态更新能够在“链下”进行的技术。 然而,在状态通道内发生的交易仍然保持着非常高的安全性和不可篡改性:如果出现问题,我们仍然可以追溯到链上交易。

大多数读者都熟悉支付通道的概念,这个概念已经提出了好几年,最近通过闪电网络部署在比特币上。 状态通道比支付通道更广泛。 它们不仅可以用于支付,还可以用于区块链上的任意“状态更新”,就像在智能合约中进行更改一样。 状态通道于 2015 年由 Jeff Coleman 首次详细介绍。

解释状态通道的最佳方式是通过示例。 请记住,这是一个概念性的解释,这意味着我们不会以非常技术性的细节解释特定的实现。

假设爱丽丝和鲍勃想玩井字游戏,赢家获得第 1 名。 一个比较简单的做法是在以太坊上建立一个智能合约,将游戏规则部署在合约上,对每个玩家进行追踪。 每次玩家想要移动时,他们都会向智能合约发送交易。 当玩家获胜时,合同将按照规则中的规定向获胜者支付 1eth。

以太坊链可以转erc20吗_搭建以太坊私有链_如何登陆以太坊公链

这可能会奏效,但效率不会很高,而且会更慢。 Alice 和 Bob 会让整个以太坊网络处理他们的游戏,这对于他们玩游戏所需的东西来说显然有点过分了。 他们每走一步,都需要支付gas费用,下一步走,需要等待区块被挖出。

但是,我们可以设计一个系统,Alice 和 Bob 可以用尽可能少的链上操作来玩这个游戏。 Alice 和 Bob 可以在链下更新游戏状态,但他们对计算结果也非常有信心,因为如果有必要,他们可以回到以太坊主网进行验证。 我们称这个系统为“状态通道”。

首先,我们需要在以太坊主链上创建一个智能合约“仲裁”,它可以理解游戏规则,将 Alice 和 Bob 定义为游戏中的两个玩家。 该合约需要持有第一个奖励。

然后,爱丽丝和鲍勃就要开始游戏了。 爱丽丝将创建并签署一个描述她的第一步的交易,然后将其发送给鲍勃。 Bob 还需要签署交易并将签署的版本发回。 他还需要保留备份。 然后鲍勃创建并签署了一个交易,描述了他的第一步,并将其发送给爱丽丝,爱丽丝也签署了交易并将其与备份一起发回。 每次,他们都会更新游戏的当前状态。 每笔交易都包含一个“随机数”,以便我们稍后可以证明这些确实发生了。

目前,链上什么也没有发生。 Alice 和 Bob 通过互联网互相发送交易,但还没有接触到区块链。 但是,所有的交易都发生在仲裁合约上,换句话说,它们都是有效的以太坊转账。 你可以把它想象成两个人互相写一堆区块链认证支票。 银行实际上没有存款和取款,但每个人都有一叠支票,可以随时存入。

当 Alice 和 Bob 的游戏结束时,也许因为 Alice 赢了,他们可以通过将最终状态提交给仲裁合约来关闭通道(例如,交易列表),并且只需要支付一笔交易费用。 仲裁确认这是双方签署的“最终状态”,最后等待一段时间,确保没有开源合法改变结果,然后给Alice 1eth奖励。

为什么在仲裁合约等待时我们需要“挑战时间”?

假设 Bob 没有像法定人数那样发送真正的最终状态,而是发送了一个旧版本的状态,说他赢得了 Alice。 但仲裁只是一份合同,他无从知晓这不是最新的状态。

这个挑战时间让 Alice 有机会向仲裁合约证明 Bob 对游戏的最终状态撒了谎。 如果有更接近的状态以太坊链可以转erc20吗,那么她可以获得已签名交易的副本,她会将这些交给仲裁。 仲裁会检查nonce,告诉Alice的版本更接近,Bob窃取胜利的想法会被拒绝。

未来与局限

状态通道在许多情况下都很有用,并且是链上操作的巨大改进。 然而,同样重要的是要记住,为了使用状态通道,我们也做出了特殊的权衡。

状态通道取决于可用性。 如果爱丽丝在挑战过程中掉线了(可能是因为鲍勃想要获得奖励而切断了她在家的网络连接),那么她可能无法在挑战时间内完成答题。 然而,Alice 可以付钱给其他人来保存她的状态副本,并代表她保持网络可用。

状态通道对于用户在很长一段时间内进行多次状态更新特别有用。 因为部署仲裁合约和建立通道时,都会有初始费用。 但是一旦部署,通道中每次状态更新的成本就非常低。

搭建以太坊私有链_以太坊链可以转erc20吗_如何登陆以太坊公链

最好在明确定义的用户之间使用状态通道。 因为仲裁合约必须始终知道属于给定通道的参与者(即地址)。 我们可以添加和删除用户,但每次都需要更改合约。

状态通道具有很强的隐私属性,因为一切都发生在通道内的用户之间,而不是公开广播,并记录在链上。 只有打开和关闭的交易需要公开。

状态通道有立竿见影的效果,这意味着一旦双方都签署了状态更新,它就被认为是最终的。 双方都将有非常有力的保证,他们可以在必要时强制更改链上状态。

二。

2017 年 8 月 11 日,Vitalik Buterin 和 Joseph Poon 发布了一份名为 Plasma:自动化智能合约的白皮书。 白皮书介绍了允许以太坊每秒执行比目前多得多的传输的能力。

与状态通道类似,Plasma 也是一种链下传输技术,依赖于以太坊区块链的安全性。 但是 Plasma 将这个想法带入了一个新的方向,在以太坊主链之上创建子链。 这些子链可以发行自己的子链,这些子链也可以创建子链,等等。

最终的结果是我们可以在子链层面处理很多复杂的操作,让数以万计的用户运行整个应用程序,但与以太坊主链的交互最少。 Plasma 子链可以快速推进并且需要较少的转账费用,因为上述操作不需要经过整个以太坊区块链。

以太坊链可以转erc20吗_如何登陆以太坊公链_搭建以太坊私有链

为了理解 Plasma 是如何工作的,让我们举个例子。

假设你在以太坊上创建了一个纸牌游戏。 这些将是 ERC721 不可变令牌(例如以太猫),但将具有允许用户相互玩的某些特征和属性。 这种类型的复杂操作在链上执行的成本很高,因此您决定使用 Plasma 来运行您的应用程序。

首先,我们在以太坊主链上创建了一系列智能合约,可以作为 Plasma 子链的“根”。 Plasma根链包含最基本的子链“状态转换规则”(类似“交易不能发送已经消费的资产”),记录子链状态的哈希值,起到“桥梁”作用允许用户在以太坊主链和子链之间转移资产。

然后,我们创建了我们的子链。 一个子链可以有自己的共识算法,比如我们说它使用 PoA 算法,它依赖于可信的区块生产者(即验证者)。 区块生产者类似于工作量证明中的矿工,它们是接受来自区块的交易并收取交易费用的节点。 举个简单的例子,假设你(游戏的创建公司)是唯一一个创建区块的人,即你公司运行的几个节点是我们子链的区块生产者。

一旦子链被创建并激活,区块生产者就会定期对根合约做出承诺。 这意味着,他们会有效地说“我保证子链中的最新区块是 X”。 这些承诺记录在 Plasma 根链上,作为子链所发生情况的证据。

如何登陆以太坊公链_搭建以太坊私有链_以太坊链可以转erc20吗

现在子链已经完成,我们可以创建纸牌游戏的基本构建块。 卡片本身是 ERC721,在以太坊主链上创建,然后通过 Plasma 根链转移到子链上。 这就引出了一个重点:Plasma 允许我们与基于区块链的数字资产进行交互,但这些资产需要先在以太坊主链上创建。 然后,我们可以在子链的智能合约上部署实际的游戏应用,其中会包含整个游戏的逻辑和规则。

当用户想玩我们的游戏时,他们只需要与子链进行交互。 他们可以持有资产(ERC721 代币),将其购买并交易到以太坊,并在不直接与主链交互的情况下与其他用户竞争。 由于只有少数节点(即区块生产者)需要处理交易,因此交易费用会很低,速度也会快很多。

但是如何保证安全呢?

通过将更多的操作从主链转移到子链上,我们确实可以处理更多的交易。 但是安全呢? 在子链上转账之后,就这样结束了吗? 毕竟,我们刚刚描述了一个只有一个委托人控制子链区块生产的系统。 这不是去中心化吗? 公司可以随时盗用我们的资金,或者随时拿走你的卡?

简短的回答是:即使在单个实体控制子链上 100% 区块生产的情况下,Plasma 也可以给出最基本的保证,你可以提取资金并将其放回主链。 如果区块生产者想要欺诈,最坏的情况是他们会迫使你离开子链。

三、 真比特

Truebit 是一项可以帮助以太坊在链下执行复杂计算的技术。 它实际上不同于状态通道和 Plasma,因为它更有利于提高以太坊区块链的整体传输吞吐量。 Truebit 不会处理更多的交易,但它会让基于以太坊的应用程序做更复杂的事情,并且仍然在主链上得到验证。

这将使在链上运行计算成本高昂的以太坊应用程序更加高效。 例如,与其他区块链执行简单支付验证 (SPV),这将允许以太坊智能合约“检查”交易是否发生在另一条链上(例如比特币或狗狗币)。

综上所述

2层解决方案给我们分享了一个观点:一旦我们有了公链提供的核心,我们就可以把它作为数字经济体系的锚点,进而扩展区块链应用的可用性。

比具体的 Layer 2 解决方案更重要的是底层技术的开发和数字经济的设计。

这些第 2 层扩展解决方案是以太坊等可编程区块链最有益的长期价值推动因素。 只有当区块链能够成为:你需要一种脚本语言来编写代码,你可以强制互动游戏时,才有可能在 2 层解决方案的底层之上构建经济机制。 这在比特币系统上要困难得多(或者,对于 Plasma,几乎不可能),它提供了有限的脚本可能性。

以太坊允许我们创建第 2 层解决方案,以在速度、结果和费用之间的矩阵平衡中获得新的优势。 这使得底层区块链可以被更多类型的应用程序使用,因为不同类型的应用程序有不同的模型,有不同的权衡要求。 对于大额金融交易,我们使用主链来保证安全。 对于数字资产交易,速度更重要,我们使用Plasma。 Layer 2 扩展技术使我们能够保护去中心化和最终结果,而不必像底层区块链那样进行这些权衡。

此外,很难提前预测扩展解决方案需要哪些脚本功能。 设计以太坊时,Plasma 和 Truebit 还没有发明。 但是因为以太坊是完全可编程的,它能够实现我们创建的任何虚拟经济机制。

充分利用区块链技术价值的唯一方法是将其与可编程的区块链一起使用,例如以太坊,其中区块链是指由加密经济共识创建的核心。