智能合约、DApp与世界计算机

来源:理深科技时评 作者:白硕 2018-09-30 11:32:58

        188体育兴起以来,特别是以以太坊为代表的具有可编程特性的所谓188体育2.0兴起以来,关于188体育是“世界计算机”的说法就一直在流行。据说V神比较爱用这个说法,但不知是不是他的首创。具有图灵完备性的智能合约执行环境是实现所谓“世界计算机”的一种途径。更广泛地说,支持任何种类的DApp运行环境都走在这条道路上。我们在本文中想表达几层意思:一、图灵完备的“世界计算机”的技术路线,在计算机发展史上绝不是新鲜的,各种类型的尝试都有。二、即使考虑到“可信”的诉求,用成千上万台计算机做同一件事情,无论如何是效率低下的,不改进没有前途,局部的改进值得肯定但不是根本性的。三、从智能合约到可信的世界计算机,靠谱的计算架构是“链下执行、链上验证”,这是“一切即挖矿”方法论在“世界计算机”领域的体现。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

古已有之”的世界计算机sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

上个世纪,计算机科学的伟大先驱阿兰·图灵创立了通用可计算模型——图灵机模型。图灵的理论并非停止于用图灵机模拟一个个具体的算法,而是超越了对具体算法的模拟而上升到为用有限符号所描述的任意算法提供通用执行环境的更高层面。当我们把算法编码为数据,这个通用执行环境也就相当于处理经过编码的算法这类特殊数据的某个图灵机。在这个层面,图灵提出了通用图灵机的停机问题,并证明其不可判定。在这个层面,数据和程序可以相互转化,这开启了通往通用数字计算机的生命之门。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

基于世界上最早的通用数字计算机的设计和制造实践,冯·诺依曼提出了著名的程序代码存储的原则,后世称之为“冯·诺依曼架构”。在这个原则指导下,通用图灵机从理论模型落地为工业产品,并一直沿用至今。在计算机的存储中,数据和程序长的样子并无根本分别。一段存储内容是数据还是程序,完全取决于程序的内在逻辑和初始入口。正面的例子有操作系统的boot,反面的例子有病毒的传播,无一不是靠了冯·诺依曼他老人家定下来的这条神圣的架构原则所赐。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

互联网出现以后,数据通过网络的传输有了明确的落地载体,传输的内容也就可以玩花样了。如果说在单机时代,程序和数据都在本地一个池子里还显不出花样的差别的话,当网络把一个池子变成用通信管道连接的两个池子之后,“世界计算机”的玩法也就逐渐清晰起来。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

第一种玩法:程序在远程,本地上载数据到远程sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

我们在最初的RPC(远程进程调用)和Web兴起以后的CGI、PHP、ASP都可以看到这种模式,以COM/DCOM和CORBA为代表逐渐形成两个分布式对象体系阵营,后来逐步进化为SOA(面向服务架构)和现在流行的微服务体系。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

第二种玩法:程序在本地,远程下载数据到本地sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

这种数据驱动的应用激活模式,被微软OLE/ActiveX玩得烂熟。微软的浏览器插件都是这么干的,网景(Netscape)的浏览器就是这么被微软干死的。现在还在活着的其他浏览器和客户端App,要想继续活着,也必须走这条道路。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

第三种玩法:数据在远程,本地上载程序停靠到远程sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

这种模式就是所谓移动agent模式。在上世纪90年代,曾经引起过一阵小小波澜,但终究难起大浪,因为大家都认为这样的模式太不安全了。没过多久这套把戏就销声匿迹了。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

第四种玩法:数据在本地,远程下载程序到本地处理sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

这种模式大家可能还记忆犹新:这不就是“瘦客户端”吗?有人也管它叫“网络计算机(NC)”,有人管它叫“透明计算”,其实一回事。在网络带宽越来越富裕的今天,它不再奢侈,自有它可落地的场景。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

       sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

       这四种玩法,用一张2X2的表格,横向表示激活模式,纵向表示传输模式,画出来是这样的:sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


数据à程序sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

程序à数据sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

本地à远程sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

面向服务架构sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

移动AgentsDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

远程à本地sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

数据驱动的应用激活sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

瘦客户端sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

       由此可见,世界计算机的玩法,的确是“古已有之”,只不过当时的叫法是“世界是一台网络计算机”。但是,谁也没傻到用成千上万台计算机干同样的事,执行同样的程序还要彼此达成共识。那样做,太损失效率了,以至于大家对这种架构的可能性想都不要去想。那么,究竟是什么原因,使“傻事”成了了不得的发明创造了呢?这就不得不提及一个重要的概念:可信。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

程序如何“可信”?sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

程序如何“可信”?这个问题在传统的计算机行当里也不是没有人考虑过的新概念。但是传统可信计算的研究,局限在数据高度敏感的少数部门之内,因此其圈子也相对“小众”,本文也不拟展开论述。笔者仅仅指出一点:传统可信计算圈子对可信计算环境的诉求,与当今188体育领域的诉求相比,不仅没有丝毫的逊色,甚至可以说是有过之而无不及。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

