上一篇没聊完的,在这里继续。这一篇是我和PPLive的联合创始人张小兵共同讨论一起写的。
之前我们聊到,区块链的计算本质是一个可以和特定计算设备分离的冯·诺伊曼架构,是可以向第三方证明的可信计算范式,目的是为了计算过程真实可信,支持上层应用上实现业务逻辑的自证清白,为世界带来可以计算的信任。
从上层应用开发的角度来说,这和大部分输入驱动的编程模型没有什么不同。但是从底层的计算执行过程来看,较之传统的计算系统,有其非常独特的去中心化的特性。
这样的一个特性,产生了一个「制造信任」的机器。当然了,它的第一个产品是比特币,其核心可以这样总结:
1. 可靠的点到点的支付的机制,手续费自由竞争
2. 总量给定,匀速发行,周期性发行速度减半
区块链这个机器,为比特币制造了信任,严格保障了上述两点核心原则。也许在很多金融人士的眼中,这两个原则既平庸又幼稚,但是这是人类文明历史上,这是第一次在这样的层面上的原则得到技术驱动的绝对保障。然后,数字货币世界就此开始起步。
即使如此,2009年看到这篇论文的时候,我也没想到这个事情成真了,并且如此之快。
我想说的是,人类真的很神奇。《人类简史》中曾有一句话:“想象力与虚构是人类文明的起点,我们编故事,并相信我们的故事 … ...”我想,比特币就是个绝佳的例证。当然这个相信也不是凭空而来,宗教花了无数的力气,花了几百年,而比特币仅仅凭一段代码,只花了几年的时间。
这就是技术的力量。 我的这一篇会分成两个部分,一部分姑且称之「为了现在的未来」,另一部分则是「为了未来的未来」。只关心互联网的同学可以先跳到后半部分 「为了现在的未来」,即如何为现在的互联网制造信任。
为了未来的未来: 为去中心化的世界制造信任
去中心化技术已经发展了有很长一段时间,并不是只是大家看到的区块链。其实,最早的去中心化技术是互联网本身。我们已经历经了通讯的去中心化、存储的去中心,然后才有了区块链,即「计算的去中心化」。
通讯的去中心化
1876年,商用电话网络首次部署,那是一个比计算机要早70多年的时代。当时通话双方藉由一个中心切换机房,来完成点对点通讯链路的连接,而这个连接是真真实实物理世界中的一条线。
从现在的观点来看, 这就是一个伸缩性极差的星型网络。很明显,这个中心切换机构是通讯的瓶颈,也是单点失效(single point of failure)的存在。我们现在代码里面的一条 「if」语句,在那个时代,是下图这样的一个机械开关。
之后电信网络经历了人工接线到程控交换、模拟信号到数字信号、语音链路到数据链路、独占线路到分组交换(packet-switching)一系列将近100年的演化。最终到了1960年代, 美国国防部高级研究计划局( DARPA)启动了ARPANET,提出了IP协议组,才是真正意义上的现代全球数据网络的开端。
去中心化就是IP协议组设计目标的核心,当初的目的是为了有效抵御可能的核战争对物理通讯系统的破坏。很庆幸,这个事情最终和战争没太大关系,而是为人类带来了互联网。
IP协议组实现的通讯的去中心化,其核心是的交换设施的去中心化。分散的交换设施在数据通讯网络中互相松散地连接,将数据包从发送方逐级接力转发到接受方。这个过程无需一个中心来协同和调度,从而保障当网络中部分交换设施失效之后,这个网络剩余的节点依旧可以正常通讯。实现这个过程的核心技术是去中心化的路由算法,能够处在一个网络的局部发现源和宿的路径,进而完成自己这个局部的路由寻径和报文转发。
一个去中心化的系统,隐含的意思是开放的协议和没有壁垒的公平参与。不必妄想什么自由精神,只是这一点,就极大减少了推广这个技术的摩擦和实施这个技术的门槛。正因为如此,IP协议组被全世界所有公司、所有国家接受。无论哪种商业模式、哪种意识形态,都接入了这个体系,一起构造了划时代的人类文明的载体。不过,其后的Web却走了捷径,用中心化的方式实现了域名系统和CA证书系统(主要用于HTTPS)。
这里需要提一下的是,IP地址分配现在是中心化协调的,从而避免冲突。IP地址分配本质上完全可以是去中心化的,正如BitTorrent种子的地址或者比特币钱包地址一样。但是由于去中心化的的地址分配需要一个比现在IPv4大许多的地址空间,导致用来表示IP地址的数据量变大一些。所以可以理解在当年带宽稀缺的年代,采用了IPv4的32位地址。在新的IPv6中,这个地址是128位的,完全可以实现去中心化的地址分配。
存储的去中心化
1999年,Napster点燃了点对点文件共享的第一把火。在那个很多人还是用52K猫拨号上网的时代,在线多媒体内容极其稀缺。Napster让大家把电脑硬盘里面的,CD机里面的MP3音乐分享出来,让大家可以更容易获取到喜欢的音乐。当然唱片公司不乐意了,后面关于唱片业和版权生意变革的故事我在这里就不多展开了,让我们把注意力还是放在点对点共享系统的发展上。
Napster之后,美国的BitTorrent、日本的Winny、中国的PPLive、迅雷,还有北大的Maze等等,都在这一时期涌现出来。由于高昂的服务器带宽成本以及过低的用户接入带宽,使得在那个时代无法支撑今天我们所熟悉的在线视频网站和在线音乐网站。而这个用户需求,在2008年之前,被点对点文件共享系统满足了。
这里描述的问题看起来像是个通讯的问题,但是其实质是得益于去中心化的冗余存储。我用下图来和大家解释。
大致自2000年开始,大量用户开始迁移到ADSL、小区/宿舍局域网等接入方式,这使互联网的带宽呈现上图这样的一个分层的结构。用户本地端口的带宽实际上远高于其ISP提供的互联网接入带宽。这时下载源离用户越近,大概率其下载带宽就越高。点对点文件共享网络中的每一个节点,在下载过程中,同时也成为了一个新的冗余下载源。这时,一个原本位于国际互联网上的一个文件,你可以在国内、甚至同一个城市找到下载源。对于热门的资源,你甚至可以在同一个小区、甚至同寝室找到下载源。这时你会发现,虽然你在下载一个海外的资源,而你体验到的下载速度甚至远高于你的互联网接入带宽。而对于原始提供下载的网站来说,绝大部分的下载流量被之后的点对点下载节点承担了。 同样是去中心化,存储去中心化实现了比中心化更好的性能和用户体验,所以去中心化就性能低下的刻板印象是不正确的。存储去中心化首次在去中心化体系中引入了安全措施,用安全哈希函数(Secure Hash)来收到验证数据的真实性,避免数据被篡改。在前面提到的IP协议组中,是完全无法校验被篡改的数据包的。
另外,在存储去中心化系统中,更值得一提的一项核心技术是分布式哈希表(DHT, distributed hash table),这项技术使得BitTorrent最终成为一个彻底的去中心化系统,以去中心化的方式找到冗余下载源,摆脱对Web网站跟踪器(Web Tracker)的依赖。从用户角度所看到的就是磁力链接代替了从网上下载的种子文件。
存储去中心化使得资源离用户更近,在那个时代打破了互联网接入带宽的约束,提供了超越时代的资源发现和下载的体验。
之后的故事,不禁唏嘘,在2006年之后互联网接入带宽大幅提升,同时成本快速下降,中心化的视频网站登上舞台,从而将视频网站竞争的格局从带宽成本迅速转移到版权资源。之后点对点文件共享系统,只剩下了BitTorrent、快播等提供独特内容的平台。而存储去中心化的内容分发设计理念则被CDN(内容分发网络)承袭,继续利用互联网的带宽分层结构,更高效地为用户服务。
未来的去中心化应用世界
今天,相信大家都看到了计算的去中心化。正如上一篇文章「区块链到底有什么了不起」讲到的,区块链的本质是为了计算过程的可信,从而打造了一个制造可计算信任的机器。相信大家也看到了去中心化应用(DApp),以基于以太坊的智能合约为代表的实现,运行在特定公链上的应用。但这里我想说的去中心化应用是一个更大的范畴,即任何不依赖中心服务器的在线应用。这里包括前面提到的各种点对点文件共享系统,包括点对点的视频、通讯等应用,当然也包括现在的公链系统。
不过很遗憾,除了公链系统,其他的去中心化系统并没有设计成一个功能和场景可以被拓展的应用平台。比如,存储去中心化其实可以有很多想象空间,它同数据的所有权、数据的流动方式密切相关。当下在互联网的主流应用中出现的那些用户隐私、数据安全、影响力操纵等问题,或多或少可以在存储去中心化的计算范式中得到一些启发。
但是,中心化的数据所有权和利用机会,是大多数互联网业务能够盈利的根基,这些公司是不会主动为此从根本上做一些改变的。不过我们相信,未来在这个方向上会有新的应用、新的公司出现。
一个有意思的点是,去中心化应用通常有可能实现零成本的运维(至少是其基础系统部分)。只要应用本身做得有价值,初创团队不需要为系统的扩张付出额外的运维成本。这一点对初创团队是一个巨大的杠杆。BitTorrent的作者就一个人, Winny也是,比特币的初创研发也应该是很少几个人。在整个应用大幅扩张的过程中,他们不需要购买服务器,不需要购买带宽和存储,更不需要融资,因为这个系统的IT资源消耗被无数的参与者合理分摊了。这有可能造就全新的盈利模式,而不是一开始就需要大量的资本助力。 基于去中心技术的系统,通常有非常好的鲁棒性(Robustness),其代价是一定程度的资源冗余消耗,但是无论是通讯的去中心化,还是存储的去中心化,其伸缩性都是非常好的,性能和容量可以随着系统规模的扩大自然地大幅提升。所以性能或者容量的各种瓶颈并不是去中心化技术的固有特征,这种刻板印象是不正确的。
但是现有的区块链技术方案确实有这些瓶颈。我前面几篇文章和分析了这些瓶颈的具体情况,但这只是现有区块链项目具体方案本身的问题,而不是区块链就一定有这个问题。揪其根本,之所以去中心化的通讯和存储可以获得优异的可伸缩性,是因为他们的解决方案充分利用了业务逻辑的局域性(proximity),路由算法可以在不了解全网的网络结构的情况下,发现局部区域的有效转发路径,DHT可以在不了解全网节点分布的情况下,仅用少量的迭代查询就可以发现特定资源的冗余下载源。而现在区块链的方案竟然要求每个节点了解整个网络的状态并维护其完整的更新。事实上,每一个区块链上的交易,亦有良好的局域性,仅涉及少量的用户。但是这一点并没有被有效地利用。我后面一篇,会和大家讨论区块链如何利用这个特性,完成高效的跨链交易。
也正是因为这个原因,我之前的文章提到,只有横向扩展(scale-out)的技术方向,才能真正大幅提升区块链的性能和容量。本质上就是为了构造这个局域性,从而使得每个节点至少不用操心整个网络,而是只关心组内的状况就可以了。
区块链是未来数字世界中的一个重要成员,其性能和容量的问题也一定会被解决,但这不是未来去中心化数字世界全部。区块链将为这个世界制造信任,至少提供这个世界中经济流转的纽带。但这并不意味着,任何一个去中心化应用都需要以区块链为基础、差强人意地去设计激励机制。区块链是为了制造信任,并不是所有的应用都需要这样的一个基础。有很大一部分应用,本质是传递既有的信任,而不是制造新的信任,对于这种应用不需要以区块链为基础。
而最佳的激励机制则是无需激励。拿BitTorrent来说,其主流的协议是没有激励机制的,却打造了迄今为止全球最大的去中心化系统。每天活跃着近千万节点,而以太坊才几万的节点数。激励机制从来就是双刃剑,有人被激励,就一定有人要付出一定的代价,而这个代价将给应用的扩张带来极大的摩擦。这是一个供求双方的博弈,并不是只有激励这么一个简单粗暴的解决方案。
我更乐于看到,在一个去中心化应用具备相当规模之后,在其上建立供求关系,促成增值交易的发生,这时区块链就有用武之地了,并且和应用的去中心化体系浑然天成。打个粗暴的比方,我们首先做个免费的微信,用户上量后会产生交互,形成关系并推动新的功能需求,再后来才有可能在上面做微商、广告等增值业务。而不是第一天就开始做一个收费的微信。
我相信,未来这个去中心化应用世界,会对现有的互联网业务带来很大的冲击,尤其是广义的社交和媒体领域。而区块链会在里面担当重要的角色,但并不是什么都需要在链上。很多去中心化应用的有其自己的核心,可以一开始和区块链毫无关系。
为了现在的未来: 为互联网制造信任
可信计算范式其最大的意义是制造信任,而这个可计算的信任,对现今的业务来说有价值吗? 我觉得是有的,并且远超金融的范畴。这个可信计算范式,将对未来的互联网业务,尤其是C端业务带来巨大的影响。这是一个在10年的尺度上,极有可能发生的事情。
大家一定记得,早在2000年,Google有个口号叫做 不作恶 (Don't be evil)。这不是一个简单的噱头,这么提倡,是因为Google有能力作恶,做大恶。很多年来,Google在这个方面做得还算不错,当然反面的例子大家也看到了。
在本质上,由于网页排序(Web Ranking)这个计算过程运行在Google自家的机房,里面真实的逻辑是什么产生的结果是不是合理的、公允的、并且不被操纵的,作为第三方完全无法确信。Google也没有办法自证。本质原因是这个计算过程依赖特定的物理计算设备(数据中心),并且Google完全掌控这个物理计算设备,从而完全掌控了这个计算过程。
基于传统的冯·诺伊曼架构,这个承载计算过程的物理设备必须得有一个掌控者,所以Google既然建立了这项搜索业务,自然而然,掌控这个计算过程的人选也应该是Google。但是他永远无法向第三方证明,他没有作恶。这样的掌控对一个互联网公司来说,当然是求之不得的。很大一部分互联网业务的盈利模式本质上建立在这个垄断的封闭的计算范式之上,得益于对计算过程的掌控和操纵,在满足用户需求的同时优化自身的盈利目标。但是这样的好日子一定不是永远的。正如互联网用服务颠覆了之前软件产业的产品一样,曾经有效的盈利模式会被新的业务形态全盘推翻。
这个新的计算范式未来将支持新的可以信赖的互联网服务,使人们能够确信搜到的网页是最佳匹配的最具权威的;使人们能够确信被推荐的商品是最适合自身的,也是全场价格最低,质量最好的;使人们能够确信看到的酒店价格是和大家一样的;使人们确信匹配到的医生、司机、家政都是可靠并有良好资质和历史记录的。这样的例子举不胜举。
互联网业务在全社会渗透,越来越深地触及到每一个人的生活,关系到人身、健康、经济等层面的安全。虽然用户的隐私数据对优化业务效率至关重要,但是用户需要确信自己的数据被合理地、安全地利用了,而不是被滥用,这需要涉及这个部分业务的计算过程是可信的。这样才能消解用户的隐私和业务优化之间的矛盾。互联网用户在之后的10年,也不仅仅满足于有和无,更需要确信自己没有被忽悠、没有被操纵、没有被愚弄,至少没有被价格歧视。一定会有新的公司和新的业务出现,来满足这些需求,将互联网业务的品质提高到一个新的水平。而这一切的基础之一,是这个可信的计算范式。当然,能够实现这个计算范式的,区块链是第一个,未必是最后一个。
很多人说区块链将变革生产关系,这一点我深表怀疑。虽然代币(Token)使得投融资的结构发生了一些暂时的改变,但是整个区块链并没有因此而长期繁荣,也没有带来创新技术的突飞猛进。因为生产关系永远是被生产力决定的,而不是反过来。技术演进永远是作用在生产力发展的。区块链将变革只能是生产力,而这最大的其变革会从全新的角度来推动生产力的发展,商业行为的繁荣。这个角度一定和这个可信计算范式有本质的联系。
这个未来有多远?从全新的角度来推动生产力的发展,这个事情互联网已经做了一次,同其计算本质相关。互联网变革生产力的角度是全球范围的建立了可计算的连接,人和人的连接,人和组织的连接,人和商业的连接。这个全新的角度,支持了其上的无数的创新生产力,也导致了生产关系的深远改变。
而区块链区块链将变革生产力的角度,也一定同其计算本质有关,是建立全球范围的可计算的信任,人和人的信任,人和组织的信任,人和商业的信任。
比特币论文面世已经十周年了,但是,我在前文提到的这个「建立全球范围可计算的信任」的未来,可能还要更久远。从1975年TCP/IP协议首次部署开始,互联网至今已有43年了。我们太多将互联网现在的繁荣看得理所当然,但事实上一开始的15年,完全是默默无闻的。直到1990年,万维网(WWW)和浏览器才首次部署,此后才越来越多地进入大众视野,承载社会主流的商业应用。而比特币的「Proof-of-Work」协议首次部署于2009年1月9日(创始区块的时间),这个新的世界才刚刚开始。 一个网络体系要能在全社会大范围的工作,需要一个漫长的实体映射和形式化的过程。互联网在建设这全球信息网络的过程中,花了相当长时间逐步完成了这个映射过程,从文字/图像(HTML)、社群(BBS)、多媒体(音视频网站)、人际关系(社交)、人的身份(linkedin, oAuth)、货币(在线支付)、商品(电商)、服务(o2o) 等等一系列实体的映射,才有了现在生机盎然的互联网及其上丰富多彩的广义交易。以区块链技术为代表的信任网络,也会需要有这样一个过程。
这就是为什么最早大规模商用的冯·诺伊曼架构是在金融领域(银行),而区块链最早的应用也是金融相关的。因为金融领域的信息和实体最容易被形式化,通常会最先被映射到一个新的计算范式的生态中,并且其业务本身也有相当的体量和价值。
我相信区块链的世界发展得会比互联网的历程来得快,因为它得益于互联网的基础设施,得益于这个信息高效传播的时代。但有一件事情是不怎么快得起来的,那就是人心。由于认知和使用习惯的惯性,用户需要相当长的时间适应并拥抱这个新的世界。这是一件极难被加速的事情。即使是蜂拥而至的资本也不会加速这个过程,改变不了10年这个尺度上的技术和市场的演进。此前,比如在可穿戴设备市场、在虚拟现实市场上,已经有血淋淋的教训了。
有关人与人之间的联系,其实已经存在千年,即使在没有互联网的时代一样在发生着,影响着每一个人,以及整个社会。但是一旦有了互联网,将这个联系纳入可计算的数字世界,全球生产力前所未有的提升就被引爆了。有关人之间的信任,也存在了千年,在没有区块链的时代一样也发生着,影响着每一个人,以及整个社会的商业活动。这就是为什么我们需要诚信、我们需要人脉,而公司需要商誉和背书,一切都是为了在需要建立信任的时候,可以畅通无阻,最小化摩擦。如果有一天,这个信任被纳入可计算的数字世界,由这个去中心化的信任机器来承载和运作,那么,我们的商业活动将以全新的方式发生,全球生产力会以全新的角度发生更深远的提升。
这个路会很长,但是我们值得探索,在未来的文章中和大家继续探讨 :)。欢迎大家通过我的微信公众号「王嘉平」和知乎专栏「去中心化数字世界随想」,就这个话题展开更多讨论。
作者简介:
王嘉平博士原为微软总部雷德蒙研究院主管研究员,专注分布式系统,计算机图形学和视觉以及用于机器学习的GPU集群等领域的研究,有数十项研究成果发表于ACM SIGGRAPH/ToG顶级国际期刊,已授权的美国专利十项余项。他师从沈向洋博士(现微软全球执行副总裁),在中科院计算所获得博士学位。他的博士论文获得2009年度全国百篇优秀博士论文奖,是该年唯一一名计算机科学专业的获奖者。王嘉平博士现任创新工场执行董事,投资方向为区块链和人工智能。他曾主导了对比特大陆的首轮机构投资,成为其首轮三大主要投资方之一。
张小兵为前PPTV(PPLive)联合创始人,专注于系统架构、P2P/P2SP、流媒体、CDN等技术领域。他设计构建了PPTV的技术架构,并带领团队研发PC端、移动端、机顶盒、智能电视等产品。目前专注于开源软件,方向为大规模分布式协同计算。