以太坊2.0:有哪些关键项目?谁在做?进展如何?区块链

medium 2018-09-08 00:09
分享到:
导读

一旦交付,Ethereum2.0将支持非常可观的链上交易吞吐量,同时兼顾去中心化和安全性。

原文作者为Rocket Pool的区块链开发人员Darren Langley。Rocket Pool是下一代PoS矿池,专注于与以太坊的新共识协议Casper的兼容性。

1_eI4oTKbttsVRTwiBPi0pDQ

以太坊的路线图是拥有远大理想的。在我们的上一篇文章中,我们描述了以太坊2.0的愿景。

作为回顾,以太坊2.0结合了以下关键项目:

· 权益证明(信标链,Casper FFG)

· 分片

· eWASM(以太坊虚拟机EVM的升级项目)

一旦交付,Ethereum 2.0将支持非常可观的链上交易吞吐量,同时兼顾去中心化和安全性。有了这个基础,以太坊有可能成为:

· 现实世界中价值转移的关键基础设施;

· 新经济体系的平台;

· 全球合作的中心;

以太坊2.0并非由一个企业开发;以太坊在多个层面上都是去中心化的。

Vitalik说得最好:

“区块链在政治上是去中心化的(没有人能控制它们),架构上也是去中心化的(没有基础设施性的中心故障点),但是它们在逻辑上是中心化的(有一个共同达成一致的状态,系统就像一台计算机)” Vitalik Buterin《去中心化的意义》

此外,以太坊在运行方面是去中心化的(没有单一实体负责维持区块链的运行)。

那么,如果没有人控制以太坊,以太坊2.0是如何创建的?

这是以太坊众多吸引人的方面之一。它具有有机品质,希望为人类组织如何在扩大规模的同时仍具有包容性做出贡献。

以太坊协议描述了产生以太坊区块链所必需的交互作用。这是一个庞大的开源项目。研究人员和实施者组成的大型社区提出想法,然后讨论,改进,最后实施以太坊协议。以太坊基金会在这一过程中具有很大影响力,并且对研究人员和实施者非常重视,但是相关决定都是社区通过共识做出的。

用于运行以太坊的软件称为客户端或节点。以太坊网络中存在许多以太坊客户端,由不同的软件开发组编写(都是开源的)。

1_IwgP7jC7OVAVKKzC2oY20g

除了客户端之外,还有一个完整的开源软件项目生态系统,致力于构建以太坊的不同方面。

这些包括:

· 智能合约语言(Solidity,Vyper)

· RPC库(web3js,ethers,Nethereum)

· 开发工具(truffle,ganache,solc,solium)

背景就介绍到这,让我们进入正题。

研究

正在研究的许多研究课题需要结合起来才能使以太坊2.0发挥作用。这些课题在以太坊研究网站上有公开记录,并且可以进行讨论。研究人员和软件开发人员有机会查看和评论相关提案。

研究课题包括:

· 签名聚合

· 随机数生成

· 分叉选择

· 数据可用性

· 轻客户端支持

· P2P通信

· 跨分片通信和状态/执行分离

许多课题已经达到可以实施的程度,但也有很多主题处于早期阶段,需要更多时间来确定研究成果。

参考实现(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到区块链中。

总结

现在有一群充满智慧的人致力于让以太坊的更棒。研究仍在继续,正在开发稳固的信标链实施。

开发 研究 区块 团队 实施
分享到:

1.TMT观察网遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.TMT观察网的原创文章,请转载时务必注明文章作者和"来源:TMT观察网",不尊重原创的行为TMT观察网或将追究责任;
3.作者投稿可能会经TMT观察网编辑修改或补充。