区块链研究总结 -- EOS

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

业内对于谁是第三代区块链系统代表还没达成一致,不过EOS绝对是个不可忽视的竞争者。EOS致力于解决以太坊使用过程的一系列痛点,推动去中心化应用的发展。EOS由BM(GitHub账号ByteMaster)通过史上最大规模ICO项目发起,目标是成为区块链世界的底层操作系统,用户可以基于它开发运行商业级的去中心化应用。EOS已于2018年6月正式启动主网,并快速成为最繁荣的公链之一。

EOS基本实现了商业级去中心化应用开发的目标,和前两代区块链系统相比,有其重要特点。

EOS的特点

  • EOS用密钥对、权限、操作、账号等概念代替了以前简单的账户地址,并基于此提供密钥对替换、自定义授权、多签名等通用功能,也为去中心化应用开发维护提供便利。
  • EOS取消了gas费,采用抵押的方式获取系统资源。系统资源主要分为3大类,cpu、带宽和ram,cpu和带宽只是在执行时使用,执行后释放,ram则是被永久占用。所以,cpu和带宽通过抵押EOS币获得,并可以随时取消抵押取回押金,ram通过购买获得,也可以随时卖出取回EOS币。抵押方式不需要每次消耗gas费,对开发者和使用者更友好。
  • EOS在去中心化应用开发方面改进巨大,主要体现在以下几点。
    1. 采用WebAssembly做为虚拟机,支持标准C++项目运行,这意味着开发者只要有足够的资源就可以部署任意C++项目。
    2. 去中心化应用部署后和一个账户关联,利用EOS账户设计优点,EOS支持去中心化应用升级。
    3. EOS将应用和数据分离,数据也和账户关联,升级应用不会影响任何已有数据。EOS并提供通用的数据开发接口和访问接口,简化去中心化应用的开发和使用。
  • EOS采用DPOS共识机制出块,全球根据投票选取21个节点出块,虽然牺牲了一些去中心化(集中在少数节点),但是大大提高了系统的TPS,目前主网TPS最高已达到4000,为商业级去中心化应用推广提供可能。同时,引入BFT(拜占庭容错)算法,2/3出块节点确认后(一般秒级),永久固定区块。

在使用EOS开发了两款去中心化应用后,发现它也存在一些问题。

EOS的缺点

  • EOS的账户由12为字符数字构成,任何人都可以创建账号、发布去中心化应用,同样存在监管隐患。这也是为什么目前EOS上头部去中心化应用集中在博彩行业。另外,由于开发者可以方便的升级应用,也带来项目方通过升级应用盗取账号EOS币的风险。我们就曾发现明星应用像素大师多次升级并导致最终运行代码和GitHub上代码不一致。
  • EOS采用抵押模式代替gas费,改进了普通用户的使用体验,但却带来了新的抵押竞争问题。一旦大量EOS币入场抵押资源,造成EOS币获取资源能力迅速变少,用户只能继续抵押更多的EOS币来获得资源,最后导致普通用户无法承担而不能进行任何操作。我们曾经遇到过,几百万EOS币入场抵押CPU,造成1EOS币可以获得CPU时间从1秒降低到10毫秒,导致普通用户的CPU时间(一般为抵押几EOS币)只能进行2、3次操作,极大地影响了去中心化应用的推广。
  • EOS目前只支持C++语言(由于WebAssebly只支持C++),C++学习门槛较高。并且,EOS设计比以太坊复杂,版本更新快,社区文档资源不如以太坊丰富等情况,都造成其开发比以太坊困难。

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

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