188体育因为其承载经密码学勾稽、群体见证从而可传输价值的“公共账本”而变得重要起来。但是一个像比特币一样只能记账和转账的公共账本,只是对现实世界人们的“账本”、“钱包”或“保险箱”的简单模仿。对于大千变化的数字世界来说,这点简单模仿似乎太单薄了些。V神说,好吧,我来给你们加点作料。于是有了虚拟机和智能合约。虚拟机是智能合约的执行环境,但是,在别人掌控的主机上,作为执行环境的虚拟机和作为执行对象的合约代码都是可伪造、可做手脚的。智能合约里又充进去了许多交给智能合约支配的数字资产,万一把不可信的执行结果达成了共识回写到账本,那就万劫不复了。于是乎,“记账”的概念在以太坊那里有了新的推广,不仅记录账本上你直接支配的资产,也记录用代码支配着你的一部分资产和信任状态的智能合约的运行轨迹,即所谓“世界状态”。如果“世界状态”的比对是成功的,智能合约的运行结果据称就是可信的。为了以“公链”的方式达成对智能合约执行结果的可信性,于是有了成千上万台计算机在同样的虚拟机执行环境下运行着同样一批智能合约的蔚然景观。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

但是,难道这就是“可信”的代价?这就是“世界计算机”这么美好的概念带给我们的现实?不!且不说数十万个合约挤在一条公链上等待分配计算资源来运行是一件多么恐怖的事情,导致“油”价水涨船高,单就是这种千军万马低效率地做同一件事情的打法,也绝非一个训练有素的计算机专业人士所能容忍,更不要说那些揭竿而起的极客了。有人犯傻,就有聪明人的机会。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

一种解决方案就是把合约(或一般地,DApp)的执行引到“侧链”上去。在对合约的执行结果只有少数人感兴趣,但合约所关联的数字资产与公链仍然有千丝万缕联系的情况下,这是一个可行的解决办法。亦来云(Elastos)倾向于这种解决方案。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

还有一种解决方案就是跨链。用同构的子链运行智能合约,所涉及的数字资产则在子链和公链之间进行跨链清算。Cosmos倾向于这种解决方案。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

EOS更加狡猾。明知公链资源紧张,偏偏把紧张的资源拿出来拍卖形成套路,什么内存啊、画布啊,都干得出来。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

前两种方法在对计算压力进行分流方面做得都是可圈可点的。但是现状是,一个DApp部署在链下,要么不涉及“可信”诉求,要么对“可信”无可奈何只能接受现状(例如天气预报、航班到达时间、比赛结果比分这样的外部信息源),否则部署在链上一定是首选。避开公链而选择侧链和跨链,仍然没有离开“链”。这是一种必然的宿命,还是没有找到关键的突破口?sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

EOS的做法不是在解决问题,而是在利用没解决的问题发“链难财”,不说也罢。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

“世界计算机”和188体育的关系,陷入深深的纠结当中……sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

一切即挖矿sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

今年开春,“交易即挖矿”的口号引发了一场至今尚未偃旗息鼓的“搬砖引流”大战。所谓“交易即挖矿”,就是把平台币的发行和来交易所交易的流量挂钩。从金融角度看,流量并不等于流动性,平台币并不是奖励给提供更好流动性的交易者的,而是奖励给被扭曲的、不具有市场化定价意图的搬砖行为的。这和交易所设立的初衷是相背离的。当然,作为短期的促销行为,我们无可指责。更何况,平台币兼有权益属性,对于目前数字资产交易所治理结构的改善是有所帮助的。所以,不能全盘否定“交易即挖矿”的做法,但“交易即挖矿”也说不上就是能使交易所脱胎换骨的灵丹妙药。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

按下交易所不表,我们来拓展一下“交易即挖矿”这个口号。它对我们的最大价值在于,从这个口号往前再走一步,就是“一切即挖矿”。从今年六月份笔者在乌镇提出“一切即挖矿”这个观点以来,笔者得到了方方面面对这个观点的响应。现在,我们从“世界计算机”的角度,看看“一切即挖矿”意味着什么。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

在现实世界中,我们遇到大量的计算任务和信息处理任务,都具有执行难度和检验难度的非对称性。执行任务难,检验执行结果容易的例子比比皆是。数学家们为了黎曼猜想前赴后继奋斗了一百多年,好容易有牛人宣称差不多做出来了,结果一晒出来舆论哗然,不少人说这根本没有证明么。数学证明,构造难,检验相对容易。在数理逻辑中,即使是命题逻辑公式,构造证明的复杂性是NP完全的,检验证明的复杂性却是多项式的。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

NP完全问题都有这样的特点。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

现实的很多工作流程,分解开来也是这样。做一个东西难,检验一个东西做得是否合格,就相对容易很多。你为社区做一项具体的贡献难,大家检验你做没做你所声称的贡献,容易多了。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

