Overview
以太坊面临的问题
以太坊(Ethereum )自从 2015 年诞生以来,已经取得了巨大的成功,占据了整个区块链世界的半壁江山。但也正因为如此,巨大的流量和使用需求,使得整个以太坊网络,变得越发的拥堵和昂贵。不仅如此,随之飞速增长的,还有对于运行 ETH 节点所需的硬盘空间,以及 POW 共识算法所带来的巨大能源消耗和环境影响。
ETH 2.0 就是为了解决上述问题而推出的。
实际上早在 2014 年,以太坊基金会就进行了对于升级方面的研究和讨论,详情可见一下这两个帖子:
Blockchain trilemma
ETH 2.0 升级最最重要的,就是要解决不可能三角问题(Blockchain trilemma ),即如何同时满足:
- 安全(Security)
- 去中心化(Decentralization)
- 可拓展性(Scalability)
我们先来看看三角之间是如何相互影响的:
安全 + 去中心化
要保证区块链上的每一笔交易记录,都需要所有节点参与验证才可以成立(验证原则)。这一工作量的限制,制约了单位时间内能够验证的交易数量的上限。最近一段时间,以太坊网络的拥堵,其实也证实了这一点。
可拓展 + 安全
如果我们能加大每一个 ETH 节点的运算能力,那么就能够在不违背验证原则(安全)的前提下,拓展交易规模。但同时,如果只有运算能力高的计算机才能作为 ETH 网络节点的话,去中心化的原则就很难被满足。
去中心化 + 可拓展
当然,我们也可以保证去中心化的情况下,强行拓展交易规模,但这样做的话,每一笔交易的延迟就会大大增加,信息传播的途中就会面临巨大的攻击风险。
POW 重点解决的是 去中心化 的问题,现在我们需要关注 可拓展性 与 安全
可拓展性:提升 TPS 的技术发展
区块链技术在提升 TPS 的方案上,主要经历了 3 个比较重要的阶段:
第 1 阶段的方案:区块扩容
通过区块扩容,来提高 TPS ,通常可以提高几倍。这个参数是公链开发者可以自定义的,比如 BCH 就将区块存储空间改成了 BTC 的 4 倍,从而将 TPS 也提高了 4 倍。
实际上以 BCH 的交易量来说并不需要这么大的区块
第 2 阶段的方案:将 POW 机制改成 POS
将 POW 机制改成 POS ,减少验证器数量,可以降低矿机成本,并将 TPS 继续提高百倍。 POW 对应的验证器数量在数千个,采用了 POS 机制的 EOS 节点只有 32 个。 ETH2.0 的第一阶段已上线,已将 POW 改成了 POS 机制。
使用 POS 提高了 TPS ,但是验证器节点减少后安全性也会随之降低。
第 3 阶段的方案:采用分片技术
采用分片技术,可以倍数无上限的提高 TPS 。目前 ETH2.0 第一阶段也已经采用了分片技术, DOT 在跨链方案中也采用了分片技术。
Eth2 架构路线
-
PoW Main Chain 是今天存在的部分:当前的以太坊主网。在以太坊 2.0 系统中,可以像今天一样继续运行。 -
Beacon Chain 是一个全新的权益证明(POS )区块链。它是支撑整个新以太坊 2.0 系统的脊梁。信标链的关键功能是管理自身和所有分片链的权益证明协议。 -
Shard Chains 是下一个,也是可扩展性的来源。最初,分片链将简单地聚合交易并就其排序达成共识,而不执行它们。这将是对系统基础设施和安全性的一个很好的测试。 -
VM 层是 Ethereum2.0 系统的最后一个重要组成部分,将提供合约和交易的执行。
Eth2 的各个阶段
- 阶段
0 的内容是信标链,而信标链是 Eth2 的核心,能够管理验证者并且协调分片链。信标链作为实践基础,引导着 Eth2 其他所有方面的发展。 - 阶段
1 的实现以阶段 0 为基础,主要内容是将数据写入分片链。由于阶段 0 为分片链奠定了大部分基础工作,阶段 1 实现的复杂程度比其他组件要低得多。 - 阶段
2 是 Eth2 的执行阶段,基本来说就是将 Eth2 从强大的数据库升级成为完全去中心化的计算平台。
信标链(The Beacon Chain)
Beacon Chain 是一个全新的权益证明(POS )区块链。它是支撑整个新以太坊 2.0 系统的脊梁。信标链的关键功能是管理自身和所有分片链的权益证明协议。它实现的功能有:
- 管理验证器:管理验证者及其权益
- 提供随机性:信标链为系统的其余部分提供随机性
- 区块提议者:在每一步为每个分片提名选定的区块提议者
- 委员会:组织验证者组成委员会对提议的区块进行投票
- 奖惩:对验证者应用奖励和惩罚
- 交联:作为分片注册其状态以促进跨分片交易的锚点
信标链已于 2020年12月1日 正式上线。
融合(The Merge)2021/2022
准备好后,以太坊主网将与信标链“合并”,成为自己的分片,使用权益证明而不是工作证明。
主网将把运行智能合约的能力引入权益证明系统,加上以太坊的完整历史和当前状态,以确保所有 ETH 持有者和用户都能顺利过渡。
- 将主网运行
Smart Contract 的功能合并入 POS 的系统 - 将当前的
Ethereum 的状态和过去所有的转账历史一同融入新系统 - 保证整个转移的过程不会对现存的用户产生影响。
原本的计划,ETH 2.0升级的第二步是分片,主要是为了解决以太坊扩容的问题。但考虑到现在二层网络(layer 2 scaling solutions)的发展,分片被后移了,所以升级的第二步就变成了融合。
分片(Shard Chains)~ 2022
分片主要是通过横向拓展,具体来说,就是通过创建 64 (第一阶段) 条新的链(shards ),来提高以太坊的可拓展性(Scalability )和承载能力(Capacity )。
其主要为了实现以下2点特性:
-
人人都可以运行ETH节点 在计算机科学中,有两种主要的扩容方法,一种是纵向,就是提高每一个ETH节点的性能,使用更昂贵的高性能计算机,但这样有悖于去中心化的初衷。另一种就是横向,即分片机制。让运行与每个分片上的验证者节点(Validator )只用处理当前分片上的数据,而不是整个网络,这样就能够极大程度上降低节点的性能需求。 -
更多的参与者 当节点的性能需求降低后,更多的人就能够通过个人电脑,甚至手机参与到ETH的网络中来。参与者越多,去中心化程度就越高,同时网络就越安全,容错度就越高。这样就满足了:安全 + 可拓展 + 去中心化 。不可能三角就变成了可能。
区块链分片的难点
-
安全性 所有节点在区块链系统中处理所有交易的原因是安全性。由于必须受到损害的节点数量庞大,因此很难以51% 的攻击接管区块链。从理论上讲,单个分片可能更容易受到破坏,因为与整个非分片区块链相比,保护分片的验证者更少。因此,需要找到足够安全性和最佳性能之间的最佳平衡点,保持验证器集足够大以保证安全性。 -
跨分片交易 在不同分片中维护的帐户之间的交易依赖于某种机制来在分片之间进行通信。因此,需要有一组可以在分片之间路由交易的验证器。跨分片通信非常重要,需要精心设计的安全措施。 -
最终一致性 与跨分片通信相关的是如何处理交易终结性的问题。使用中本聪共识变体的区块链,例如以太坊,提供概率终结性。在链中偶尔出现分叉的情况下,最长(或最重)的链最终将占据主导地位,导致陈旧链中的交易可能会被撤销。这种情况发生的可能性随着每个区块的确认而降低。然而,在跨分片交易的情况下,概率交易最终性是有问题的,因为在一个分片中撤消的交易可能已经传达给其他分片。因此,需要在共识协议之上使用终结性机制,以便为终结性提供更有力的保证。
Eth2的解决方案
-
以太坊信标链 以太坊信标链使以太坊 2.0 中的分片成为可能,这是一个连接所有分片的权益证明链。希望参与共识过程的个人(换句话说,成为网络验证者)必须通过对当前以太坊 1.0 工作证明链上的存款合约进行单向交易来抵押 32 个以太币。 一旦进入验证者集合,就可以选择一个节点作为分片链中的验证者。使用可验证延迟函数 (VDF)随机分配分配。这种随机性确保验证者集(称为委员会)的组成是不可预测的,从而提高了安全性。 -
以太坊分片链 以太坊 2.0 中的分片链存储状态并处理交易。一个随机选择的验证者负责形成和提议将由随机选择的分片委员会投票的交易块。如果提议的区块获得足够的投票,将在分片区块和信标链之间创建“交叉链接”,这确认分片区块将被添加到信标链中。同样重要的是要注意事务仅在分片内执行和验证,并且该状态仅存储在分片级别。 根据官方信标链规范,以太坊 2.0 将支持 1024 个以太坊分片链,每个分片链将由 128 个验证者的委员会规模来保护。 -
终局性 如上所述,在以太坊 1.0 中使用的中本聪共识及其变体以概率近似的形式提供相对较弱的最终性保证。出于这个原因,以太坊分片链添加了一个终结性覆盖协议,以提供更强的保证。在该协议中,鼓励验证者通过使用 BLS 签名聚合对其进行签名来证明每个块的有效性。这些签名加起来构成对区块有效性的投票。一旦达到三分之二多数,最终性就可以被认为是基本稳定的。
参考
|