【平兄译文】了解以太坊的Layer 2扩容方案Ⅰ:公链的扩容难题

【本文由赞我(zaneds.com)独家冠名】


本文翻译自:Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit

原文作者:Josh Stark

译者:区块链中文字幕组 平兄


文章简介:作者简单地概述了目前以太坊的扩容难题和Layer 1 和 Layer 2 扩容方案之间的区别,后面针对 Layer 2扩容方案的三个项目 State Channels , Plasma 以及 Truebit 进行详细介绍。此文截止20180710已经在Medium上获得了罕见的8.1K赞, Vitalik Buterin,Jon Choi,Matt Condon,Chris Dixon,Hudson Jameson,Denis Nazarov 和 Jesse Walden 也对原文早期草稿提供了评论意见。


目录

  1. 公有链的扩容难题
    1.1. 如果每个节点不需要并行地处理所有操作呢?
    1.2.如果我们能使用以太坊现有的性能挤出更多的有用操作呢?
  2. Layer 2 是加密经济解决方案
    2.1. 状态通道
    2.2. Plasma
    2.3.Truebit
  3. 总结

对于以太坊来说,2018年是建设底层架构的一年,早期参与者也会在今年测试网络极限,重新专注于以太坊扩容技术上。

以太坊还处于起步阶段。目前,它可能既不安全也不具备可扩展性。但在过去的一年里,ICO热潮已经严重地夸大了以太坊目前的性能。以太坊和 web 3 的承诺:“一个安全的容易使用的、受一套共同的经济协议约束的,支持数十亿用户使用的去中心化网络”,这仍然是远在天边,如果关键的基础设施没有建设好,这是无法实现的。

致力于以太坊基础设施建设和扩展其性能的项目通常被称为扩容方案。这些项目有着不同的形式和切入角度,但大多都是彼此兼容或者互补的。

在这篇长文中,我将会深入探讨一类扩容方案:“链下” 或者 “Layer 2”解决方案。

  • 首先,我们探讨以太坊(以及所有公链)普遍存在的扩展性难题。

  • 第二,我们将会讨论解决扩展性难题的不同方法,并且比较“Layer 1”和“Layer 2”解决方案。

  • 第三,我们将深入钻研Layer 2解决方案,并且分别解释其工作原理,我们将会讨论 state channels, Plasma, 以及Truebit

这篇文章专注于让读者对Layer 2解决方案的工作原理有一个透彻详细的概念理解。但我们并不会深入到具体实现或者代码。相反,我们侧重于去讲解用于构建这些系统的经济机制,以及在所有Layer 2技术之间通用的理念。


1. 公链的扩容难题

首先,我们有必要知道,“扩容” 并不是一个单一、具体的问题。它指的是为了实现以太坊支持数十亿全球用户群所需要克服的一系列难题。

最常见的扩容难题是交易吞吐量。目前,以太坊的交易处理速度大约为 15/tps,而 Visa 的交易处理速度为 45,000/tps。去年,一些 DApp 如 Cryptokitties ,或者偶尔一些 ICO,其热门程度就足以让网络拥堵以及gas价格上升。

其核心约束是因为想以太坊等公链都要求网络中的每个节点都必须处理每一笔交易。所有操作都在链上执行—支付,加密猫的诞生,部署新的ERC20合约等,都必须在网络中的所有节点中并行执行。这是使得公链具备权威性的设计。节点不需要依靠其他节点告诉它当前区块链的状态—他们自己可以弄清楚。

这也是限制以太坊交易吞吐量的根本原因:它无法比请求单个节点的吞吐量更高。

我们可以要求每个节点做更多的工作。如果我们将区块大小扩大2倍,也就意味着每个节点执行每个区块时可以完成2倍的工作量。但这是以牺牲去中心化为代价的:要求节点得处理更多的数据也就意味着那些低配的计算机可能会被网络抛弃,最后导致挖矿会集中在强大的矿池中。

相反,我们需要一种即能完成更多的任务,也无需增加单个节点工作量的方法。


解决这个问题,我们有两种方法:

⑴. 如果每个节点不需要并行地处理所有操作呢?

第一种方式抛弃了我们的前提(即每个节点都必须处理所有操作),如果我们可以打造一条并不需要所有节点都处理每个操作的区块链呢?相反,整个个网络会被分为两个部分,可以半独立运行?

第一部分可以处理一部分交易,同时第二部分会处理另一部分交易。这可以有效地使区块链的交易吞吐量增加一倍,因为这样就相当于有两个节点可以同时处理不同的事务。如果我们可以将区块链切分成多个不同的截段,那么区块链的吞吐量就能够增加对应的倍数了。

这就是 sharding(分片) 的思想。区块链被分割成不同的截段,这些截段称为 碎片,每个碎片都可以独立处理交易。Sharding (分片)通常被认为是Layer 1扩容方案,因为它是在以太坊的基础协议层面实现的。如果你想要深入了解 sharding ,我推荐这篇拓展FAQ 和 这篇博文 。

【图片】


⑵. 如果我们能使用以太坊现有的性能挤出更多的有用操作呢?

第二种方式跟前者是相反的:与其增加以太坊自身的性能,如果我们在当前的性能下能做更多的事呢?以太坊主链的吞吐量不变,但我们还是能够做更多的对用户和应用有用的操作,如交易,游戏状态更新或者简单计算等。

这其实就是“链下”技术的思想,如state channels,Plasma, and Truebit 。虽然每一个都是在解决不同的问题,但他们都是通过在“链下”执行操作来运行的而不是在主链上,同时也能保证足够的安全性和一致性。

它们也被称为是 Layer 2 解决方案,因为他们是建立在以太坊主链之上的。它们不需要改变底层协议,相反,它们会简单地以作为以太坊上的智能合约,并与链下软件进行交互。

【图片】


(未完待续)

区块链中文字幕组

致力于前沿区块链知识和信息的传播,为中国融入全球区块链世界贡献一份力量。

如果您懂一些技术、懂一些英文,欢迎加入我们,加微信号:w1791520555。

点击查看项目GITHUB,及更多的译文...

本文译者简介

平兄 程序员,区块链技术爱好者,欢迎加微信号: qwer82261615P

欢迎关注译者币乎 平兄

本文由币乎社区(bihu.com)内容支持计划赞助。

早赞声明:为方便早赞、避免乱赞,“BH好文好报群”为点赞者、写作者牵线搭桥,实行“先审后赞、定时发表”的规则,也让作品脱颖而出、速登热门!本文授权BH好文好报群摘编、转载以及相关转授权推文行为,加群微信:we01230123(天平)。

如有侵权,请联系译者

版权所有,转载需完整注明以上内容。


你可能感兴趣的:(【平兄译文】了解以太坊的Layer 2扩容方案Ⅰ:公链的扩容难题)