LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 以太坊2.0的设计原理

以太坊2.0的设计原理

2020-02-24 珞珈山神 来源:区块链网络

很多文章都在讨论Ethereum 2.0的路线图、研究建议和现状。然而,关于隐藏在许多内部工作背后的设计原则和不变量,公开发表的文章并不多。拥有一组明确的不变量对于这样一个协调的、多年的努力的成功是至关重要的,而且它还允许实现者在Ethereum的哲学上保持一致。本文将解释其中的一些设计决策、它们的背景以及它们对协议未来的重要性。

1.历史

自以太坊网络本身诞生以来,将以太坊从PoW转换为PoS协议的努力就一直在大力推进。Vitalik Buterin当时正在探索一种可行的解决方案,以克服单纯的PoS协议证明的缺陷,从而提供比PoW更好的安全保障。特别是,他和以太坊的研究团队设计了一种名为“slasher”的机制,作为惩罚恶意行为者的一种方式,主要是削减他们的全部抵押的一部分。

数学家弗拉德·扎米尔(Vlad Zamfir)随后加入了这个项目,2014年的大部分工作都集中在解决所谓的对区块链的远程攻击。远程攻击发生时,攻击者可以从零开始创建一个比当前规范区块链更长的完整链,以使网络的其余部分相信世界处于新的规范状态。这几乎不可能在PoW证明中执行,因为它需要大量的复合计算能力。然而,PoS证明不依赖计算能力,因此在这种攻击下会崩溃。

Vitalik和Vlad一致认为,除了严格防止客户端同步超过某个检查点的链外,没有可行的远程攻击解决方案。这意味着不需要同步来自创世区块的链,网络中的新节点只需要同步来自网络中其他节点的最近的“检查点”。也就是说,当新节点加入网络时,旧节点上存在固有的信任关系。当新节点加入时,网络中的参与者对“最终确定的”、“不可逆转的”块存在主观信任。

在此期间,来自Ethereum基金会的Vitalik和Virgil Griffith都致力于在ArXiV上发布最初版本的Casper Proof of Stake白皮书。

2014-2017年是Ethereum尝试将基于PoS证明的终结性系统覆盖在目前运营的PoW链上的很长一段时间。与此同时,他们还在努力将状态分片作为一种分区方案来实现,以扩展Ethereum区块链。然而,在2018年,有一个重要的推动,将这两个倡议结合在一起。3月在台北举行了标志性研究会议之后,以太坊研究团队提议将Casper权益证明和分片合并为一个名为以太坊Serenity的举措,也被称为以太坊2.0。

2.为什么是ETH 2.0呢?

这篇文章旨在解释核心问题背后的设计原理:“为什么要使用Ethereum 2.0 ?”当然,对现有系统的一致性协议和数据完整性进行全面检查并不是一件容易的事情——从头创建一个新系统并完全放弃Ethereum 1.0不是更容易吗?我们在构建Eth2时面临的一个困难问题是需要让社区参与到这个挑战中来,并清楚地了解过渡到Eth2的巨大好处和需求。

虽然理解了这种范式转换带来的巨大责任,但是现在是构建Eth2的最佳时机。不管你喜不喜欢,加密技术仍处于起步阶段,我们今天所做的决定将在未来多年对加速增长和采用产生复合效应。向PoS证明的迁移已经等待了足够长的时间,Ethereum应用程序的可伸缩性也已经等待了足够长的时间。现在是构建Eth2的最佳时机,而这样做的团队已经做好了这样做的准备。

3.挑战

幼稚的第1层扩展可能会付出巨大的安全代价,因为分片区块链可以防止全局事务验证,就像当前的比特币和Ethereum链一样。关键问题是:我们如何在不牺牲去中心化或安全性的情况下获得可伸缩性?许多相互竞争的区块链都以走集中化路线作为解决这一问题的手段。

Ethereum选择了一种不同的方法,将网络状态划分为1024个分片,这些分片表现为一组同质的链,每个块链由一个称为信标链的根链协调。信标链运行在完整的Casper证明上,没有授权,也没有集中的投票权。在这种方法中,每个节点只负责整个网络中发生的部分事务,许多块可以并行发生,从而线性地增加整个网络的吞吐量。此解决方案试图回答以下问题:

如果没有全局验证事务,网络的安全配置文件如何更改?如何在确认参与者的同时防止卡特尔的形成?应该如何设计激励以最大限度地提高数据可用性和积极参与?

Ethereum经过多年的研究、探索和理解所要进行的权衡,已经将PoS证明作为其一致选择的算法。由于本文讨论的原因,奖励是确定的,验证实体在协议中有平等的待遇,参与委员会的概率相等,获得奖励/惩罚。事务的全局验证变为间接验证。

4.设计不变量

协议设计的一个关键支柱是理解协议将在哪些不变量下运行。对于Ethereum和它的开发者社区来说,拥有一系列不可协商的设计决策是至关重要的。

