Ethereum 2.0 (也称为“Serenity”) 指的是以太坊核心协议的下一次重大升级,也就是“第一层”(Layer 1) 的几项改进。它试图通过引入分片(Sharding)、PoS共识(CasperFFG)、信标链(Beacon Chain)和新型虚拟机(eWASM)等改进和维护自身。此外,第二层(Layer 2)扩展性解决方案已有Plasma、State Channels、Payment Channels和ZK-STARKs等。
目前,共有9个独立开发团队建设ETH 2.0客户端:Prysmatic Labs、ChainSafe、PegaSys、Harmony、ParityTechnologies、Sigma Prime、Status、Ethereum Foundation、Yeeth。以太坊Github主代码库贡献者数量超过400人。在一定程度上,几乎可以说以太坊代表了基础公链甚至行业的最高技术水平。它的发展阶段、面临困境和探索方向同样是整个行业共同面临的。
风起于青萍之末,我们应见微知著。大风是自小风发展而来,大影响、大思潮、大趋势也都是从微细不易察觉之处源发。一叶落而知秋,我们决定推出Ethereum2.0一系列解读文章。本文为第三篇,以太坊/加密行业团队篇。
1.Prysmatic Labs
Prysmatic Labs成立于2018年1月,是初始以太坊基金会受益人,致力于帮助以太坊区块链实现可扩展性,为以太坊区块链上有价值的 DApps、智能合约提供支持。负责开发Prysm,它是Ethereum 2.0的全功能分片客户端,采用Golang语言,可提高事务处理速度。Prysmatic Labs的团队成员拥有分布式系统到云计算的各种背景,强调用测试驱动的方法,实现系统的首个分片客户端。
官网公布了6名核心成员:Raul Jordan、Preston Van Loon、Terence Tsao、Ivan Martinez、Nishant Das、Shay Zluf。Raul Jordan,联合创始人,毕业于哈佛大学,曾在哈佛大学担任软件工程师,并创办过Kynplex、Gen EX等企业;Preston Van Loon,联合创始人,毕业于美国中田纳西州立大学计算机专业,曾在Google担任软件工程师。
2.ChainSafe
ChainSafe是一家区块链的研发公司,总部位于多伦多,为许多不同的基于以太的项目提供咨询服务,包括Bunz、Shyft、Aion和Polymath。该团队目前正在构建一个用JavaScript/TypeScript编写的名为Lodestar的Ethereum 2.0客户端,为Web3建设基础设施。除了beacon chain客户端,该团队还致力于JS中的简单序列化(SSZ)、TS中的固定大小的BigNumbers以及JS中的BLS签名和签名聚合。其开源研发由Ethereum 、Web3、Interchain、Ethereum Classic、Ethereum Community Fund机构支持。目前开源的项目有Gossamer、Lodestar、Ethermint、Ethereum Classic等。
3.PegaSys
4.Harmony
5.Parity Technologies
6.Sigma Prime
Sigma Prime成立于2016年,是一家信息安全及区块链技术咨询公司,正在构建一个名为Lighthouse的Ethereum 2.0客户端,它是用编程语言Rust编写的。团队成员在系统设计、信息安全和分布式账本技术方面拥有丰富的经验。
核心成员包括Luke Anderson、Adrian Manning、Paul Hauner、Mehdi Zerouali。Luke Anderson是悉尼大学的博士研究生,在悉尼大学和悉尼科技大学讲授信息安全课程,国内和国际区块链论坛的杰出演讲者,研究重点是区块链及其底层技术,行业经验十分丰富;Adrian Manning拥有悉尼大学物理学博士学位,专攻区块链技术、密码学和信息安全,Adrian在物理和数学方面的专业知识现在支持他在Sigma Prime的工作;Paul是一位多学科的软件工程师、自由软件开发人员和技术顾问、区块链和分布式账本技术的早期采用者,为大银行和政府网络安全运营中心实施系统,在Ethereum网络方面拥有独特的专业知识,在智能契约开发、测试和实现方面具有丰富的经验;Mehdi Zerouali在道德黑客方面十分擅长,曾在安永(Ernst & Young)咨询部门担任渗透测试员,对金融服务、电信和公共部门等一系列行业的企业网络和应用进行了数百次渗透测试。他在识别安全漏洞方面多年的实践经验帮助Sigma Prime提供了卓越的安全服务。
7.Status
Status既是一个通信平台也是一个移动端浏览器,特定为以太坊用户所设计。获得过分布式资本的天使投资。Status于2017年6月20日开始进行众筹,按当时ETH的价格,共募集约1亿美元。Status团队正在构建Nimbus——一个用Nim编程语言编写的Ethereum 2.0客户端。团队的目标是要尽力推广以太坊的广泛使用,并且希望优化Nimbus使得它还能在硬件资源非常有限的设备上运行。因此,运行Nimbus只需要很少的硬件资源,Nimbus有望成为Ethereum的第一个移动本地客户端,让以太坊也能在手机和各种手持设备上运行。
Status的CEO Jarrad Hope 2010年开始参与区块链技术的研究,2016年10月提出在Android和IOS上实现以太坊轻客户端的构想;Nabil Naghdy,COO,有7年谷歌工作经验,参与过谷歌Map;Viktor Tron, Swarm Ethereum Foundation 核心开发者和创建者;Zsolt Felfoldi, Go Ethereum轻客户端核心开发者,以太坊基金会成员;Luis Cuende& Jorge Izquierdo, Aragon创始人,Aragon是另一个以太坊基金会支持的项目;沈波,分布式资本创始人。
8. Trinity
Trinity团队由六名开发人员组成,其中5名成员都与以太坊基金会签订了工作合同。该团队正在构建Trinity——一个用Python编程语言编写的Ethereum 1.0和2.0客户机。Trinity启用了一直以来无人问津的PyEthApp。PyEthApp原来由Vitalik Buterin编写。团队成员包括首席架构师Piper Merriam、Python黑客(友好型)Jason Carver、软件工程师Christoph Burgdorf和Brian Cloutier。
9. Yeeth
各团队获得的具体资助金额及资助来源如下表所示:
资料来源:数链评级;EthHub
Ethereum 2.0 (也称为“Serenity”) 指的是以太坊核心协议的下一次重大升级,也就是“第一层”(Layer 1) 的几项改进。它试图通过引入分片(Sharding)、PoS共识(CasperFFG)、信标链(Beacon Chain)和新型虚拟机(eWASM)等改进和维护自身。此外,第二层(Layer 2)扩展性解决方案已有Plasma、State Channels、Payment Channels和ZK-STARKs等。目前,共有9个独立开发团队建设ETH 2.0客户端:Prysmatic Labs、ChainSafe、PegaSys、Harmony、ParityTechnologies、Sigma Prime、Status、Ethereum Foundation、Yeeth。以太坊Github主代码库贡献者数量超过400人。在一定程度上,几乎可以说以太坊代表了基础公链甚至行业的最高技术水平。它的发展阶段、面临困境和探索方向同样是整个行业共同面临的。风起于青萍之末,我们应见微知著。大风是自小风发展而来,大影响、大思潮、大趋势也都是从微细不易察觉之处源发。一叶落而知秋,我们决定推出Ethereum2.0一系列解读文章。本文为第二篇,以太坊/加密行业分片篇。
1.分片的提出区块链系统中有一个三难困境,可以用一个称为DCS三角形的三角形来表示,它所表达的意思是不可能同时实现去中心化、一致性和可扩展性,权衡是必要的(你可以选择任何两个,但不是全部)”。
资料来源:EthHub;数链评级目前,在所有区块链协议中,每个节点存储整个状态(帐户余额、契约代码和存储等)并处理所有事务。这提供了大量的一致性,但极大地限制了可扩展性:区块链不能处理比单个节点更多的事务。正因为如此,比特币被限制在每秒3-7笔交易,以太币被限制在7-15笔交易,等等。是否能创建一种新的机制,其中只有一小部分节点验证每个事务?只要有足够多的节点验证每个事务,那么系统仍然是高度安全的。但是,在整个验证器集中只占足够小的百分比,系统就可以并行处理许多事务,难道我们不能将事务处理划分到更小的节点组中,从而大大提高区块链的总吞吐量吗?分片(shard)就是解决这一挑战的一种尝试。它意味着将大型链(数据库)划分为更小、更快的链,从而使整个系统更具可扩展性。为了解决可扩展性问题,我们将存储在主链上的状态和历史分割为碎片。每个分片都管理自己,有自己的事务历史,并且某些分片中的事务的效果仅限于该切片。分片是区块链扩容的链上解决方案之一,市场上众多项目都采用了分片技术。
资料来源:数链评级
在特定分片上被称为校对器(Collator)的节点的任务是创建校对块(Collation),校对块是一种包含关于所涉及分片的重要信息的特定结构。这些校对块就像对特定分片的状态和交易的简短描述,每个校对块都有一个校验头(Collation Header),是包含以下信息的数据片:
1).关于校对块所对应的分片信息(比如分片10)2).在所有交易生效前,相关分片的最新状态信息3).在应用所有交易后,分片将变成的状态4).来自分片上占所有校对器数量 2/3 的校对器数字签名,确认校对块是合法的。然后,超级节点将把所有分片中的校对块放到以太坊区块链中将要添加的区块中。他们的职责是处理所有校对块中的交易,并通过汇总他们的校验头来维护所有分片的状态。在这种新的区块链中,满足以下条件时,区块是有效的:
1).在所有校对块中的交易有效2).校对块的状态与交易前校验块的最新状态一致3).校对块交易后的状态与校验头所指定的状态一致4).校对块被所有校对器的2/3签名4.分片技术面临的挑战1).跨分片通信 -上述设计不支持跨分片通信。我们如何安全地增加跨分片通信。2).单分片接管攻击 -如果在一个分片中攻击者接管了大多数协调者,要么获取足够的签名来阻止任何排序规则,要么更糟糕的,提交无效的排序?3).欺诈检测 -如果得到一个无效的排序规则,节点(包括轻节点)如何能够可靠的得知,以便它们可以验证欺诈行为并且确认是欺诈行为之后拒绝这个排序规则?4).数据可用性问题 -作为欺诈检测的子集,排序规则中缺失数据这种特殊情况会怎么样?5).超二次分片 -在n > c^2的特殊情况下,在上面给出的简单设计里面,将会有超过O(c)的排序头,因此普通节点将不能处理它们,只能处理顶级区块。因此,在交易和顶级区块头直接超过两级的间接寻址是需要的(即我们需要”分片的分片“)。达到这个目标的最简单和最好的方式是什么呢?数链评级从分片方式、分片技术、共识、技术团队等方面对比了几个典型的采用分片技术的项目,如下表: