亦来云常见问题之思考(十二)

(宁 丁) #1

任何新事物在被人认知过程总会产生无数个疑问,正如当年福特发明汽车时,马车依然大行其道,多少人质疑过汽车的前途,但随着实践的发展,这些问题如片雪入红炉,终不见了踪影。有问题不可怕,可怕的是找不到解决问题的思路。亦来云是一个庞大的系统工程,有太多问题需要理清。

三十四、 “用区块链DApp做生态”的说法是大忽悠吗?

DApp就是第三方网站关不掉的App。定义似乎很简单,但又有多少悲催的区块链项目试图直接打造DApp运行的生态环境呢?

区块链上直接跑的程序不是DApp,而是系统的可编程程序。就像硬盘、声卡、显卡能跑程序,但是应用看不见。应用是消费者直接看得见摸得到的程序。其实一个计算机上面有几十个CPU,只有主CPU来负责跑应用程序(App),其实主CPU都不是最强的CPU,像GPU比CPU还强,但他并不是跑应用程序的。

加密猫游戏造成以太坊的堵塞,区块链界重新审视以太坊智能合约的问题。从区块链层面而言,比特币、以太坊类似于一台计算机的能力。区块链是一个账本,但记账速度无法同人类和计算机相比。平常的会计师采用分布式记账法(分工合作),而基于不信任产生的区块链是重复劳动,自然不如其中任意一个活动节点的计算机,当然更不如阿里云中一堆分工合作的计算机群。

区块链效率非常低,其实根本不适合跑大规模应用。所以“用区块链DApp做生态”的说法是大忽悠?

三十五、以太坊和EOS等公链上适合跑大规模应用吗?

以太坊和EOS等公链,他们能提供消费者应用的SDK(软件开发工具包)吗?NO!因为跑程序,就要跑任意程序。跑任意程序,不是说图灵等价、图灵完备那么简单,而是一定要跑主应用CPU的指令集程序。以太坊和EOS等公链其实都不是给跑应用设计的。

运行在Ethereum虚拟机(EVM)之上的智能合约高级语言Solidity(语言是图灵完备的)需要要保证deterministic(确定性),并关注可重复性(可重复计算确定性),但是,它不能随机产生随机数,也不能直接用CPU的指令集。EOS它强调的是并发和多道程序同时运行,但它并没有提供CPU的指令集或运行的App SDK。

基于上述分析,以太坊和EOS等公链上不适合跑大规模应用(程序)。

三十六、亦来云如何解决以太坊公链可拓展性问题?

以太坊智能合约目前最关键的问题在于,没有区分“系统智能合约”和“应用智能合约”,公链智能合约需要支撑系统通用的一些功能,这些功能需要方便扩展。

对于应用层,其实不必用公链的全部节点(如6000~10000个)达成共识。就比如两个人赌球,让6个人知道就足够了,不必使6000个人知道。根据不同的应用场景区块链需要去支持不同的应用。每一条链受共识算法和性能限制,能够支撑的应用场景是不同的。有的应用场景需要可信的记账,这个时候用PoW合适;有的应用场景要更快的速度,这个时候可能用DPOS更合适。每条链提供的服务可能是有很大不同的,单条链不可能适应所有的应用场景。

所以,一个很简单的逻辑就是:第三方应用的智能合约不应该运行在公链上,而是应该运行在侧链上。

亦来云采用“主链+侧链”架构,突破单条链的限制。一条侧链也是一台单独的计算机,亦来云不再是只有一台主链的计算机提供服务。比特币和以太坊定位是很基础的链服务设施,不可能让他们直接支撑大型应用。亦来云定位是在构建新一代互联网,在链层面的基础设施具有很强的计算能力和可扩展性。

请记住:成功之前有千万个疑问,成功之后有千万个故事,当然,失败之后会有千万个笑柄而已!

1 Like
(Feng Zhang) #2

仅从跨链的角度,亦来云的主侧链机制,比很多的跨链方案来得简单而容易实现落地。

2 Likes