以太坊2.0是一个“未来女友”
编者按:
信仰至上,区块链的世界里,以太坊是一个众多开发者共同支撑起的庞大生态,而反之支撑开发者的也是信仰,但开发者想要实现的目标却在不断延后以太坊的进度。这就好像梦想中的女友,有憧憬,但始终存在于未来,甚是有趣。
以太坊始终代表着区块链的应用型未来,因此无论以太坊已经被竞争链diss的多么严重,其发展代表的依旧是主流,EDCON是以太坊继巴黎会议后又一个大型的集会,金色财经与参会并发表演讲的Speaker“CyberMiles首席科学家Michael Yuan”和CyberMiles的开发者 Timothy McCallum 共同约稿,写下了他们在开发者大会上的所见所闻,其中将以太坊及一些工程化方案详细叙述。由金色财经记者整理并加入了更多的辅助性内容。
作者介绍:
Michael Yuan 博士
Michael Yuan拥有美国德州大学奥斯汀分校天体物理学博士学位,并撰写了5本关于软件开发的书籍。他积极为大型开源项目贡献编码,如火狐浏览器、Fedora和JBoss等项目。他是企业和移动软件专家,曾任多项美国政府支持的研究项目的负责人。
Timothy McCallum
Timothy McCallum专门研究区块链在商业中的实现。他是金融科技编程专家,最新的项目是帮助地方政府进行金融数据迁移。2015年,他获得AMP明日基金奖。他的工作中心是为复杂的问题找到不同寻常的解决方案。Timothy McCallum是谷歌开源项目Summer of Code的著名导师。2014年曾作为谷歌的嘉宾,在硅谷与来自世界各地的软件开发人员合作。
EDCON2019已在澳大利亚悉尼落下帷幕,与6个月前的DEVCON4不同的是,Vitalik Buterin一转平时技术天才的形象,带领以太坊核心开发者进行了一场别开生面的Rap开场表演。随及视频在各个社区病毒式传播,而让这一次的开发者大会备受关注。整个会议的氛围是欢快有趣的,不只是干货满满的会议演讲,还有社区互动、思想碰撞,协作编码机会,甚至是物理难题挑战。
在开幕的Rap表演之后,Vitalik Buterin就回到了技术开发者的身份,介绍了Casper CBC。更具体地说,是Casper CBC共识协议系列如何在以太坊2.0中发挥作用的。Casper CBC是以太坊2.0阶段中实现POS共识的重要工具,最终达到的目标是依靠Casper CBC可以在不断变化的分叉中确定哪一条才是基础链,也就是正确的广播的路径。
在他的演讲中,我们发现了一个最有趣的事实是,Casper CBC实际上没有“协议内”的错阈值(阈值容错?)(即向后兼容后期的改动)。取而代之的是,客户端要求了更高的安全性,以达到每个以太坊2.0客户端都可以通过选择自己的要求来选择如何与协议进行交互。
重点:
l 终端是客户端
l 以太坊2.0协议中没有最终界限。
有趣的几点:
l 验证人根据fork选择规则选择哪个链是“规范”的
l 验证人在特定的链上构建块,这加强了该链的主导地位
l 验证人不能恶意切换到另一个链,这会产生可证明的违规行为
这些要点最初由Vlad Zamfir发明,是安全、异步的BFT共识新流派的一部分。
以太坊2.0验证人
随着演示的进行,以太坊2.0中,验证人的角色和职责变得越来越明显。例如,成为验证人需要在以太坊1.0主链的相应智能合约中存入32个ETH。 一旦这32个ETH得到确认,验证人就在Beacon chain上开始行使职责。Beacon chain是以太坊2.0的系统链,是验证人发挥作用,生成随机数,存放存款和发生削减的地方。
一旦使用随机抽样选择了验证人,它们就会在beacon chain上服务大约2周。 这些验证人承担责任,需要提出有效的以太坊2.0区块,创建交联(分片链之间的通信)和对正确的交叉分片链接进行投票选择。
以太坊2.0验证人奖励和处罚
当然,如果没有处罚,任何质押(staking)系统都不会完整。验证人的惩罚包括但不限于一般的不作为、证明不正确的数据以及错误地证明实际上不可用的数据。在本次会议上,所有的演讲都更多地关注了总体技术架构,因此没有详细介绍验证人的盈利能力。根据特定的假设,以太坊2.0规范中惩罚和奖励部分提供了具体值和年度奖励百分比。
以太坊核心研究员Hsiao-Wei Wang发表了精彩的演讲,主要概述了“以太坊beacon chain验证人的一天”。DannyRyan则提供了很好地说明来如何将分片(sharding)和权益证明集合到一个设计中以创建以太坊2.0,其提供的简单概述图如下:
以太坊2.0路线图(第0阶段)
这次会议的大多数演示引用了以太坊2.0路线图。具体而言,会议引用了以太坊2.0的第一阶段(通常称为阶段0)。在这个阶段,以太坊2.0的技术指标是具体的。前进的道路现在主要集中在工程和开发上。目标是在今年年底之前发布上图所示的beacon chain的核心系统级权益证明。相比于去年11月在布拉格举办的以太坊开发者大会,这次召开的会议已经有明确的时间线,不再是泛泛而谈。
第0阶段实施计划于2019年第4季度完成。以太坊2.0分阶段实施的原因是可以让开发人员,测试人员和社区采取更保守的方法。例如,阶段0的目标是实现beacon chain,但仍不能有外部帐户或任何用户的活动。
类似地,阶段1(当然将在阶段0之后)将引入分片链(sharded chain),但是只有测试数据。同样没有用户帐户或用户活动。预计以太坊2.0的第2阶段实施将增加账户,智能合约等。
以太坊2.0客户端
Prysmatic Labs的联合创始人兼技术负责人Preston Van Loon做了题为“如何构建生产就绪的以太坊2.0客户端”的精彩演讲。虽然最初设想现有的以太坊1.0客户端是可以更新或升级的,但开发人员在实际操作中已经认识到以太坊2.0客户端必须从头开始编写。
这种新方法的优点之一是,开发人员现在可以接受全新的创意,而无需担心如何与现有以太坊1.0客户端集成的问题。这带来的挑战是最终所有不同的新客户端都需要从互操作性的角度来调整。目前来自世界各地的100多名开发者正致力于开发几十个不同的以太坊2.0客户端。
以太坊社区中开发者异常活跃,已经出现非常多的项目提出了不同的想法,社区参与和合作的方式同样适合CyberMiles,而目前,最重要的是可以提供创新的区块链解决方案兼具高性能、安全、用户适用。Michael Yuan博士将在后文演示CyberMiles如何提供了高性能同时安全且对用户友好的解决方案。
以太坊1.x怎么样?
显然,以太坊2.0距离可用的状态还有漫长的时间。然而,这并不意味着当前的以太坊用户和开发人员仍要使用过时和缓慢的技术。以太坊2.0的许多创新都在今天的以太坊区块链中都可以实现。
例如,整个会议中最常见的讨论主题之一是layer2网络。layer2网络可以将当前的以太坊区块链扩展到每秒数万个交易(TPS)。Plasma的各项实施工作显然是最受关注的,但Liquidity网络、Celer网络等其他解决方案也在会议中进行了深入的讨论。
新的开发工具也正在开发中,用来改善以太坊用户和开发人员的体验。其中特别有趣的示例有:用于集成DApp开发和部署的Embark框架,用于区块链数据可视化和查询服务的Amberdata,以及用于钱包APP中的自动进行token相关操作的Tokenscript。开发者工具也是CyberMiles的创新重点。
与此同时,将整个应用程序数据存储在区块链上的“链上应用程序”正在成为以太坊标准基础架构的一部分。这对于Uniswap、Kyber Network和MakerDAO等Defi(去中心化金融)应用更为重要。
例如,自6个月前推出以来,现已有价值1000万美元的ETH锁定在Uniswap的流动资金池中,并且Uniswap的每日交易达到200万美元。另一方面,MakerDAO已在其存款池中锁定了价值超过3亿美元的ETH。 Defi,包括ERC220 token合约,很可能成为以太坊的标准基础设施。
以太坊核心开发人员Lane Rettig就Ethereum 1.x路线图发表了演讲。他讨论了当前PoW以太坊区块链将会发生的有趣改进,包括对Solidity和Vyper语言的改进,以及Solidity和字节码之间的新中间语言,用来为Ethereum 2.0的新eWASM虚拟机太坊风格的(以WebAssembly)做准备。这些改进将使以太坊平台在虚拟机层面更具可用性和高性能。同样,这也是CyberMiles希望为社区做出积极贡献的领域。
Lity and CyberMiles
CyberMiles首席科学家Michael Yuan博士阐述了Lity(Solidity语言的扩展语言)如何为区块链编程提供创新功能。例如:
l 编译器和运行时支持
l 内置函数,如安全的随机数
l 纯函数,如JSON库
l 新数据类型,如安全整数(safeuint)
l 新的结构,如区块链规则引擎
我们重点解释规则引擎。
区块链规则引擎可以帮助开发者适应更多的应用方向。智能合约的代码是固化的,一旦部署,智能合约的逻辑就不可更改。并且,在部署时,只会发送一组有限的可能条件和逻辑结果,许多现实世界的应用与智能合约的固化相冲突。这种刚性复杂的交互需要更动态的解决方案,因此规则引擎就成了救星。
规则引擎已经在许多“非区块链”企业编程语言和框架中使用。例如Drools,Jess和Pega等业务规则平台。也已经为许多行业提供了价值,包括金融,商业,旅游和政府。Michael Yuan博士用代码演示了如何在区块链编程的未来使用规则引擎。
支持模块化是规则引擎一个重要的特性,因为创建业务逻辑大多是业务分析人员的工作,而不是智能合约程序员。模块化还允许代码重复使用,支持并行开发。CyberMiles所提供的区块链规则引擎为业务分析师设计和创建规则提供了一种无需编写智能合约代码的机制。其中包括现实世界的应用,这些应用展现了规则引擎作为那些不是程序员的人的需求必要性。
最简单举例有快餐订单,如果菜单上的清单需要慢慢被加进“套餐”中,没有规则引擎,传统的智能合约代码会变得很长,难以编写且无人理解。而从下图中可以看出,规则语法使其变得非常简单。
规则引擎提供了一种适用于非程序员的简洁解决方案,易于编写,理解和维护。规则引擎非常强大,部署后,规则引擎采用Rete算法,这是一种模式匹配算法,用于确定规则执行的正确顺序。
(Tim 与Uniswap创始人Hayden Adams)
写在最后
在这次开发者大会上有很多令人惊叹的讲者、团队和项目。在最后,我们引出几个项目,都是非常鼓舞人心并且很有趣的项目。
Embark
Embark最初于2015年发布,是一个以太坊开发框架,为开发人员提供了创建私有区块链,调试智能合约等的能力。从我们的理解上“Embark节省了时间”。 Embark拥有强大的CLI,Web UI仪表板,资源管理器,自己的代码编辑器,还集成了IPFS等去中心化服务。Embark是一个完全开源的项目,由开发人员创建,并且是为了开发人员而创建的。
以太坊Classic Labs
以太坊Classic Labs做了一个很棒的演讲,为我们介绍了一个名为Open RPC的绝妙项目。在我们看来,这个项目将有助于提供无处不在的通信协议,这将大大改善以太坊DApp的开发环境。以太坊Classic Labs还提供孵化器计划,为创业公司提供资金。传达的重要信息是,虽然大部分开发都是由以太坊经典实验室(ETC)创建的,但旨在被更广泛的以太坊(ETH)社区使用。
以太坊猫牧人(Cat Herder)
以太坊Cat Herder项目旨在为像以太坊这样的大型合作提供去中心化的项目管理支持。演讲者回忆起以太坊的早期阶段,那时候,决策中心化并且筹得的资金被随意花费,和今天的许多加密项目非常相似。以太坊现在成为了一个高度组织化的项目,有许多相互冲突的利益相关者,这是对社区力量的一种考验,也是其他项目的良好范例。
Virgil Griffith - 参数保险(基于可量化条件的保险)
以太坊基金会的特别项目负责人Virgil Griffith就去中心化的保险协议和产品进行了精彩的讨论。Virgil举例说明了现实世界的结果如何自动调用付款。一个典型的例子是天气保险,其中保险单的购买者将基于诸如风速这样的简单度量自动接收保险支付。
例如,当气象站(接近上了保险的财产)登记的风速超过阈值时,触发即时支付。不需要保险评估员,也不会有延迟。另一个例子是航班延误保险,根据航班延误的时间实时发放支付。无需一堆文件申报,无需等待。
这个演讲使我们重新审视了Michael Yuan博士关于区块链规则引擎的演讲。Michael Yuan博士举例说明了规则引擎如何解决复杂问题,例如在复杂情况下计算奖励。例如,一名乘客在起飞后不久获得金牌常飞旅客身份,但不能很快兑换该特定航班的奖励。
许多现实场景中的参数保险领域和其他参数服务,如部分收获的农作物,健康保险等等都可以用到这里。在我看来,最终落到这样的事实:业务分析师以及其他创建策略,模型和合同的专业人士都是在非常高级的抽象层级上工作。另一方面,区块链开发人员和工程师在一个极其特定的层面工作,编写和建立去中心化的基础设施。规则引擎方法允许高级业务逻辑无缝地接入去中心化应用程序(DApp)层。
EDCON2019对于开发者以及各团队来讲,是一个成效卓著、轻松友好的社区活动。在加密货币的世界以及区块链的世界中,以太坊必然是浓墨重彩的一笔,尽管以太坊已随着行业变化趋于金融,但值得关注的是开发者们并不想局限于此,仍然在不断探索。V神虽固执,但整个以太坊的世界中,有很多人在尝试补足以太坊生态,补足整个区块链的生态,这就是我们共同期待的未来。