是否可以直接通过区块链构建世界计算机?


以太坊诞生以来,大家似乎看到了通过区块链构建世界计算机的未来,用户就像提供挖矿算力一样为世界计算机提供计算和存储资源,其他用户可以付费使用这些资源。世界计算机将会像电影《终结者》的 “天网” 一样,自动运行,无法关闭(当然天网是邪恶的,此处只是比喻)。


基于此,很多人也纷纷提出了自己的设想,其中有不少人提出如下假设:以太坊智能合约里面有计算也有存储,那么是否可以直接通过区块链上构建世界计算机?


我们从计算机的本质来分析这个问题,计算机提供两个基本的能力:存储和计算。上面的提议貌似是行得通的,但仔细分析,会存在效率上的问题和安全上的问题。


1. 效率上的问题

 在智能合约上的存储和计算,会有多个节点来做重复的存储和计算,效率较低并且费用昂贵。


2. 安全上的问题

存储安全:通过智能合约来存储内容,用户公钥加密,私钥解密,安全性得到保证,但是数据利用的问题,则存在比较大的问题(虽然可以有同态加密等)。


计算安全:我们假设计算中已经包含数据,计算过程和数据全世界可见,但是如何保证计算的隐私性方面也存在着较大的考验。


从以上两个点来说,要在区块链上直接构建一个世界计算机,不管在经济上还是安全上都有较大的问题,还需要在计算理论和工程实践上有较大的突破才能实现。

当前获取资源的模式

我们也许无法给出世界计算机的完整定义,但是我们可以提出它的一个特性:开发者可以自由地从世界计算机中获得计算和存储资源,不受服务提供方的约束。


当下,对于开发者来说,需要获得计算、存储资源或服务,过程大概是:

  • 去服务提供商那里注册账号

  • 签订合同(线上或线下)

  • 进行资金抵押或者信任证明(定期结账模式)

  • 接受服务,服务提供方进行实时扣费或者定期结账


    初步看这样的模式是没有问题的,但如果如果用超市购物来类比一下,就会发现有问题,整个流程就好比我们去超市购买东西,要先与商店签订购买合同,抵押一些资金或者赊账,然后就拿着合同去购物。看似没有问题的模式其实是非常繁琐的。对比在现实生活中,我们去超市购物是不需要这么多流程,我们只要拿着现金去购物就可以了。


    同时,如上的模式中,开发者会受到服务提供方的约束,约束表现如下:

    • 服务提供方可以拒绝为某些用户提供服务

    • 需要进行资金抵押或信任证明

    • 记账由服务提供方负责,不透明


    一种基于区块链构建世界计算机的方法


    如果我们加上区块链的思想,这种模式会可以有怎样的呈现形式呢?用户请求服务时,直接带上token,服务完成,token扣除。


    这种新的服务模式,看上去简单,但如果没有token,是很难完成的。法币是不可编程货币,不能实现在网络中传递,我们使用某项服务时,是不可能带上一些法币,去请求服务的。但区块链的token,则很容易就可以解决了这个问题,同时很大程度上减少了交易的摩擦和成本,非常轻量级。


    针对上面的:用户请求服务时,直接带上token,服务完成,token扣除的要求,我们设计了如下的一种模式,能够较好的满足上面的要求。


    这种新的服务模式中,未来可能会存在不同的场景,比如:

    • 非法图片的鉴定

    • 图片的存储


    结合上面提到的场景,我们来做进一步的解释:

    • 服务提供方的智能合约是一个可以降低信任门槛的合约,开发者只要很少的token就可以尝试服务,同时还能看到其他开发者调用合约的真实情况,从而有较少的试错成本,达到降低信任门槛的目标;

    • 观察器可以是由服务提供方自己来部署,也可以是第三方的服务,它负责监控特定合约上的交易,发现交易后,通知相应的中心化服务;

    • 中心化服务这个是相对于区块链的去中心化而言,这个服务不一定是很大的服务提供商,可以是个人提供的服务;

    • 计算服务既可以提供纯粹的计算,只提供算力,不提供算法,如提供map reduce算力;也可以提供算力加算法,如非法图片的鉴定。


    在上图中可以看出,服务是中心化与去中心化的一个结合,计算和存储可以由中心化服务提供,去中心化的区块链提供价值的转移以及服务的证明。


    如果再稍微做复杂一点,服务提供方的智能合约可以有惩罚机制,如果服务失败,会有自动的退款或赔偿。


    上面的模式,还有一个隐含的点是:服务的过程公开化,所有人都能看到某个服务的每天的服务量,服务的价格。服务过程公开化,相当于是一个组织把自己的服务完全区块链化,账务审计公开透明,进一步联想,如果根据这个点,把服务进行token化,也就有了非常好的基础。


    在这种服务模式下,可以很方便地在区块链基础上引入计算和存储资源,为开发者提供各式的服务,从而真正形成一个世界计算机,整个模型如下图所示:



    结语


    底层的链构建信任和价值,基于链上的中心化服务和去中心化服务则提供计算和存储,同时各种服务与链之间可以进行各种的嵌套,从而构建一个世界计算机。世界计算机提供了计算和存储资源,开发者在上面开发应用程序,从而为普通用户提供真正的价值。