雄心背后,谁在构建以太坊2.0?

unitimes.media

全球视角,独到见解

以太坊的路线图雄心勃勃。在上一篇文章

《一文概览以太坊2.0》

中,我们描述了以太坊2.0的愿景。

总结而言,以太坊2.0整合了以下关键项目:

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

分片技术

eWASM

这一愿景一旦实现,以太坊2.0不仅能够支持巨大的链上交易吞吐,还能在去中心化和安全性之间取得更好的平衡。有了这个基础,以太坊有可能成为:

世界级价值转移的关键基础设施

新经济体系的平台

全球合作的中心

以太坊2.0不是某家公司专属的开发品,相反,它是多层面去中心化的。

关于这种去中心化,Vitalik总结得很精辟:

区块链兼具政治去中心化(没有人控制它们)以及架构去中心化(没有基础设施中心故障点),但是它们的逻辑是中心化的(有一个共同商定的状态。并且从整体来看,整个系统就像是一台单一的计算机)。

——Vitalik Buterin《去中心化的意义》

(https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274)

此外,以太坊在操作上也是去中心化的(不存在某个单一的实体负责保持区块链的运行)。

因此,如果没人控制以太坊,那么以太坊2.0是如何构建的呢?

这正是以太坊引人入胜的方面之一。其内在的有机质有望在扩大人类组织规模的同时保留纯粹的包容。

以太坊协议描述了产生以太坊区块链所必需的交互作用。这是一个庞大的开源项目。由研究者和实施者组成的大型社区提出想法、讨论、改进和实现以太坊协议。以太坊基金会在这一过程中具有一定的影响力,基金会中有一些受到高度重视的研究者和实施者,但最终的决策还是由社区通过共识来做出决定。

用来运行以太坊的软件称为客户端或节点。以太坊客户端有很多不同的实现版本,且由不同的软件开发团队进行编写(都是开源的)。

以太坊开发:

除客户端以外,以太坊还有一个完整的开源软件项目生态系统,这个系统致力于构建以太坊不同层面,使以太坊更加完善。

其中包括:

智能合约语言(Solidity,Vyper)

RPC库(web3js,ethers,Nethereum)

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

好啦,介绍完背景,我们开始进入正题。

研究

目前有许多正在进行的研究课题,我们需要把这些课题有效整合以确保以太坊2.0的运作。这些课题在以太坊研究网站(https://ethresear.ch/)都有公开的文档以及讨论内容。研究人员和软件开发人员都可以查询或评论这些提案。

这些研究课题包括:

聚合签名

随机数生成

分叉选择

数据可用性

轻客户端支持

P2P通信

跨分片通信 & 状态/执行分离

这些课题有一部分已经能够实现,但仍有相当一部分处于早期阶段,需要更多时间来敲定。

参考实现

一旦研究课题成熟,它们将会被合并为实施团队用于开发以太坊2.0客户端的规范(链接:https://notes.ethereum.org/s/Syj3QZSxm)。

为了帮助实现这一目标,以太坊基金会正在开发基于Python的参考实现(链接:https://github.com/ethereum/beacon_chain)客户端。他们还提供有价值的社区支持(链接:https://gitter.im/ethereum/sharding)来帮助实施团队,以太访2.0实施者电话会议(链接:https://github.com/ethresearch/eth2.0-pm)每两周进行一次以追踪进度、回答问题,并就常见问题达成共识。

信标链/分片客户端

以下团队正在研究或开发信标链/分片客户端:

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--由(Piper Merriam领导的)Trinity团队基于Python开发。

团队在实施以太坊2.0规范方面的进展各不相同。在这一阶段,所有团队都共同致力于构建信标链客户端,这是以太坊2.0愿景的核心。

到目前为止,已经进行的信标链工作包括:

信标链状态数据结构及持久化

单一区块状态转换

分叉选择实施

验证者改组

区块提议者角色

数据结构序列化

P2P协议

还有一个正在讨论的重要进程,那就是:确定一种对测试用例进行编码的通用测试语言,从而使研究人员能够定义一组具有预期结果的测试,每个团队都可以使用这些结果以根据规范来验证其实现,从而在不同的团队之间提供一致性。

eWASM

eWASM不是特定于以太坊2.0的方法。eWASM团队在这一项目的开发已经有相当一段时间,它主要专注于解决与当前EVM的兼容性。 eWASM团队正在对新方法的结果进行评估,但关于“如何有效执行”的研究还处于早期阶段。

此外,新的以太坊2.0分片系统很可能会使用延迟执行模型,而当前EVM区块链在处理交易时采用的是“立即执行智能合约代码”的策略。

在新的以太坊2.0分片系统中:

分片将只负责交易排序和存储数据

覆盖的执行过程负责读取交易,执行代码以及写回结果

执行覆盖可能是构建于顶部的第2层进程,不再合并到区块链中。

总结

以太坊汇聚了众多优秀而杰出的人们的心血。这些研究仍在继续,而信标链的开发也在稳步实现。

非常感谢Hsiao-Wei Wang(以太坊基金会)和Ben Edgington(PegaSys)的反馈。

Unitimes 特约作者

Darren Langley

Rocket Pool区块链高级开发者

https://medium.com/rocket-pool/ethereum-2-0-whos-building-it-54a735442e

翻译:喏呗尔

参考及注释:

1. 聚合签名:

链接:https://ethresear.ch/tags/signature-aggregation

2. 随机数生成:

链接:https://ethresear.ch/tags/random-number-generator

3. 分叉选择:

链接:https://ethresear.ch/t/immediate-message-driven-ghost-as-ffg-fork-choice-rule/2561

4. 数据可用性:

链接:https://ethresear.ch/tags/proofs-of-custody

5. 轻客户端支持:

链接:https://ethresear.ch/tags/stateless

6. P2P通信:

链接:https://ethresear.ch/tags/p2p

7. 跨分片通信和状态/执行分离:

链接:https://ethresear.ch/tags/cross-shard& https://ethresear.ch/tags/state-execution-separation

8. Prysm:

链接:https://github.com/prysmaticlabs/prysm

9. Prysmatic Labs:

链接:https://prysmaticlabs.com/

10. Lighthouse:

链接:https://github.com/sigp/lighthouse

11. Sigma Prime:

链接:https://sigmaprime.io/

12. Nimbus:

链接:https://github.com/status-im/nimbus

13. Status:

链接:https://status.im/

14. Nim:

链接:https://nim-lang.org/

15. Lodestar:

链接:https://github.com/ChainSafeSystems/lodestar_chain

16. Chain Safe Systems:

链接:https://chainsafe.io/

17. Harmony:

链接:https://github.com/ether-camp/ethereum-harmony

18. PegaSys:

链接:https://pegasys.tech/

19. Trinity:

链接:https://trinity.ethereum.org/

国际金融科技新媒体和社区平台

UNITIMES

网址 : unitimes.media

新浪微博:@Unitimes

等你点赞转发都等出蜘蛛网了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180917B1UUV100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券