写点什么

留给以太坊的时间不多了

  • 2021-01-13
  • 本文字数:2625 字

    阅读完需:约 9 分钟

留给以太坊的时间不多了

本文原文来自 The Block,由 Odaily 星球日报翻译,InfoQ 经授权转载。


预计到 2021 年底,我们就会知道以太坊是否能成功解决可扩展性问题。


2020 年末,我们终于迎来了以太坊 2.0 顺利上线。此前,许多人都觉得 ETH 2 信标链有许多工作要做,并且难以如期交付,但最终开发人员还是做到了。但其实,这仅仅是个开始,以太坊需要走的更远,因为现在我们可以看到更多问题和机会。


在正式进入主题内容之前,我想先介绍一下以太坊 2021 年的三重路线图:


  1. ETH 1 和 ETH 2;

  2. 分片;

  3. 轻量客户端之间的“合并”。


这是三个独立的方向,会并列进行。


是结束,也是新的开始


信标链是以太坊未来的基础, 采用权益证明而非工作量证明作为其共识管理机制,而且还能支持可扩展性和安全性,预计在未来数年内都将支持以太坊。


这就是 2020 年 12 月 1 日发布的内容,我其实更愿意将其称为“权益证明的证明”,表明以这种方式保护大规模分布的全球性、未经许可的网络是切实有效的。但是,除了运行上线本身之外,信标链还没有做很多事情,我们将继续讨论,因为信标链仍然是以太坊 2.0 项目最具挑战性的交付成果。


自以太坊 2.0 创世区块诞生以来,一切进展基本都比较顺利。信标链已经使任何其他权益证明系统相形见绌:超过 200 万枚以太坊代币已承诺加入以太坊 2.0 存款合约,总价值超过 15 亿美元;有超过 4.6 万名活跃验证人参与,还有 3 万名排队等待的验证者中和 2 万名正处于申请状态的验证者。此外,以太坊存款利率也没有丝毫放缓的迹象。


虽然以太坊 2.0 质押者的信心已处于比较良好的状态,但仍处于起步阶段。信标链参与率约为 99%(星球君注:参与率是区块链网络运行状况的一个关键指标),而且还没有出现过任何一个问题或事件。


在过去的两年半中,数百人参与了以太坊 2.0 信标链的设计和建造。但实际上,信标链是一个大规模的开放项目,由以太坊基金会领导、以及 ConsenSys 这样的客户端开发团队实施,并得到了众多不同类型的贡献者的支持。


这是一段令人难以置信的旅程,但也只是以太坊 2.0 万里长征迈出的第一步。


发展路线梳理


那么,以太坊 2.0 的下一步是什么?


一年前,以太坊 2.0 有了一个整洁、线性发展的路线图:阶段 0(信标链)之后是阶段 1(可扩展分片),然后是阶段 2(抽象执行引擎),最后,ETH 1 将在此上层结构之上合并到 ETH 2。


阶段 2 的设计看起来要比预期花费的时间更长,使 ETH 1 尽可能早地合并到 ETH 2 中的压力也开始增大。因此,以太坊 2.0 开发团队插入了一个阶段 1.5,可以直接将 ETH 1“提升和移位”到 ETH 2 分片中。


除此之外,以太坊 2.0 还推出了一种完全不依赖分片的全新扩展范例“rollups”。


2020 年 10 月,作为实现可扩展性的途径之一,Vitalik Buterin 提出了一个全新的、以 rollups 为中心的以太坊发展路线图。rollups 是一种所谓的二层技术,可以将大量计算和存储负担从区块链中移出,用户只需在区块链上进行验证操作即可从其安全保证中受益。


经过以上所有步骤,三阶段路线图现已从 Vitalik Buterin 的最新更新演变为一张“蜘蛛网”。


以太坊经常遭受“反向”批评:我们正在不断改写我们的路线图,这让我们看起来好像没有在努力一样。但实际上,以太坊能够获得成功的主要推动力之一,就是以太坊社区有一群务实主义者,他们竭尽所能完成工作。当市场改变时,以太坊社区会相应地做出改变;当机会出现时,以太坊社区会抓住机会。


扩展,还是扩展


将 rollups 作为可扩展性的中心枢纽,使开发人员能够分离许多冗余任务,并加速进入下一阶段。因此,2021 年将是三管齐下的一年:ETH 1 和 ETH 2、分片、还有轻客户端之间的“合并”。 在新模型中,每一项都是独立的任务,但是会一起同时进行,交付顺序无关紧要。


合并是以太坊开发人员将 ETH1 从工作证明移至权益证明的操作,当前实现此目标的最佳选择是将 ETH 1 直接构建到已经拥有的信标链中。


与最初设想的不同,ETH 1 不再是一个执行环境,甚至都不会是一个分配,这意味着以太坊虚拟机(EVM)将仍然是以太坊所奉行的核心引擎。对于开发人员和应用程序提供商而言,这将使切换变得更加简单,因为几乎所有交易和操作都保持不变,以太坊只是关闭了挖矿功能而已。


在以太坊以前的发展路线图中,关闭工作量证明是一个遥不可及的事情,需要在第二阶段完成之后才能进行。但在新计划中,这件事很快就能完成,因为以太坊正在考虑实施一个测试网。


第二项工作是分片(以前需要在阶段 1 实施)。目前,分片已经快要可以在客户端开始实施。


在新的发展路线图下,分片方法已经改变。以前,分片既负责排序数据,又负责执行数据,这给许多工作增加了复杂性,比如交叉分片交易等。使用以 rollups 为中心的发展路线图,分片仅需要注意对数据进行排序即可,rollup 将处理所需大量数据,而且拥有的数据越多,他们可以走得越快,就像涡轮增压汽车一样。这很有趣,但也可以用来说明 rollups 和分片如何组合以增强以太坊虚拟机。


