都说区块链行业无眠,微信群都是凌晨3点才开始打卡聊天。
但最忙的不是凌晨3点还在热火朝天地讨论的人,而是以太坊。作为区块链2.0的开创者,以太坊时时刻刻都被新的区块链项目Cue。
内容无非就是两类。
一是发难以太坊,速度慢如蜗牛,可扩展性也太差了,而且 gas 费这么贵!
二是我比以太坊优秀,肯定会超越以太坊。
这种现象无可厚非。上文所指出的以太坊问题确实存在,以太坊也意识到了并提出了分片、plasma等解决方案。就在前几天,新闻报道以太坊虚拟机也将迎来重大改造。
但是种种原因,船大难掉头,以太坊社区所提出的改进方案落到实处不知道要猴年马月了。不得不承认,大多数人现在看到的依然是“多灾多难”的以太坊,同时这也给新的区块链项目很大的发展空间。
后来者中最亮眼的便是EOS首提的百万TPS。但早在1月份时,EOS已经改口,主网只剩数千TPS。
不禁感慨,那些说比以太坊优秀的公链,真的做得到吗?
这时候,看到CyberMiles声称其虚拟机CVM比以太坊虚拟机EVM快万倍,这都赶上EOS吹的百万TPS了。
CyberMiles是电商公链,被称为“电商版以太坊”,印象中是比较低调的。之前大热的“TPS”问题,CyberMiles也没有跟风。
创始人卢亮曾在社区表示:主链“百万TPS”基本上是吹牛的,区块链的本质是一个慢速的分布式数据库。中心化数据库尚且做不到百万级别,更遑论分布式数据库。
那这是CyberMiles一改往日作风,还是他们真的做到了呢?
从官网可以看出,CyberMiles虚拟机CVM与以太坊虚拟机EVM在加法、乘法、整数排序、计算scrypt四个运算进行了对比。这种行为在业内叫做Benchmark,翻译成人话就是“跑分”。
“跑分”在手机行业很常见,最近最热闹的事情就是国外知名基准测试软件——3DMark下架某国产手机数据的事情。
但是这种真实的“跑分”视频在区块链行业还是第一次看到!
从CyberMiles公布的对比结果来看,CVM较EVM有着不同量级的提高。从比较简单的加法和减法来看,CVM比EVM快10倍多,优势不是很明显。但CyberMiles的TPS比以太坊至少快100倍。这样算下来,CyberMiles实际是有1000多倍的提升。
再来看官网发布的第三个运算:整数排序。排序比加法和乘法复杂点,是个比较常用的算法,用处也非常广泛。在这里,CyberMiles采用的是冒泡排序的方法。
同样进行6万次冒泡排序,EVM需要48.01秒,但是CVM只需要0.45秒,这次CVM比EVM快了199倍,优势更加明显。再考虑到上文提的TPS问题,CyberMiles实际是快了19900倍。
最后一个进行对比的运算Scrypt,这是CyberMiles作为电商公链的创新之处。计算Scrypt,牵扯到跨链验证的问题。Scrypt是指用以太坊智能合约跨链验证比特币交易,这是以太坊社区的经典难题。
Vitalik 曾经提出,在以太坊上验证1个Scrypt实例需要花费3.7亿gas。事实上,没有人在以太坊做出这样的操作。以正常gas价格计算,这需要1ETH,过于昂贵。
因此在这次对比中,EVM的运行环境是非常理想的状态。假设以太坊只有一项操作并且不考虑成本,EVM依然需要920秒,超过15分钟。但是CVM却只需要51毫秒就验证了比特币的区块头,相较以太坊快了将近20000倍。
这一优化非常具有实际意义。接受包括比特币在内的多种加密货币作为支付方式是电商应用程序的常见场景,这就要求电商应用程序的智能合约能够验证比特币交易。要在区块链上做电商应用,的确需要这样的性能优化。
看到这里,一定会有一个问题,CyberMiles怎么做到的?
查了资料后,发现CyberMiles在虚拟机中进行了名为libENI的技术创新,将计算密集型任务委派给底层操作系统。
在本机和高性能C++中实现的libENI函数则由整个社区开发,而后CyberMiles验证人(即超级节点)投票决定是否接受它们作为模块化组件添加到CVM。更加难得的是,整个过程无需暂停、分叉或升级区块链软件本身。
据了解,这与CyberMiles的世界观也分不开。不同于以太坊的世界计算机,CyberMiles是专门为电子商务优化的区块链平台,并且努力构建去中心化的软件开发和发布流程,从而实现区块链的自我管理。
值得一提的是,在每个对比运算下面,CyberMiles都公开了跑分的代码。有兴趣的朋友们可以去试试看,说自己比以太坊优秀的项目,到底怎么样。