区块链研究总结 -- 以太坊

本文为区块链技术总结及发展展望一文的子章节。

Vitalik于2013年发布了以太坊白皮书,并于2014年中通过ICO(首次代币发行)的方式募集到大量资金推动以太坊项目开发。目前以太坊还没有完成最终阶段,但主要功能均已上线。它是比特币后又一重量级产品,引爆了第二代区块链应用 - 智能合约。

以太坊的目标是运行用户自己开发的智能合约,除了上述比特币的大部分特点外,它还有自己显著的特点。

以太坊的特点

  • 发明了可以运行图灵完备程序的虚拟机EVM,做为运行智能合约的环境。
  • 创造了多种开发智能合约的编程语言及其编译器,其中最为熟知的是Solidity。
  • 引入了状态概念。不同于比特币只有账户余额这一个状态,以太坊的目标是运行用户开发的各种智能合约,每个合约可能会保存多种状态(类似于数据库保存的数据)。为了避免这些状态每次都从历史交易中推算出来,以太坊利用状态直接保存合约当前数据。以太坊有2种数据:交易和状态,交易是历史数据链式存储不可更改,状态是当前数据可以变化。从以太坊开始的大部分公链都采用这一模型。
  • 发明了ERC20规范,使得在以太坊上创建一种新的Token(代币)非常简单,造就了以太坊的王牌应用ICO。
  • 引入Gas概念,根据智能合约运行消耗的CPU和内存资源来收取交易费。
  • 采用独创的Patrica Tree(具有Patrica Trie和Merkle Tree特点)和RLP编码,高效保存Merkle码和实际数据。
  • 采用改进的内存密集型POW算法,并准备升价到POS共识。

但在使用过程中,也发现以太坊的一些缺点。

以太坊的缺点

  • 以太坊的地址和比特币一样,同样存在监管问题。ICO的发展也体现出这一点,由于ERC20 Token的发行仅仅需要一个智能合约(ICO还会提供一个白皮书),并没有任何价值保障(参考上面比特币就有价值保障),并且任何人都可以发行Token,不需要任何审核。对于空气币项目,只根据投资合约地址,投资者无法挽回任何损失。
  • 以太坊的TPS只比比特币快一点,大约在15左右。2017年底发布的加密猫应用是第一个进入公众视野的去中心化应用,但随之而来的就是以太坊系统严重堵塞,大量的交易处于等待状态。最终导致加密猫应用无法大规模推广。
  • 以太坊处理速度过慢造成的另一副作用就是gas费的恶性竞争。当整个系统堵塞是,矿工会选择gas费高的交易优先执行。用户为了让自己的事务尽快执行,只有提高gas费,结果就是所有人都在提高gas费,gas费越来越高。我们公司曾经在系统比较繁忙的时候,升级过一次合约(由10个左右合约组成),就花费了200美元。
  • 以太坊智能合约的目标是开发ICO这种简单的合约程序,其设计方式并未考虑复杂程序的开发。这体现在以下几个方面,
    1. 复杂应用一般包含多个合约,每个合约都需要单独部署,造成合约部署流程复杂并且失败恢复困难。
    2. 合约一旦部署就生成一个固定地址,无法升级。但是复杂应用很难做到没有需求变化或bug,需要支持升级。
    3. 合约产生的数据保存在合约的地址中,新合约部署后需要从老地址迁移已有的数据到新地址,或者需要从新老多个合约中获取数据。
  • 以太坊社区更新偏慢,例如从2017年底就发布要升级为POS共识,直到现在都还没有完成。这可能也是最近以太币走势不如比特币和EOS的原因之一。

以太坊推动区块链应用进入智能合约时代,ICO和加密猫使人们初步见识了去中心化应用的魅力。但它的设计不利于复杂的去中心化应用的开发和推广,这促成了另一个公链系统的崛起 - EOS。

完整文章请查看区块链技术总结及发展展望

你可能感兴趣的:(区块链研究总结 -- 以太坊)