以太坊虚拟机已被证明是强大而灵活的,但是却缺乏加速数据所需的氧气,即:数据。rollups 通过压缩数据(就像燃料 - 空气混合物)并在压力下将其逼入发动机中来极大地提高了可用功率,就像汽车中的涡轮增压器或喷气式飞机的压缩机一样,所有这些操作都可以在在当前的以太坊区块链上实现。当我们添加分片时,就好像我们在已经涡轮增压的发动机(多级涡轮)前部绑上了另外 64 台压缩机一样。Rollups 和分片的结合,可以提供巨大的可扩展性。


第三项工作,相对于分片而言可能工作量较小,就是为轻量级客户端建立基础结构。


对于那些不想允许整个以太坊程序的用户来说,轻量级客户端能使以太坊 2.0 系统更加高效。轻量级客户端将允许用户在不运行 ETH 2 节点的情况下验证以太坊 2.0 中发生的交易,这个功能将会在分片中变得越来越重要,因为分片的主要目的就是不需要让每个人都运行每一个分片。


假设信标链继续平稳运行,那么在 2021 年头几周内,以太坊的主要工作就是将这三个工作流程充实到交付计划中。


不扩展则死


对以太坊来说,不扩展则死。关于以太坊 2.0 最早的参考文献是大约在六年半前 Vitalik Buterin 撰写的。当时, Vitalik Buterin 用某种预言式的词汇写道:


“在过去的几个月中,我们已经改变了很多计划,以太坊将解决可扩展性和共识性问题,否则这个项目就很可能会失败。”


信标链解决了共识问题。预计到 2021 年底,我们就会知道以太坊是否能成功解决可扩展性问题。


作者介绍:


Ben Edgington 是 ConsenSys Teku 以太坊 2.0 客户端的主要产品负责人,也是以太坊 2.0 发展的长期记录者。


2021-01-13 08:003828

评论

发布
暂无评论
发现更多内容

Apache DolphinScheduler PMC:开源不一定也要九死一生

白鲸开源

海豚调度 开源社区 Apache DolphinScheduler 开源文化 #开源

软件测试 | 测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

测吧(北京)科技有限公司

测试

主流定时任务解决方案全横评

Serverless Devs

spring Linux

20个既简单又实用的JavaScript小技巧

千锋IT教育

购买小间距LED显示屏前需要了解什么?

Dylan

LED显示屏 led显示屏厂家

LeetCode-58. 最后一个单词的长度(java)

bug菌

Leet Code 每日一题 9月月更

软件测试 | 测试开发 | 一文带你了解K8S 容器编排(下)

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 跨平台API对接(Java)

测吧(北京)科技有限公司

jenkins、

中国移动NZONE 50 Pro 5G手机正式开售

Geek_2d6073

为什么我要迁移SpringBoot到函数计算

Serverless Devs

软件测试 | 测试开发 | 测试开发基础 mvn test | 利用 Maven Surefire Plugin 做测试用例基础执行管理

测吧(北京)科技有限公司

maven

计算机网络体概念

StackOverflow

编程 计算机网络 9月月更

软件测试 | 测试开发 | 持续交付-Blue Ocean 应用

测吧(北京)科技有限公司

《TiDB跨版本升级》 --流程概述

TiDB 社区干货传送门

迁移 实践案例 版本升级 管理与运维 安装 & 部署

PCTP考试学习笔记之二:TiDB 数据库 schema 设计

TiDB 社区干货传送门

集群管理 管理与运维 数据库架构设计

千锋锋友学盟分享会:程序员百万年薪进阶指

千锋IT教育

51单片机定时器原理及相关器件

孤衫

C语言 单片机 9月月更

技术分享| 基于RTM 实现的呼叫邀请如何添加推送功能?

anyRTC开发者

音视频 IM 实时消息 呼叫邀请 推送

「工作小记」不同内容相似结构?按个开关试试

叶一一

JavaScript 前端 React Hooks 9月月更

参加了个算法比赛,真是一言难尽啊

捉虫大师

Go 算法 map 比赛 9月月更

转:工业软件上云很难吗?可以微创呀!

小江

工业软件云化

LeetCode-66. 加一(java)

bug菌

Leet Code 每日一题 9月月更

软件测试 | 测试开发 | 黑盒测试方法论—边界值

测吧(北京)科技有限公司

边界测试

设计模式的艺术 第十七章命令设计模式练习(开发一个基于Windows平台的公告板系统。该系统提供了一个主菜单(Menu),主菜单包含一些菜单项,Menu类可以增加菜单项。菜单项主要方法是click(),每个菜单项包含一个抽象命令类)

代廉洁

设计模式的艺术

软件测试 | 测试开发 | 测试左移之Sonarqube scanner使用

测吧(北京)科技有限公司

SonarQube

iptables与firewalld防火墙是怎么样工作的呢?

阿柠xn

防火墙 Linux Kenel 运维‘ 9月月更

「龙蜥开发者说」征稿啦!

OpenAnolis小助手

开源 征文 获奖 龙蜥开发者说 龙蜥技术

MASA Framework 获取配置信息的方法

MASA技术团队

.net MASA Framewrok MASA

软件测试 | 测试开发 | 构建测试平台与对应的组织架构需要哪些能力?

测吧(北京)科技有限公司

测试

dbt-tidb 1.2.0 尝鲜

TiDB 社区干货传送门

新版本/特性解读

基于函数计算自定义运行时快速部署一个 springboot 项目

Serverless Devs

留给以太坊的时间不多了_语言 & 开发_Ben Edgington_InfoQ精选文章