在前面几篇以太坊基础知识的文章发出来之后,一些小伙伴提到了以太坊与EOS有什么区别的问题。本来打算写完以太坊再来写EOS的基础,看见问的人比较多,今天先来大概地讲一下我对以太坊与EOS之间区别的简单看法。
先从他们各自要解决的问题来说吧。
可能很多人都听说过区块链1.0, 2.0, 3.0的说法。也有很多人认为比特币是区块链1.0,以太坊是2.0,EOS是3.0。就是从它们要解决的问题这个角度来讲的。
前面已经说过,比特币要解决的是与货币相关领域的去中心化问题,以太坊要解决的是把去中心化扩展到货币以外的其他领域,这个理念是通过在区块链中引入智能合约,来实现各行业应用中的业务逻辑;
那么EOS呢,它要解决的问题本质来讲,其实跟以太坊差不多,也是通过智能合约来实现各行各业的应用, 实现更多行业业务的去中性化。我们可以理解EOS的想法是要对EHT存在的问题进行优化和升级,目标是实现区块链的大规模商业应用。
也就是说,以太坊通过智能合约打通了商业应用通往区块链的路,却因为区块链自身地基的各种缺陷,没有办法在上面大规模展开建设,修筑城市。
那么以太坊作为一个承载去中心化应用的平台,有哪些让大家无法忍受非要去优化的问题和缺陷呢?
1. 最让人不能忍受的应该是性能问题了吧。
比特币每秒可以转账的次数大约为7次。以太坊每秒只有几十次。这与中心化的交易模式相比,Visa每秒可以转账1667次,Paypal每秒转账193次,其中的巨差还是非常大的。
对这个问题的感受,大家可以从以太坊系的代币转账中去体会,曾经有段时间,转一笔帐等几个小时是很普遍的事,遇到特别拥堵的时候,还会等一两天。
对我这种交易量不大的小用户来讲,影响不会很大,可是对那些有很多人流量,资金流非常大的应用,那就很致命了。很可能因为一次使用不顺畅丢失大量客户。
2. 另外一个比较突出的问题是交易手续费。
以太坊系统中有燃料的设计,所以你每转一次币都需要向支付一定数量的ETH作为手续费。
以太坊的燃料可能包含两个部分,一是给帮你打包矿工的奖励,二是可能你调用了智能合约,在以太坊系统中调用智能合约需要付费。
EOS对以太坊的优化主要也是针对这两个方面。
1. 网络性能:EOS对性能的优化方案包括了共识机制和并行处理技术来提升交易速度和扩展性。
比特币和以太坊目前都采用POW的共识机制,对记账的验证,确认需要所有旷工共同参与,达成共识所需要的时间长,这是造成其出块时间慢,在给定资源情况下每秒处理交易数量少的主要原因。
EOS则采用DPOS(股份授权证明)共识算法机制,这种机制不需要所有节点参与,而是由持币者选择21个超级节点来进行共识完成出块,由于决策时参与的人少,当然效率更高,能够比较明显的提高共识和出块时间。不过缺点也很明显,由这21个超级节点替我们做决定,与比特币和以太坊的所有节点相比,去中心化程度就会减弱了。
另外EOS将采用并行处理技术,用多线程技术来处理智能合约,将不同账户的合约分配给不同“线程”同时并行异步处理。可以支持几千个分布式应用程序(DAPP)在平台上同时运行。与以太坊的单线程相比,性能和扩展性不是一个级别。
2. 交易费用:使用EOS上的DAPP是免费的,在EOS上转账也不收手续费。对用户来说,应该是非常友好的体验了。就我个人的使用感受来讲,EOS系统的转账是区块链世界体验最好的(如果不算因EIDOS挖矿造成的拥堵的话)。
我们知道矿工记账需要付出资源,智能合约调用也需要付费,以太坊系统这两个部分的费用都是由用户用燃料的形式进行支付。EOS则对用户免除了这些费用,那它怎么解决这个问题呢?
矿工的奖励是从EOS每年的通胀发行中获得,EOS每年会增发5%以下的代币来支付节点的奖励。这个措施对用户和节点都很友好,但是缺点也不小,通涨会稀释价值,影响升值。
关于Dapp智能合约的费用,EOS系统中是由开发者来支付,另外使用EOS中的内存,空间等各种资源也需要开发者来付费。编写、部署、应用智能合约以及未来的稳健存储,Dapp开发者都需要以抵押EOS的方式来换取。而换取的这些资源(CPU,RAM)是可以炒作的,因此EOS中的内存资源一度被市场爆炒,甚至部署一个简单的Token合约,需要消耗近万元人民币。如果这种情况经常发生,对开发者的友好性就大打折扣了。
3. 其他优化:除了上面这些方面的优化,EOS当然还有很多其他改进措施,比如避免区块链分叉,允许智能合约升级,完善的账户体系,对开发更友好的WebAssembly JIT虚拟机和编程语言。这些相关原理以后会在写EOS的文章中慢慢来分解。
总的来说,EOS对以太坊各个点的优化改进,都是围绕解决商用的问题。它最终的目的,是希望把区块链技术真实地带进现实,像Windows和安卓(IOS)系统一样,我们日常需要的DApps都能通过这个平台运行。
所以EOS的最大价值,应该体现在商用这个点。