一文读懂以太坊:过往、现状与未来

一文读懂以太坊:过往、现状与未来

作者:sheinix@The Startup

翻译:Lisa Liu

编辑:Sonny Sun、樊绪新   

以太坊网络

早在2013年,BTC程序员、BTC杂志的出版人Vitalik Buterin发表了《以太坊》白皮书。以太坊的目标是将区块链技术的应用范围拓展到支付之外。

以太坊是一个通用的区块链。像许多其他区块链一样,它是开源的,公开的,并拥有自己的货币:以太或ETH。通用的区块链意味着有一个去中心化的平台,它提供了一种编程语言,开发者可以使用它来创建智能合约。智能合约运行在网络的每个节点上,使得开发分布式应用程序(DApps)成为可能。这些Dapp继承了区块链技术的显著特点,即防篡改、透明、可靠和安全。

以太坊编程语言

Solidity 是由Gavin Wood博士创建的以太坊上的主要编程语言。它是一种可用于智能合约开发的面向对象的高级编程语言,深受Python和JavaScript语言的影响。这是有意为之,这样开发人员就可以很容易地直接开始开发智能合约。

Solidity是一种“图灵完备”语言,这意味着它拥有开发复杂用例的所有能力。相比之下,BTC的编程语言Scrypt在设计上不是“图灵完备”的。对于智能合约来说,Solidity是最流行的编程语言,每个开发人员如果想要开始开发智能合约,都应该研究它。

Vyper是以太坊团队创建的另一种编程语言,它在以太坊虚拟机(“EVM”)上运行。它的设计目的是简化智能合约的编写过程,同时使其更易于阅读。它与Solidity的关键区别是Vyper不包含一些面向对象的功能,这使得Vyper更安全,因为开发人员犯错误和引入bug的空间更小。

Gas & ETH Price

Gas是衡量在以太网络上执行一项交易的成本的单位。每次智能合约运行一笔交易,都会消耗Gas。这些Gas需要在交易运行时输入智能合约。支付Gas的方法是使用ETH。

以太坊面临的问题和挑战

以太坊面临的主要问题是可扩展性。该网络被认为是“世界计算机”,但目前它每秒只能处理大约15笔交易,而像Visa这样的私营公司每秒可以处理多达4.5万笔交易。如果以太坊想要实现大规模应用,这是一个亟待解决的问题。

为了说明为什么这个问题很重要,我们可以看看CryptoKitties的例子。在2017年,这个项目非常受欢迎,以至于在智能合约上执行的交易堵塞了网络。因此,处理交易有相当大的延误。

此外,安全一直是以太坊的一大难题。主要是因为在一些项目中存在糟糕的开发实践,导致黑客攻击和资金损失。以太坊需要为开发人员提供在智能合约中更好的安全性的工具,同时又不影响其Solidity。

ETH的价格和Gas 的成本使得交易的运行过程变得十分脆弱,在某些情况下这不值得。特别是对于以太坊验证者,他们目前必须花费大量的电力才能运行节点与PoW共识算法,在这一过程中,他们没有得到太多的回报。

公众认知匮乏和糟糕的DApps用户体验是未来需要解决的问题,这是实现大规模应用 的关键。

以太坊的现状

以太坊的生态系统在过去几年里一直在稳步发展,尽管它仍然存在很多问题。ETH是全球市值第二大的数字资产。Solidity是最流行的开放区块链编程语言,拥有最著名的开发人员社区(这是项目健康状况的一个指标)。一个平台拥有的开发人员越多,就可以在其上开发出更多有价值的项目。多年来,我们已经看到了许多在以太坊上涌现的优秀项目,当然,也不乏贫庸者和纯粹的诈骗项目。

2017年,我们看到项目数量的大幅增长,主要体现为首次代币融资热潮和市场看涨。但现实情况是,其中只有几个项目存活了下来,而且在接下来的几年内将会越来越少。

一般大众还没有采用DApps,主要是因为该平台不够成熟,公众对该技术也缺乏普遍了解。尽管如此,在过去的一年中,有不少与游戏、赌博和金融相关的项目发展迅速,并获得了良好的用户基础。

一文读懂以太坊:过往、现状与未来

source: stateofthedapps.com

一文读懂以太坊:过往、现状与未来

source: stateofthedapps.com

以太坊开发阶段

