区块链DApp的迷失(上)

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

区块链的发展不能永远玩概念,凭空建一条链、发一个币是无法解决问题的,区块链各种特性要落地必须通过DApp。时常有一些区块链项目号称自己已经落地,真的是这样吗?正如一个电路设施都没搭建的系统,就算有了一盏灯,如何让它发亮呢?

一、”用区块链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更合适。每条链提供的服务可能是有很大不同的,单条链不可能适应所有的应用场景。

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

四、亦来云的”主链+侧链”架构

亦来云项目在架构上更有优势,突破单条链的限制。一条侧链也是一台单独的计算机,亦来云不再是只有一台主链的计算机提供服务。

面对特殊的应用,亦来云系统有一个能力,就是利用亚马逊云、阿里云在应用运行时瞬间起来6或者60个虚拟机,通过侧链来支持特定的应用运行,完成后将关键数据写入公链存证并释放虚拟机资源。通过侧链的扩展,可以支持像闪电网络一样进行快速支付的通道,也可以支持像以太坊一样发Token和运行智能合约的功能,还可以在侧链上记录可信ID或者支持数字资产的交易。主链不需要因为承担繁杂的功能而漏洞百出,亦来云主侧链架构把区块链从一台计算机变成非常多的不同功能的计算机同时面向应用服务。

亦来云主链不会去支持智能合约,只提供像ID、溯源、稀缺这么几个功能。亦来云搭建的新互联网为DApp提供一个安全、可信、去中心化的运行环境,区块链可理解为手机的指纹识别,是一个信任模块。

比特币和以太坊定位是很基础的链服务设施,不可能让他们直接支撑大型应用。亦来云定位是在构建新一代互联网,在链层面的基础设施具有很强的计算能力和可扩展性。

来源: ELAruolan

One thought on “区块链DApp的迷失(上)”

Comments are closed.