近日,由于项目方恐慌式的抛售,ETH币价出现了大幅下滑;与此同时,以太坊网络建设却在如火如荼进行之中。
Rocket Pool区块链高级工程师Darren Langley用以下这篇文章向我们讲述了以太坊网络的建设进展,以太坊正在朝2.0时代大步迈进之中。
作者:Darren Langley
编译:Morpho Hawkes、Diana
以太坊2.0包括这些关键项目,概括如下:
权益证明(信标链、Casper FFG)
分片
eWASM(以太坊web aseembly)
以太坊2.0一旦开始运营,就会支持大规模的链上交易吞吐量,与此同时平衡“去中心化”与“安全性”。有了这个基础,以太坊就有潜力成为:
全球价值转移的基础设施的关键一环;
新经济系统的一个平台;
全球协作的枢纽;
以太坊2.0并非一家单独的企业开发。以太坊在多个层面上都是去中心化的。
Vitalik用一句极好的话对其进行了总结:
区块链在政治上去中心化(没有人能控制);建筑上去中心化(基础设施没有一个能崩溃的中心点);但是,逻辑上却是中心化的(有一个大家都认同的状态,虽然它调运了许多计算机上的资源,但整个体系运转得就像一台计算机一样)。
(来源:Vitalik Buterin (Meaning of Decentralization)
此外,以太坊在操作上也是去中心化的(没有一个单独实体,负责区块链持续运营)。
所以,若是以太坊无人控制,那以太坊2.0该怎样建设?
这是人们对以太坊许许多多令人着迷的展望中,非常有趣的一部分。以太坊有一种“有机性”,这种特性有望为人类组织作出贡献,使其在扩张的同时又保持组织的包容性。
以太坊协议,描述了一组互动,这组互动是生产以太坊区块链的必要条件。以太坊是一个巨大的开源项目。有一大批研究者和实作者,组成了社区,都在提出创意,讨论,修改,执行以太坊协议。这一过程中,以太坊基金会影响力很大,而且拥有一批重要的研究者和实践者。不过,必须达成社区的共识,才能作出决定。
用于运行以太坊的软件称为客户端或节点。很多以太坊客户端应用,都是由不同的软件开发群体写成的,这些团体全部开源。
图表:以太坊的建设
第一行:开发的生态环境
上:开发工具。下左:智能合约语言。下右:API 库。
第二行:客户实现(实现协议)
从左到右:GETH实现,Parity客户端,Aleth客户端(cpp-ethereum),Trinity客户端、Harmony客户端
第三行:以太坊协议规范
除了客户实现之外,开源软件项目还有一整套生态系统,用以建设以太坊各个方面。
这些方面包括:
智能合约语言(Solidity语言、Vyper语言)
RPC(远程过程调用)库(web3js库、ethers库、Nethereum库)
开发工具(truffle开发框架、ganache框架、solc框架、solium框架)
背景介绍差不多了,下面上干货:
研究
目前业界关注很多研究话题,需要把这些话题整合到一起,才能让以太坊2.0运作。这些话题,都在Ethereum Research网站上有公开档案和讨论。研究者和软件开发者有机会,咨询、评论各种提议。
这些研究话题包括:
签名集合
随机数字生成
分叉选择
数据可用性
轻客户端支持
P2P通信
跨分片通信、状态/执行分离
很多话题都已经发展到了可以实现的程度,但也有同样多的话题,还处于早期阶段,需要更多时间才能确定。
实现参考
随着关于研究课题日益成熟,研究成果就会形成一种规范。各个“实施团队”正是以此来开发自己的以太坊2.0客户端。
为了帮助实现这一目标,以太坊基金会正在用Python语言开发一种参考实现客户端。他们还提供有价值的社区支持,以帮助实施团队和定期的以太网2.0实施者呼叫每两周运行一次,以跟踪进度,回答问题,并就常见问题达成共识。
信标链/分片客户端
以下团队,要么在研究某种信标链/分片客户端,要么在开发中:
Prysm——开发团队:Prysmatic Labs.使用语言:Go.每两周更新工作进度,表现出色。
Lighthouse——开发团队:Sigma Prime.使用语言:Rust.
Nimbus——开发团队:Status.使用语言:Nim.
l Lodestar——开发团队:Chain Safe Systems.使用语言:JavaScript.
Harmony——开发团队:Ether Camp.使用语言:Java.
Pantheon——开发团队:PegaSys,即ConsenSys的协议工程团队。使用语言:Java.团队关注那些重要的以太坊难题,包括公有链、私有链的可扩展性、私密性。
Trinity——开发团队:Trinity团队,领导人是Piper Merriam.使用语言:Python.
这些团队,在实现以太坊2.0规范的进度方面,各自有所不同。目前阶段,所有团队都在努力建设信标链客户端,这一任务位于以太坊2.0愿景的核心。
目前已经完成的信标链工作包括:
信标链状态数据结构和持续力
每区块状态转换
分叉选择实现
验证程序洗牌
区块提案者角色
数据结构序列化
P2P协议
目前,业界正在讨论一件至关重要的事情:需要一种对测试用例进行编码的通用测试语言, 使研究人员能够定义一组具有预期结果的测试,每个团队可以根据规范验证其实现,从而在不同团队之间提供一致性。
eWASM
eWASM项目的用途不仅限于以太坊2.0。实际上,eWASM团队开发这个项目已经有一段时间了,关注的是与目前EVM(虚拟机)的兼容。eWASM团队正在评估新方法的效果,但考虑到执行的具体方式,这一研究还处在早期阶段。
特别需要说明的是,新的以太坊2.0分片系统很可能会使用延迟执行模型。当前EVM区块链在处理交易时立即执行智能合约代码。
新的以太坊2.0分片系统却是这样的:
各个分片将只对交易序化、存储数据负责。
一个重叠的执行过程会读取交易,执行代码并写出反馈结果。
执行覆盖可能构建在顶部的第2层进程,而不会上链。
结语
许多聪明的天才在为打造更加强大的以太坊而努力。研究还在继续,人们也在不断开发出稳健的信标链应用。
感谢以太坊基金会Hsiao-Wei Wang、PegaSys的Ben Edgington的用心反馈。
END
领取专属 10元无门槛券
私享最新 技术干货