以太坊2.0:有哪些关键项目?谁在做?进展如何
原文作者为Rocket Pool的区块链开发人员Darren Langley。Rocket Pool是下一代PoS矿池,专注于与以太坊的新共识协议Casper的兼容性。
以太坊的路线图是拥有远大理想的。
作为回顾,以太坊2.0结合了以下关键项目:
· 权益证明(信标链,Casper FFG)
· 分片
· eWASM(以太坊虚拟机EVM的升级项目)
一旦交付,Ethereum 2.0将 支持非常可观的链上交易吞吐量,同时兼顾去中心化和安全性 。有了这个基础,以太坊有可能成为:
· 现实世界中价值转移的关键基础设施;
· 新经济体系的平台;
· 全球合作的中心;
以太坊2.0并非由一个企业开发;以太坊在多个层面上都是去中心化的。
Vitalik说得最好:
“区块链在 政治上 是去中心化的(没有人能控制它们), 架构上 也是去中心化的(没有基础设施性的中心故障点),但是它们在 逻辑上 是中心化的(有一个共同达成一致的状态,系统就像一台计算机)” Vitalik Buterin
此外,以太坊在 运行方面 是去中心化的(没有单一实体负责维持区块链的运行)。
那么,如果没有人控制以太坊,以太坊2.0是如何创建的?
这是以太坊众多吸引人的方面之一。它具有有机品质, 希望为人类组织如何在扩大规模的同时仍具有包容性做出贡献 。
以太坊协议描述了产生以太坊区块链所必需的交互作用。这是一个庞大的开源项目。研究人员和实施者组成的大型社区提出想法,然后讨论,改进,最后实施以太坊协议。以太坊基金会在这一过程中具有很大影响力,并且对研究人员和实施者非常重视,但是相关决定都是社区通过共识做出的。
用于运行以太坊的软件称为客户端或节点。以太坊网络中存在许多以太坊客户端,由不同的软件开发组编写(都是开源的)。
除了客户端之外,还有一个完整的开源软件项目生态系统,致力于构建以太坊的不同方面。
这些包括:
· 智能合约语言(Solidity,Vyper)
· RPC库(web3js,ethers,Nethereum)
· 开发工具(truffle,ganache,solc,solium)
背景就介绍到这,让我们进入正题。
研究
正在研究的许多研究课题需要结合起来才能使以太坊2.0发挥作用。这些课题在以太坊研究网站上有公开记录,并且可以进行讨论。研究人员和软件开发人员有机会查看和评论相关提案。
研究课题包括:
许多课题已经达到可以实施的程度,但也有很多主题处于早期阶段,需要更多时间来确定研究成果。
参考实现(Reference Implementation)
随着研究课题的成熟,它们会合并为实施团队用于开发以太坊2.0客户端的规范。
为了帮助实现这一目标,以太坊基金会正在开发Python的参考实现客户端。他们还提供非常有价值的社区支持,以帮助实施团队。定期的以太坊2.0实施者呼叫(call)每两周运行一次,以跟踪进度,回答问题,并就常见问题达成共识。
信标链/分片客户端
以下团队正在研究或开发信标链/分片客户端:
· Prysm——由Prysmatic Labs开发,用Go编写。他们每两周都会对他们的进展进行一次精彩的更新。
· Lighthouse——由Sigma Prime开发,用Rust编写。
· Nimbus——由Status开发,用Nim编写。
· Lodestar ——由Chain Safe Systems开发,用JavaScript编写。
· Harmony ——由Ether Camp开发,用Java编写。
· Pantheon——由ConsenSys的协议工程小组PegaSys开发,用Java编写。该团队专注于以太坊面临的关键性挑战,包括公链和私链的可扩容性和隐私。
· Trinity——由Trinity团队(由Piper Merriam领导)开发,用Python编写。
每个团队在实施以太坊2.0规范方面的进展各不相同。 在这个阶段,所有团队都在努力建立一个信标链客户端,这是以太坊2.0愿景的核心。
到目前为止进行的信标链工作包括:
· 信标链状态数据结构和持久性
· 每个区块的状态转换
· 分叉选择实施
· 验证器改组
· 区块发起者的角色
· 数据结构序列化
· P2P协议
目前正在讨论的一个重要进程是 需要一种对测试用例进行编码的通用测试语言 ——使研究人员能够定义一组具有预期结果的测试,每个团队可以根据规范验证其实施,从而在不同团队之间提供一致性。
eWASM
eWASM并非特定于以太坊2.0。该项目已由eWASM团队开发一段时间,专注于与当前EVM的兼容性。eWASM团队正在评估新方法的影响,但关于执行如何实际运行的研究还处于早期阶段。
特别是,新的以太坊2.0分片系统很可能会使用一个延时执行模型。当前EVM区块链在处理交易时会立即执行智能合约代码。
在新的以太坊2.0分片系统中:
· 分片将负责交易排序,仅存储数据
· 重叠的执行过程将读取交易,执行代码和写回结果
执行重叠(overlay)可能是构建在顶部的第2层进程,而不是bake到区块链中。
总结
现在有一群充满智慧的人致力于让以太坊的更棒。研究仍在继续,正在开发稳固的信标链实施。