以太坊区块链性能和扩容性
与比特币一样,以太坊可扩展性问题的主要原因是网络中的每个节点都必须处理每笔交易的网络协议。以太坊 1.x 实现了略微修改版本的工作量证明 (PoW) 共识机制。在以太坊,矿工必须竞相寻找随机数,才能达到目标难度。每个节点都需要验证矿工的工作是否有效,并准确记录当前网络状态。这极大地限制了以太坊区块链网络的交易过程能力和吞吐量。目前,每秒只能处理 12-15 次交易。
区块链可扩展性 Trilemma
Vitalik Buterin 首次使用可扩展性 trilemma 是区块链中的一个概念,它能够解决可扩展性、去中心化和安全性问题,同时不影响其中任何一个。Trilemma声称,区块链系统中几乎无法实现所有三种属性:
去中心化:这是比特币和区块链创建的核心原则。去中心化使用户能够抗审查,并允许任何人在没有中心机构或中间人的情况下参与去中心化生态系统。
安全性:这是指公共账本的完整性和不变性,以及抵御 51% 攻击的能力或像网络攻击一样的 DDoS。
可扩展性:这涉及到区块链网络中处理越来越多交易的能力。为了使以太坊区块链成为发明者设想的世界计算机,它需要与亚马逊、Visa或Mastercard等许多中心化系统的交易吞吐量相匹配。
下图显示了区块链的可扩展性 Trilemma:
可扩展性的关键挑战在于找到一种在基层实现全部三个目标的方法。比特币和以太坊的设计选择有利于去中心化和安全性,同时牺牲可扩展性。
以太坊扩展解决方案
以太坊可扩展性解决方案是以太坊社区中最活跃的主题之一。以下是社区为以太坊的未来而努力解决的一些问题:
PoW 交易处理和区块创建时间 — 矿工处理所有交易并通过挖矿创建新区块的速度有多快?
交易最终性 – 去中心化网络多久才能达成交易已发生且无法恢复的共识? 目前,使用比特币需要大约六个区块,使用以太坊需要 3-4 分钟,网络才会考虑在主链中完成区块。感兴趣的读者应查看 Vitalik 的交易结算区块和区块最终概率。
正在实施或提议的解决方案分为三类:链上解决方案、链下解决方案和共识机制协议。有一些明显的或理论上的区块链,例如增加区块大小或将一个区块链切成许多独立的altcoin链。由于点对点的性质,传统的横向扩展方法可能无法使用。具体到以太坊网络,一些考虑因素也包括导致可扩展性问题的有状态或无状态智能合约。我们将深入探讨所有这些解决方案的高级概念,然后深入研究一些前景广阔的解决方案。
区块大小
这与垂直扩展方法类似。比特币现金、以太坊 Core 等其他代币正在实施更大的区块规模,以获得整体交易表现。这种方法背后的理论是,由于 PoW 挖矿是整个过程中的主要瓶颈,因此通过增加区块大小,我们每次挖矿可以处理更多交易。创建定向非循环图 (DAG) 进行基于存储的挖矿可能需要更长时间,但完成挖矿的平均时间可能不会变得更糟,因为大多数以太坊客户端都会缓存 DAG。
下图说明了该技术的工作原理:
然而,与垂直扩展一样,该解决方案通常要求网络节点具有更好的计算能力,以便处理大型区块。这可能会导致网络集中在几只富豪手中,因此最终可能会损害区块链的主要原则去中心化和安全性。
非主流币
另一种解决方案不是拥有一个巨大的区块链,而是拥有许多较小的区块链和代币。最终可能会如此,因为许多垂直行业正在创建或计划创建特定行业的链。这将减少每个区块链上的用户活动,从而实现更可扩展的生态系统。
下图说明了该技术的工作原理:
但是,该选项存在一些问题。一是安全问题。人们普遍认为,如果更多网络节点参与区块链中的交易处理,网络就会更加安全。随着 Altcoin 链的广泛分布,任何特定区块链上的节点运行量都会减少。这可能会降低区块链的安全性,因为较小的altcoin网络可能更容易受到网络攻击。假设大型网络上约有 10,000 个节点,至少需要 5,001 个节点(或称为 51%)才能在网络上发起攻击。如果我们将 10,000 个节点划分为 50 个较小的链,则每个链由 200 个节点组成,只需 101 个节点即可删除任何较小的链,这就是所谓的 1% 攻击问题。另一个问题是跨链整合。尽管有一些跨区块链整合解决方案,但整合小链和另类币的整体复杂性将大幅增加。
链上解决方案
链上解决方案有时也称为第 1 层解决方案,旨在寻找解决方案来解决以太坊区块链网络底层的可扩展性和性能问题。其中一种解决方案就是分片。分片并不是一个新概念,因为传统 RDBMS 和新的大数据平台多年来一直在使用分片来提高可扩展性和性能。
使用以太坊网络,分片的目的是将网络节点、区块链和全局状态分组为不同的分片,并且每个分片将在组内的节点之间就整个分片交易状态达成共识。在概念层面,这可能与Plasma、L2侧链方法没有太大不同,但技术难度、影响和网络工作却大不相同。
另一种第 1 层或链上解决方案是转向质押证明 (PoS) 共识机制,这是以太坊解决可扩展性和性能问题的最活跃研究领域之一。关于基于 PoW 的共识机制的优缺点,存在诸多争论。在去中心化网络中保护区块链安全方面非常有效,但这也是区块链性能的主要瓶颈。
简而言之,质押证明是区块链网络上最受欢迎的共识算法之一。与 PoW 共识相反,在 PoS 共识算法中,矿工解决加密谜题会获得奖励,而选定的验证者会轮流提出新的区块。验证者的选择方式取决于其财富,也称为质押。将代币存入质押的任何人都可以成为验证者。参与机会可能与他们投入的权益成比例。比如,Alice、Bob、Catherine 和 David 分别投入 40 枚以太币、30 枚以太币、20 枚以太币和 10 枚以太币,将有 40%、30%、20% 和 10% 的机会被选为区块创建者。
下面介绍了 PoS 共识机制的运作方式。如下图所示,区块链跟踪一组验证者,有时也称为区块创建者或伪造者。在任何时候,只要需要创建新区块,区块链就会随机选择验证者。所选验证者将验证交易,并提出新的区块,供所有验证者达成一致意见。新区块将由所有当前验证者投票。投票权取决于验证者投入的质押。恶意提出无效交易或阻止或投票的人,如果故意破坏链的完整性,可能会损失其权益。对于区块本身的创建,节点不会获得奖励。本次交易将支付报酬。新区块被接受后,区块创建者可以收取交易费,作为创建新区块工作的奖励。有两种基本节点选择选项:
从“最富裕”节点随机获取;
从最旧节点随机获取。
与 PoW 机制相比,PoS 被认为更节能、更环保。这也被视为更安全。恶意验证者需要累计 50% 以上的总风险,才能接管区块链网络,因此这基本上降低了 51% 攻击的威胁。此类算法旨在阻止攻击者验证虚假交易,因为存在丢失“抵押品”的风险。
与PoW类似,基于PoS的公共区块链可能无法完全去中心化。这是因为一些富裕节点可能会垄断网络中的风险。 投入更多股权的用户可以有效控制大部分投票,并有更多机会生成新区块。 这两种算法都受到社会和经济问题的影响,使富人更加富有。
链外解决方案
与链上解决方案的基本原理类似,以太坊社区也在积极寻找链下解决方案,有时也称为第 2 层解决方案。一种是使用 Plasma 的侧链解决方案。与将所有交易都放在主链中不同,Plasma 允许任何人创建侧链并将侧链绑定到全球区块链中。这与比特币的照明网络解决方案类似。
另一个是Raiden的状态渠道解决方案,类似于比特币中的支付渠道。这种方法背后的假设是,许多交易对手的交易只需要相关方进行验证,无需让所有交易都经过整个网络的验证。
提高可扩展性和吞吐量的一个直观解决方案是创建许多小链。这可能听起来像是一个合理的解决方案,因为它可能适合企业和社会需求。例如,作为客户或公民,我们从本地杂货店购买水果和蔬菜,这些杂货可能会利用一个区块链来确保整个新鲜农产品供应链的可追溯性和食品安全。
购物结束后,您可以直接通过 P2P 支付区块链支付杂货。当您申请抵押贷款或企业借贷时,您可能可以通过抵押区块链等方式获得抵押贷款和借贷批准。在我们看到一个巨大的全球链之前,我们更有可能满足所有这些垂直链或私人链的要求。
然而,它会产生跨链集成和安全执行问题。这就是 Plasma 想要解决的问题。Joseph Poon 和 Vitalik Buterin 于 2017 年 8 月首次提出。其设计理念是将交易卸载到速度更快、拥挤程度更低的侧链,也称为等离子链。与状态渠道方法类似,Plasma 链将定期将其交易投入以太坊根链。
安全与诚信将通过根链执行。如果发现任何涉嫌欺诈的行为,交易将被回滚,Plasma 用户可退出等离子链并移至根链。
下图显示了等离子网络的外观:
每个等离子链本身就是一个区块链。它们通过智能合约与以太坊根链绑定。智能合约基本上将整个子链与根链连接起来,充当桥梁。任何人都可以创建等离子链,并编写将等离子链绑定到根链的智能合约。
如下图所示,在每个周期,等离子链的每个区块的区块标头都会提交到根链,并记录在根链的区块中。
血浆链中的交易将保留在每个血浆链上。然后,区块标头中的默克尔证明将用于验证子链上的数据。这样一来,就可以在许多等离子链中并行处理数万笔交易,并在根链上留下最少且足够的默克尔标头信息,以增强安全性:
根链将扮演仲裁员的角色,与美国联邦法院系统类似,其中根链是最高法院,等离子链是巡回法院或地区法院。在联邦法院系统中,一旦联邦地区法院决定了案件,该案件即可向巡回法院或最高法院提起诉讼进行仲裁。
当在等离子链中发生欺诈时,无论是跨链的双重支出,还是您在所有账户中的现金支出,任何人都可以提供欺诈证明来证明交易无效。如果证明存在欺诈交易,则交易将回滚。
等离子用户可退出子等离子链,并将醚转移回主链。最初的提案引入了一个验证器概念,作为等离子区块链的运营商,用于验证和添加交易到区块,并管理子区块链的状态。
这种方法背后的理念是,全球区块链的安全性和完整性由根链使用 PoW 或最有可能的混合 PoW 和 PoS 共识协议来执行。如果等离子链的验证者可能持有资金并从事欺诈活动,任何人都可以向根链提供针对验证者的欺诈证明。
验证者证明存在欺诈行为后,根链将允许受影响的等离子链上的所有账户迁移至根链。这称为“集体退出”场景。在这种情况下,单个账户将逐个迁移至根链,无效交易将回滚,等离子链的验证者将受到其投入智能合约的质押处罚。根据需要迁移的账户数量,完成批量退出可能需要一段时间。
虽然它是以太坊研究界最有趣和最活跃的话题之一,但尚未公开发布等离子体实现。相反,最初提案的缩小版本也称为最小可行等离子体或 MVP,旨在实现简单的实施,其中包括简化的安全模型和退出等离子体链的基本操作。
MVP 的一个非常有趣的方面是重新引入 UTXO 模型。以太坊的一个关键区别在于,从比特币的UTXO模式转向更明确的账户模式,其中账户余额是维持在世界状态的状态对象。
以太坊账户模式简化了交易验证和资金划转,同时牺牲了并行性。这可能不是重大缺点,因为所有交易都需要由所有节点进行验证。但对于 Plasma,随着根链从交易处理转向安全执行和仲裁,能够并行验证无效交易变得至关重要。
区块链的树形结构,因此是所有子链的UTXO树形结构,可轻松应用分布式并行算法来验证欺诈证明,并在所有等离子链中强制执行安全性。
下图显示了当以太坊等离子子链树与父等离子链绑定,并最终连接到以太坊根链并通过以太坊根链进行保护时,Plasma 可能能够为以太坊区块链网络带来哪些影响:
将昂贵的计算卸载到子链,使根链能够在全球范围内为区块链提供共享安全和仲裁服务,从而实现巨大的可扩展性。Cosmos 网络等跨链互操作性解决方案也很相似。Cosmos网络自称是区块链的互联网,提供中心辐射集成架构。独立区块链作为区域或辐条,作为中心连接到主区块链。其目的是通过 IBC(区块链间通信)协议促进区块链集成。