风险提示:请理性看待区块链,树立正确的货币观念和投资理念,不要盲目跟风投资,本站内容不构成投资建议,请谨慎对待。 免责声明:本站所发布文章仅代表个人观点,与CoinVoice官方立场无关

独家深度 | 一文读懂以太坊技术发展历程

加密谷Live
2019年06月24日

最新消息称,以太坊预计将于明年 1 月 3 日发布 2.0 零阶段创世区块,正式转为 PoS 共识。

在最近一次以太坊 2.0 进展更新电话会议上,研究员 Justin Drake 建议开始考虑如何更好地设定时间表,以帮助社区从以太坊 1.0 转换到以太坊 2.0 上。

Justin
Drake 建议,在今年 10 月于日本举行的 Devcon5 大会上,宣布以太坊 2.0 存款抵押合约正式发布,鼓励验证人开始将 ETH 抵押到该合约,用于未来的验证工作。此外,他还建议,在 2020 年 1 月 3 日正式发布以太坊 2.0 零阶段的创世区块,届时可以视为以太坊将正式转为 PoS 共识,这一时间节点是对 BTC 创世区块诞生 11 周年的纪念。

Ethereum 1.x
是短期内面向以太坊主网升级集合的统称。具体推进时,包括 Vitalik 在内的社区志愿者会提出改进提案 EIPs,Geth、Parity、Aleth 等客户端开发团队及其贡献者选择性的从提案中进行原型实现,然后逐步改善,做进一步测试,最终等待合并进入主网代码。

在这一过程中,以太坊客户端开发团队扮演的角色可以逐渐弱化,他们可以成为相关工作小组的一员。这一流程的好处是,降低了对核心开发团队的依赖,可以充分发挥社区优势,让理论研究和工程实现联系得更加紧密。

以太坊的开发计划

以太坊由天才程序员 Vitalik Buterin 创立,目前在加密市场市值第二,是矿工挖矿的主要选择之一。

但是,在创立之初,以太坊并没有确定以 POW 算法作为其发展目标。事实上,当时 BTC 的挖矿行为带来的巨额能源消耗已经饱受诟病。

同时,挖矿所需的算力往往容易被几大矿池垄断,这显然与去中心化的数字资产构想背道而驰。

因此,在以太坊诞生之初,开发团队就提出了一个为期三到五年的发展计划,一共分为四个阶段,分别为:Frontier (前沿),Homestead (家园),Metropolis (大都会),Serenity (宁静)。在最后阶段 Serenity (宁静)中,以太坊将正式从
POW 共识机制转化为 POS 共识机制。每个阶段的转换,都会通过硬分叉实现。

  • Frontier (前沿)

以太坊的第一个版本,于 2015 年 7 月发布,其目的是建立一个有效网络。

在此版本中,实现了挖矿、交易功能,并可以进行 dApp 的开发测试。

  • Homestead (家园)

以太坊发布正式版本后的阶段,于 2016 年 3 月发布。这是第一个稳定版的以太坊网络。在此阶段,以太坊受到了广泛的认同,矿工人数也不断增加。

但是,在以太坊的发展路线规划中,它最终要转变为 POS 共识机制,彼时,以太坊网络将不再需要挖矿的矿工。

因此,以太坊开发团队在此版本中加入了“难度炸弹”的设定,每过十万个区块,以太坊挖矿难度将呈指数型增长。通过此举,以太坊矿工将不断离开,直到以太坊的共识机制成功转变为
POS。

  • Metropolis (大都会)

Metropolis (大都会)分为两个阶段,一是 Byzantium (拜占庭),二是 Constantinople (君士坦丁堡)。

Byzantium (拜占庭)已于 2017 年 10 月发布。在此阶段,以太坊为开发者提供了一个新的隐私工具——在链上高效验证 zk-SNARK (零知识证明)的能力。同时增加了可预测 gas
收费的功能,提高了挖矿的难度,并且将每次出块的 ETH 数量从 5 个降为 3 个。Constantinople (君士坦丁堡)也已于今年 1 月中旬发布。

  • Serenity (宁静)

以太坊的最终阶段,预计于 2020 年进行。通过此次升级,以太坊将从 POW 机制彻底转变为 POS
机制。可能通过分片(Sharding)和子母链(Plasma)等方式增强网络的可扩展性。

*五大改进提议(EIP)*

“君士坦丁堡”是以太坊 2.0 版本路线图的里程碑之一。该协议在 2019 年 1 月 16 日,即区块高度到达 7080,000 时,正式生效。之后,运行在“君士坦丁堡”上的节点将与之前的版本不再兼容,意即发生“硬分叉”。但与生成两种不同数字资产的那类硬分叉不同,这种硬分叉被认为是“没有争议的”,因为它不会产生分叉币。

君士坦丁堡升级共包含 5 个改进提议(EIP),分别是 EIP 1234、EIP145、EIP 1014、EIP 1052 和 EIP 1283。

  • EIP 1234:该提议对于矿工来说尤其重要,它要求延迟“难度炸弹”的加速,并将每次出块的 ETH 数量从 3 个降低为 2 个。此外,这项提议将“难度炸弹”推迟了 500 万个区块,历时约 12 个月。在此期间,以太坊将专注于迈向 POS 机制的技术发展。

  • EIP 145:以太坊虚拟机中的逐位指令将被允许直接操纵 EVM 层上的字节,允许 dApp 开发人员优化某些操作,以节省 gas。

  • EIP 1014:将状态通道 (state channels) 的概念引入到了以太坊网络,这将允许在链下进行交易结算。该扩容方案对以太坊网络的吞吐量进行了提升,区块链每秒将能够处理更多的交易。

  • EIP 1052:引入了一种新的操作码,用于生成特定类型的哈希值。

  • EIP 1283:调整现有的“SSTORE”操作码的净 gas 计量,这也将启用新的功能并降低 gas 成本,对于智能合约的开发者来说是有益的。