以太坊的开发计划分为四个不同的阶段。每个阶段都是为了引入更多的特性和修复问题。每个步骤还包括“子版本”,即所谓的“硬分叉”,它以一种不向后兼容的方式改变功能和特性。

以下时间轴是最初计划的以太坊发展阶段:

  • Block #0 — Frontier
  • 这是以太坊从2015年7月30日到2016年3月的初期开发阶段。

  • Block #200,000 — Ice Age
  • Ice Age是一个“硬分叉”,它引入了一个指数级的难度增加,以促使在一切就绪的情况下顺利完成从PoW到PoS的过渡。

  • Block #1,150,000 — Homestead
  • 以太坊的第二个阶段启动于2016年3月。

  • Block #1,192,000 — DAO
  • 臭名昭著的DAO案例。这是一个硬分叉,补偿了DAO黑客的受害者,并导致以太坊和以太坊经典分裂成两个对立的系统。

  • Block #2,463,00 — Tangerine Whistle
  • 另一个硬分叉用于更改某些I/O繁重操作的gas计算,并在利用这些操作的低gas成本的DoS攻击后清除累积状态。

  • Block #2,675,000 — Spurious Dragon
  • 硬分叉解决了 DoS 攻击问题,与此同时,另一种状态也被完全清除。此外,它也是一种重放攻击的保护机制。

  • Block #4,370,000 — Metropolis Byzantium
  • 这是以太坊发展的第三阶段,于2017年10月启动。Byzantium是Metropolis两大分叉中的第一个。

  • Block #7,280,000 — Constantinople
  • 这是Metropolis阶段上的第二个硬分叉,于2019年2月完工。这个硬分叉还包括其他修改,以修复代号为Petersburg的安全问题。

  • Block #9,056,000 — Istanbul
  • 这是另一个硬分叉,计划在2019年12月4日激活,将包括更多的安全修复和激励措施,从PoW转移到PoS算法。

    Serenity — Ethereum 2.0

    Serenity 是以太坊发展的最后阶段。它将引入以太坊2.0——一个新的以太坊区块链,完成PoS的集成,并引入一个新的以太坊虚拟机,此外还有很多细节的改变。

    关于Serenity何时上市有很多讨论和传言。这个庞大的阶段将分为不同的子阶段:

    Serenity 路线图

  • 第0阶段: 信标链Beacon Chain (Q1/2020)
  • 第1阶段: 分片链Shard Chains (2021)
  • 第2阶段: 新的以太坊虚拟机eWASM (2021)
  • 第3阶段: 持续改进 Continued Development (2022)
  • 以太坊2.0

    “Ethereum 2.0”这个术语描述了所有来自Serenity的更新,它将使以太坊的可扩展性更好,速度更快,区块链状态更好。正如以太坊研究员Danny Ryan所说,以太坊2.0的主要设计目标是:

  • 系统恢复能力:其目标是为了让系统在节点大规模宕机或者全网被分割肢解时仍然能保持正常运转。
  • 安全性:目标是为了利用加密和设计机制让尽量多的验证节点在每个单位时间内充分参与验证。
  • 简洁性:系统复杂度越低越好,甚至可以为此牺牲部分效率。
  • 持久性:尽量为系统选择能保证量子安全的组件。如果组件暂时无法保证量子安全,那就选择容易被替换的组件。日后当有了量子安全的组件时,可以方便地将这些临时组件用量子安全的组件所替代。
  • 去中心化:其目标是为了让普通的笔记本电脑用复杂度为O(C)的资源就可以处理/验证复杂度为O(1)的分片任务(包括任何系统级的验证比如beacon chain中的验证)。这将允许更多的低端设备参与网络。
  • 为了理解这一切是如何实现的,让我们看看每个Serenity阶段的细节:

    第0阶段: 信标链Beacon Chain

    信标链将是从以太坊区块链中独立出来的的区块链。这个新的链将由权益证明(PoS)作为共识机制算法,它将与主要的工作证明共识机制(PoW)以太坊区块链并行运行。最初,为了简单起见,区块链不支持智能合约或帐户。

    在撰写

    0

    扫一扫,分享到微信

    猜你喜欢

    文章评论

    请先 后评论

    上一篇

    今日推荐 | 378条工商变更信息背后:风口上的区块链企业如何变动?

    下一篇

    【比推早报】Bitfinex支持闪电网络;SoFi获得NYDFS的BitLicense许可;英属维尔京群岛推美元支持数字货币

    微信公众号

    微信公众号