所以,以上的例子在佐证“一切即挖矿”的观点。一切即挖矿,作为一种DApp架构设计的方法论原则,可以这样来表述:把一项工作尽可能地分解成为若干个“执行-验证”环节。把“执行”环节甩到链外,不关心其过程,只要其结果;把验证过程留在链内,群体见证,保证其可信性,并把结果的可信性与激励的可信性强挂钩、紧耦合。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

可以看出,这样的架构安排如果能够得到彻底的贯彻,公链计算资源会有根本性的释放和缓解。公链只做检验,不做只看结果不看过程的任何事情。要干这些事情,去链外干。反正你干的不对,没人踩你。你干得慢,你拿不到激励。如此而已。反过来,在链外发挥最大效率优势的执行方,会得到更多的激励。这可以鼓励技术极客们把功夫花在链外,让DApp干好该干的事情。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

比特币的矿机,就是最典型的链外DApp。你怎么解哈希,没人管你,也没必要把代码和芯片设计晒给别人。188体育只需要看结果,只需要对结果达成共识。在这种架构下,矿工们也确实得其所了。这将不是个例,一切DApp,只要可能,执行环节一定会甩到链外;油水大到一定程度,一定会硬件化。这是不可阻挡的历史潮流。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

 sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

       原来,世界计算机也可以不那么笨重的。sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么


sDMBCfans | 188体育爱好者_188体育技术_188体育开发_188体育是什么

公众号关注 bcfanscom 或搜索“188体育粉丝”,参与大咖直播和糖果空投活动

BCfans公众号

  • 188体育学习——188体育的架构
    188体育学习——188体育的架构 10-17 21:32

    我们甚至可以认为去188体育系统实际上就是特别设计的数据库系统或者分布式数据库系统,在这个数据库可以存储数字货币,也可以存...

  • Ico365挖矿系统开发
    Ico365挖矿系统开发 10-16 19:47

    Ico365系统开发,邓生 159-1853-7626 微电,Ico365挖矿系统开发,Ico365挖矿软件开发,Ico365挖矿模式开发,Ico365挖矿app开发...

  • 算力链BHP挖矿产币系统开发
    算力链BHP挖矿产币系统开发 10-16 17:38

    算力链BHP挖矿产币系统开发,找吴先生183.2071.6434微电.互联网时代已经来临,接下来是互联网 的时代,军事,教育,经济,...

  • 188体育游戏开发
    188体育游戏开发 10-15 19:26

    “188体育游戏系统”定制开发咨询【刘星 137-2485-1265 微/电】,“188体育游戏系统”开发,“188体育游戏系统”模式开发O2O·C2B......

  • 188体育90后首富诞生 比特币核心开发者称五年内EOS将消失 | 一周要闻
    188体育90后首富诞生 比特币核心开发者称五年内EOS将 10-14 22:52

    2018年胡润百富榜》出炉:188体育行业共14人登榜并诞生90后首富.过去近一个月行情着实“无聊”了点,从9月14日到10月14日,...

  • 比特币开发人员:全球数字货币市场都处于萌芽状态
    比特币开发人员:全球数字货币市场都处于萌芽状态 10-13 09:00

    在第一届188体育技术与行业落地研讨会上,比特币项目核心开发成员Martti Malmi称,整个数字货币市场无论在全球还是中国都处于萌...

  • 孤矢|助力智能合约开发,原力独家解读EOSIO源码
    孤矢|助力智能合约开发,原力独家解读EOSIO源码 10-12 20:33

    EOSForce.io主网和EOS EMLG主网启动以来,成千上万的开发者涌入开始了自己的188体育或者智能合约开发之路.但是我们发现,很...

  • 188体育在游戏领域的开发应用
    188体育在游戏领域的开发应用 10-11 20:39

    188体育游戏发展的机遇据赢在移动了解,曾鸣教授曾在他的文章中写到,用户规模是188体育价值实现的一个基本标准.实际上,到目前...

  • 188体育算力系统开发
    188体育算力系统开发 10-11 20:39

    每个硬币的单个188体育随生成新的交易块所需的时间而变化. 算力和188体育是一种怎样的结合?早期的比特币188体育采用高度依赖节点...

  • 比特币的挑战者 BCH 带着开发者们来到湾区了!
    比特币的挑战者 BCH 带着开发者们来到湾区了! 10-11 09:41

    Permissionless Ventures 主办、由Bitcoin.com 及中美跨境媒体硅谷密探联合发起,意在鼓励挑战者提出比特币现金网络的创新方案,...

  • ETH韭菜联盟链系统开发
    ETH韭菜联盟链系统开发 10-09 19:55

    ETH韭菜联盟链系统开发,孙经理:180-2861-7806(微、电)ETH韭菜联盟链软件开发、ETH韭菜联盟链平台开发、ETH韭菜联盟链...

  • ETH韭菜联盟链app开发
    ETH韭菜联盟链app开发 10-08 20:15

    ETH韭菜联盟链爱社区介绍 ️、动静态收益 一、直接邀请奖 级别【初级韭菜】 自投0.1到1个ETH,拿7%的直推奖. 级别【中级韭菜...