总的来说,君士坦丁堡升级主要对 gas 费用进行了优化,提升了以太坊网络的可扩展性,最重要的是,将挖矿奖励降低了三分之一,这对矿工生态影响巨大。

若论影响面,此次升级影响最大的应该是以太坊的矿机厂商和矿工。对于矿工,随着挖矿收益减少,机会成本提高,继续挖以太币的性价比显著降低。如果不能覆盖成本,部分矿工可能会转向一些性价比更高的小币种;对矿机厂商而言,随着矿工减少,可能面临收益下滑的局面。矿池也很敏感,它们可能需要新的币种,以留住即将流失的矿工。

*以太坊 1x:试图改变流程的一次尝试*

以太坊 1x 不仅是一组路线图,而是一个创建全新的、更有效的流程机制的愿景。

典型的规则变更比如:

  • 新增 EVM (以太坊虚拟机) 操作码;
  • gas 计划的变更;
  • 使某些规则无效 (例如部署字节码大于 24 KB);
  • 更改某些数据的含义,或某些操作的功能。

流程总结:

是社区成员助推了 EIPs 的诞生,因为他们想让以太坊更加完善。需要指出的是,在确定的技术验证结果出现之前,改进方向不可预测。

如果其中一些 EIP 吸引了客户端实现团队的注意,就会对其创建原型,进行进一步评估。三个实现团队分别为:

  • Parity:就网络节点数量而言,是第二常用的实现,但在矿池中最常用;
  • Geth (go-ethereum):就网络节点数量而言,是最常用的实现;
  • Aleth (原生 C++实现):是目前唯一能够“生成”共识测试的实现。

如果这三个团队都不想进行原型化变更,那么 EIPs 就不会发生。

此前的拜占庭 (2017 年 10 月) 和君士坦丁堡
(2019 年 2 月) 升级,间隔的这段时间需要在客户端实现层面进行大量工作,以确保其性能与不断增长的交易负荷相匹配。

原型实现通常会使 EIP 被细化和完善,但有时也会因为某些缺陷而被丢弃。同样,原型实现使创建 test vectors (测试向量)
变得更容易。测试向量描述了规则变更产生的影响,它需要用一种名为“filter tests”的特殊格式记录下来。

Aleth (C++) 实现较为特殊。因为在这个时候,将那些 filter tests 转换成共识测试的工具 testeth
与 Aleth 紧密耦合。这个过程使得 EIP 在 Aleth 中成为有效实现。以这种方式生成的共识测试,可以在大多数其他实现运行。

测试团队也很特殊,因为这个团队创建了大部分的测试向量,而 EIP 编写人员通常不会提及太多这方面的内容。

客户端使用共识测试来发现 bug ,驱动 “Hive (蜂巢)”。

以太坊 1.x 或将采用的流程

**
**

但另一方面,与其等待成熟的实现团队中的开发人员对提案感兴趣,不如自己组建一个工作组,开始着手处理提案。
当然,这并非易事,因为要找到愿意做这项工作的人,还有愿意为此出资的人,这些都是必备要件。但至少这个流程可以给我们一个很好的职责分化和一个可扩展的过程。

工作组会选择其成员最熟悉的客户端实现,并使用它来生成实现范例。再由实现范例生成 EIP 和测试向量。这一过程在今天已经可实现了。

目前还未能实现的是,如何从非 aleth 参考实现生成共识测试。但我们希望开发新的工具 retesteth 与最流行的实现集成。

如何找到工作人员?如何得到经济资助?这些问题需要克服几个挑战:

  • 人才库非常有限。这是因为现阶段“核心开发”仍然被视为某种黑暗艺术。解决之道是改善自我描述,进行用户教育。
  • 从持续资助几个实施团队并让他们做工作到资助临时方案,如何进行“尽职调查”?如何监督运营支出?谁能决定工作组是否完成交付?等等。

以太坊的“进化”路径原本是 (PoW -> 混合机制 / PoS -> PoS ->
分片),但却在 2018 年 6 月被“完全重写”。这个重大转变的原因之一是以太坊变化过程过于缓慢,无法赶上 Casper 和分片的速度。

当然,在许多系统中,类似的转变时刻都在发生。从过往经验来看,只有找到比原有团队更有能力、经验更丰富的团队来执行操作,转折才会真正成功。

目前以太坊 2.0 尚未达到开发和改进开始的阶段,所以这一过程如何推进尚不可知。我们可以假设人们会尝试回归到以太坊 1.0,但这正是以太坊 2.0 试图回避的。

目前,业界尚未充分认识到对以太坊的开发和改进过程进行投资的重要性。只有资金和开发人员到位,才能确保以太坊 2.0 在发布时状态良好。这一议题值得重视。

Flash Chan、Duanni Yi 作者

Sonny Sun 编辑

   Roy   **排版**

内容仅供参考 不作为投资建议 风险自担

版权所有 未经允许 严禁转载



声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。

评论0条

加密谷Live

简介:分享区块链领域专业、前沿、有趣的内容

专栏

更多>>