我们可以将Eth2的核心分解为以下几个要点:

网络的参与应该是去许可的

第一层应该是简洁、抽象和紧凑的

协议应该最大限度地表达,同时不要对它未来的用途做任何假设——也就是“我们没有特性”这句老话。

网络应该有利于活性从任何灾难性的情况下有效地恢复

将协议复杂性与应用程序开发复杂性分开

无许可:

Eth2和其他“下一代”区块链之间的一个显著区别是如何确定共识的参与。Eth2的唯一要求是拥有32枚ETH来成为验证器,没有委托,没有选择验证节点的投票,也没有决定谁参与的中央宪法。更重要的是,Eth2中的验证器都被同等对待,每个实体的硬上限是32 ETH。但是,任何个体都可以拥有多个验证器实例。

这只是一项简化《协商一致议定书》的安全性和简洁性的决定。从激励设计的角度和正式建模的角度来看,在对区块进行投票时,平等对待所有原子参与者和同等利益是非常重要的。

要简洁,但又能最大限度地表达:

Eth2的目标是在它的核心定义以及它的目标是实现什么方面做到简洁和紧凑。在基本级别上,它是一个可伸缩的、无许可的平台,用于创建去中心化的应用程序。

没有必要引入应用程序逻辑,这是有原因的。人们可以将其类比为一个精简的linux内核——它不取决于操作系统来包含特性或为其本身假设用例,而是取决于为该内核构建应用程序的开发人员,假设意图是限制性的。一个古老的以太坊格言说“我们没有特征”,同样的哲学也适用于Eth2。

是安全的

Eth2的PoS证明模型被称为Casper the Friendly Finality Gadget,它是在一系列旨在保持高度活跃和网络参与的激励机制下运行的。Eth2对Casper进行了扩展,利用它的特性来保护分片区块链网络。也就是说,它使用链终结阈值的概念来确保Eth2中的1024个分片与信标链共享相同的安全池。

PoS证明的核心前提是,验证器按照预期完成指定的角色时将获得奖励,由于闲置而损失金钱,如果它们恶意违反协议,则将受到严厉的惩罚。虽然前提是简洁的,但关键在于细节。一旦我们意识到不仅要考虑每个验证者的行为,还要考虑整个验证者委员会的行为,Casper的经济学很快就变得更加复杂。

将协议复杂性与应用程序复杂性分开:

说Eth2路线图令人生畏是保守的说法。它可能是最雄心勃勃的多年计划之一,旨在从业界吸取最好的教训,创建一种协议,优雅地解决可伸缩性三难困境,并且能够持久。

关于分片是如何极大地降低开发人员体验的,已经有了很多讨论。其基本原理是,从Eth2中的应用程序中抽象出协议内部是极其困难的,因为我们有一个高度复杂的分片系统,需要彼此交互(跨分片事务)。乍一看,这个观察是有意义的,因为从外部看Eth2是多么可怕,而且在项目中智能合约执行的几个方面是多么不清晰。然而,事实要微妙得多。

应用程序开发人员只需要了解Eth2协议的一小部分。一般的智能合约开发人员不需要知道确认器注册表或信标链的finality小部件的内部机制。因此,阶段0从应用程序层中被完全移除。阶段1和阶段2最近也提出了一些非常有力的建议,这些建议提倡对执行环境进行更高程度的抽象,从而使Eth2更加强大和简洁。在最坏的情况下,钱包/应用程序开发人员需要了解跨分片事务的某些细节,以便通过一些技巧显示即时事务结算。今天的计算机操作系统和内部机制比10年前复杂得多,但是,大多数应用程序开发人员不需要了解使强大的计算机体系结构成为现在这个样子的隐藏内部机制。

这种关注点的分离是优秀架构设计的核心,可以认为这是我们在构建Eth2时应该记住的设计不变量。

5.建造一台真正的世界计算机

总结一下,Ethereum是图灵完备的,这意味着它可以运行任何可以想象到的代码,就像今天的计算机一样,尽管是非常有限的、缓慢的、单线程的计算机——今天的以太坊类似于早期的弱处理器。

目前在Ethereum上运行应用程序非常昂贵,因为该协议内置了一些机制来防止困扰公共产品的公地悲剧。其充满活力的开发人员社区从未在其核心级别和第2层缺乏改进当前网络的创新。然而,从治理的角度来看,预定的升级可能是有问题的并且是痛苦的。如果Eth2存在了几年后,我们感到受到它的约束并希望构建一个Eth3,那么我们在前者的核心设计上就失败了。可升级性应该以一种不需要有风险的硬分叉的方式融入到协议中。也就是说,一旦系统投入生产,第一层的创新应该是最小的,或者接近于零。

温馨提示

本文为译文,翻译原文链接

译者:珞珈山神

—-

编译者/作者:珞珈山神

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...