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
等你点赞转发都等出蜘蛛网了
领取专属 10元无门槛券
私享最新 技术干货