首页 > 科技 >

商品还能比淘宝再便宜40%?CyberMiles想打造电商之DAO(2)

2018-08-18 19:20:11 网络整理 阅读:83 评论:0

虚拟机能做些什么呢?先是执行代码,并非任意代码都能执行,也要防攻击,所以虚拟机里也要做Gas,得知道计算量和存储量有多大,要通过交易费用来保证虚拟机的安全。 所以区块链上的虚拟机和传统的Java和Python虚拟机的需求虽然不一样,但是作用是差不多的,就是执行代码。

传统的虚拟机会因为硬件不同,造成输出的结果不同,以太虚拟机的特点是没有歧义,输出结果是一致的,但它做了这种改变的一个后果就是牺牲了性能。虚拟机的优化过程非常复杂,同时需要大量的资金。Java的虚拟机可以容忍不同的虚拟机执行出来的结果有少量的差别,但是在区块链这边是行不通的,区块链所有的容错必须一致。目前,区块链的主流虚拟机有三个流派,一个是从以太的EVM改的;一个是从Web Assembly改的,比如EOS;还有一个是改的Lua的虚拟机。CyberMiles认为没有理由重新写一个虚拟机,于是选择了对以太坊的虚拟机EVM进行修改。

那么CyberMiles的虚拟机的CVM和以太坊的EVM有什么区别呢?主要体现在五个方面。一是可以动态扩展,可以在运行的过程中加点东西;二是安全方面,虚拟机会查有没有整数被溢出;三是定时任务方面,CVM有闹钟的功能,可以自己启动智能合约。体现在电商行业,看货物的送达时间,或者设个分期付款提醒就可以靠有时钟的智能合约来完成;四是可以实现小数运算,而不只是整数;五是规则引擎,手写程序的错误率很高,虚拟机增加了规则引擎,参数不会被改变,可以降低错误率。

而编程语言Lity的出现,最直接的改变体现在性能优化方面。现在的以太坊的情况有点像当年的Java,速度慢,很多事做不了。后来虚拟机上开了个口,C++的东西就进来了。“我们相当于在Solidity上开了个口,把Lity给放了进来。”袁博士说。以太坊的新语言Vyper比Solidity好得多,但仍然不能完全解决Solidity的问题。“所以说我们要算加密解密,就通过这个口装到操作系统的层面之上” 。Lity现在支持Solidity,以后也可能会支持Vyper。

相关文章