作者:计算机博士,互联网进化论作者 刘锋
背景
2008年,神秘的中本聪在密码学邮件组第一次提出了区块链的概念,同时区块链成为“电子货币”比特币的核心技术,在麦肯锡的一份报告中,将区块链技术称之为继蒸汽机、电力、信息和互联网科技之后,最有潜力触发第五轮颠覆性革命浪潮的核心技术。另一方面,区块链技术产生的比特币,山寨币,ICO项目导致的大量诈骗活动也引起了社会的批判浪潮。
区块链技术究竟是像电子邮箱、Tcp/iP、万维网、社交网络一样,是革命性的,引领互联网未来的技术;还是一个被夸大的、存在巨大缺陷的技术?
要理解区块链的历史地位和未来趋势,就不得不从互联网的诞生开始研究区块链的技术发展简史,从中发掘区块链产生的动因,并由此推断区块链的未来。
一、5个对区块链未来有重大影响的互联网技术
1969年,互联网在美国诞生,此后互联网从美国的四所研究机构扩展到整个地球。在应用上从最早的军事和科研,扩展到人类生活的方方面面,在互联网诞生后的近50年中,有5项技术对区块链的未来发展有特别重大的意义。
1.1974诞生的TCP/IP协议:决定了区块链在互联网技术生态的位置
1974年,互联网发展迈出了最为关键的一步,就是由美国科学家文顿•瑟夫和罗伯特•卡恩共同开发的互联网核心通信技术--TCP/IP协议正式出台。
这个协议实现了在不同计算机,甚至不同类型的网络间传送信息。所有连接在网络上的计算机,只要遵照这个协议,都能够进行通讯和交互。
通俗的说,互联网的数据能穿过几万公里,到达需要的计算机用户手里,主要是互联网世界形成了统一的信息传播机制。也就是互联网设备传播信息时遵循了一个统一的法律-TCP/IP协议。
理解TCP/IP协议对掌握互联网和区块链有非常重要的意义,在1974年TCP/IP发明之后,整个互联网在底层的硬件设备之间,中间的网络协议和网络地址之间一直比较稳定,但在顶层应用层不断涌现层出不穷的创新应用,这包括新闻,电子商务,社交网络,QQ,微信,也包括区块链技术。
也就是说区块链在互联网的技术生态中,是互联网顶层-应用层的一种新技术,它的出现,运行和发展没有影响到互联网底层的基础设施和通讯协议,依然是按TCP/IP协议运转的众多软件技术之一。
2.1984年诞生的思科路由器技术:是区块链技术的模仿对象
1984年12月,思科公司在美国成立,创始人是斯坦福大学的一对夫妇,计算机中心主任莱昂纳德·波萨克和商学院的计算机中心主任桑蒂·勒纳,他们设计了叫做“多协议路由器”的联网设备,放到互联网的通讯线路中,帮助数据准确快速从互联网的一端到达几千公里的另一端。
整个互联网硬件层中,有几千万台路由器工作繁忙工作,指挥互联网信息的传递,思科路由器的一个重要功能就是每台路由都保存完成的互联网设备地址表,一旦发生变化,会同步到其他几千万台路由器上(理论上),确保每台路由器都能计算最短最快的路径。
大家看到路由器的运转过程,会感到非常眼熟,那就是区块链后来的重要特征,理解路由器的意义在于,区块链的重要特征,在1984年的路由器上已经实现,对于路由器来说,即使有节点设备损坏或者被黑客攻击,也不会影响整个互联网信息的传送。
3.随万维网诞生的B/S(C/S)架构:区块链的对手和企图颠覆的对象
万维网简称为Web,分为Web客户端和服务器。所有更新的信息只在Web服务器上修改,其他几千,上万,甚至几千万的客户端计算机不保留信息,只有在访问服务器时才获得信息的数据,这种结构也常被成为互联网的B/S架构,也就是中心型架构。这个架构也是目前互联网最主要的架构,包括谷歌、Facebook、腾讯、阿里巴巴、亚马逊等互联网巨头都采用了这个架构。
理解B/S架构,对与后续理解区块链技术将有重要的意义,B/S架构是数据只存放在中心服务器里,其他所有计算机从服务器中获取信息。区块链技术是几千万台计算机没有中心,所有数据会同步到全部的计算机里,这就是区块链技术的核心,
4.对等网络(P2P):区块链的父亲和技术基础
对等网络P2P是与C/S(B/S)对应的另一种互联网的基础架构,它的特征是彼此连接的多台计算机之间都处于对等的地位,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,
Napster是最早出现的P2P系统之一,主要用于音乐资源分享,Napster还不能算作真正的对等网络系统。2000 年3月14 日,美国地下黑客站点Slashdot邮寄列表中发表一个消息,说AOL的Nullsoft 部门已经发放一个开放源码的Napster的克隆软件Gnutella。
在Gnutella分布式对等网络模型中,每一个联网计算机在功能上都是对等的,既是客户机同时又是服务器,所以Gnutella被称为第一个真正的对等网络架构。
20年里,互联网的一些科技巨头如微软,IBM,也包括自由份子,黑客,甚至侵犯知识产权的犯罪分子不断推动对等网络的发展,当然互联网那些希望加强信息共享的理想主义者也投入了很大的热情到对等网络中。区块链就是一种对等网络架构的软件应用。它是对等网络试图从过去的沉默爆发的标杆性应用。
5.哈希算法:产生比特币和代币(通证)的关键
哈希算法将任意长度的数字用哈希函数转变成固定长度数值的算法,著名的哈希函数如:MD4、MD5、SHS等。它是美国国家标准暨技术学会定义的加密函数族中的一员。
这族算法对整个世界的运作至关重要。从互联网应用商店、邮件、杀毒软件、到浏览器等、,所有这些都在使用安全哈希算法,它能判断互联网用户是否下载了想要的东西,也能判断互联网用户是否是中间人攻击或网络钓鱼攻击的受害者。
区块链及其应用比特币或其他虚拟币产生新币的过程,就是用哈希算法的函数进行运算,获得符合格式要求的数字,然后区块链程序给予比特币的奖励。
包括比特币和代币的挖矿,其实就是一个用哈希算法构建的小数学游戏。不过因为有了激烈的竞争,世界各地的人们动用了强大的服务器进行计算,以抢先获得奖励。结果导致互联网众多计算机参与到这个小数学游戏中,甚至会耗费了某些国家超过40%的电量。
二、区块链的诞生与技术核心
区块链的诞生应该是人类科学史上最为异常和神秘的发明和技术,因为除了区块链,到目前为止,现代科学史上还没有一项重大发明找不到发明人是谁。
2008年10月31号,比特币创始人中本聪(化名)在密码学邮件组发表了一篇论文——《比特币:一种点对点的电子现金系统》。在这篇论文中,作者声称发明了一套新的不受政府或机构控制的电子货币系统,区块链技术是支持比特币运行的基础。
论文预印本地址在http://www.bitcoin.org/bitcoin.pdf,从学术角度看,这篇论文远不能算是合格的论文,文章的主体是由8个流程图和对应的解释文字构成的, 没有定义名词、术语,论文格式也很不规范。
2009年1月,中本聪在SourceForge网站发布了区块链的应用案例-比特币系统的开源软件,开源软件发布后, 据说中本聪大约挖了100万个比特币.一周后,中本聪发送了10个比特币给密码学专家哈尔·芬尼,这也成为比特币史上的第一笔交易。伴随着比特币的蓬勃发展,有关区块链技术的研究也开始呈现出井喷式增长。【1】
向大众完整清晰的解释区块链的确是困难的事情,我们以比特币为对象,尽量简单但不断深入的介绍区块链的技术特征。
1.区块链是一种对等网络(P2P)的软件应用
我们在前文提过,在21世纪初,互联网形成了两大类型的应用架构,中心化的B/S架构和无中心的对等网络(P2P)架构,阿里巴巴,新浪,亚马逊,百度等等很多互联网巨头都是中心化的B/S架构,简单的说,就是数据放在巨型服务器中,我们普通用户通过手机,个人电脑访问阿里,新浪等网站的服务器。
21世纪初以来,出现了很多自由分享音乐,视频,论文资料的软件应用,他们大部分采用的是对等网络(P2P)架构,就是没有中心服务器,大家的个人计算机都是服务器,也都是客户机,身份平等。但这类应用一直没有流行起来,主要原因是资源消耗大,知识版权有问题等。区块链就是这种领域的一种软件应用。
2.区块链是一种全网信息同步的对等网络(P2P)软件应用
对等网络也有很多应用方式,很多时候,并不要求每台计算机都保持信息一致,大家只存储自己需要的的信息,需要时再到别的计算机去下载。
但是区块链为了支持比特币的金融交易,就要求发生的每一笔交易都要写入到历史交易记录中,并向所有安装比特币程序的计算机发送变动信息。每一台安装了比特币软件的计算机都保持最新和全部的比特币历史交易信息,
区块链的这个全网同步,全网备份的特征也就是常说的区块链信息安全,不可更改来源。虽然在实际上依然不是绝对的安全,但当用户量非常大时,的确在防范信息篡改上有一定安全优势。
3.区块链是一种利用密码产生”货币”的全网信息同步的对等网络(P2P)软件应用
区块链的第一个应用是著名的比特币,讨论到比特币时,经常会提到的一个名词就是“挖矿”,那么挖矿到底是什么呢?
形象的比喻是,区块链程序给矿工(游戏者)256个硬币,编号分别为1,2,3……256,每进行一次Hash运算,就像抛一次硬币,256枚硬币同时抛出,落地后如果正巧编号前70的所有硬币全部正面向上。矿工就可以把这个数字告诉区块链程序,区块链会奖励50个比特币给矿工。【2】
从软件程序的角度说,比特币的挖矿就是用哈希SHA256函数构建的数学小游戏。区块链在这个小游戏中首先规定了一种获奖模式:给出一个256位的哈希数,但这个哈希数的后70位全部是0,然后游戏者(矿工)不断输入各种数字给哈希SHA256函数,看用这个函数能不能获得位数有70个0的数字,找到一个,区块链程序会奖励50个比特币给游戏者。实际的挖坑和奖励要更复杂,但上面的举例表达了挖矿和获得比特币的核心过程。
2009年比特币诞生的时候,每笔赏金是50个比特币。诞生10分钟后,第一批50个比特币生成了,而此时的货币总量就是50。随后比特币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),赏金减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,赏金再减半为12.5个。根据比特币程序的设计,比特币总额是2100万。
从上述介绍看,比特币可以看做一个基于对等网络架构的猜数小游戏,每次正确的猜数结果奖励的比特币信息会传递给所有游戏者,并记录到每个游戏者的历史数据库中。
4.区块链技术因比特币的兴起产生的智能合约,通证、ICO与区块链基础平台
从上面的介绍看,比特币的技术并不是从天上掉下来的新技术,而是把原来多种互联网技术,如对等网络架构,路由的全网同步,网络安全的加密技术巧妙的组合在一起,算是一种组合创新的算法游戏。
由于比特币通过运作成为可以兑换法币,购买实物,通过升值获得暴利,全世界都不淡定了。抱着你能做,我也能做的态度,很多人创造了自己的仿比特币软件应用。同时利用政府难以监管对等网络的特点,各种山寨币与比特币一起爆发。这其中出现了很多欺诈和潜逃事件,逐步引起各国政府的关注。
用区块链技术框架创建货币还是有相当的技术难度,这时区块链基础平台以太坊等基础技术平台出现了,让普通人也可以方便的创建类“比特币”软件程序,各显神通,请人入局挖币,炒币,从中获得利益。
各家“比特币”、“山寨币”如果用哈希算法创建的猜数小游戏,产生自己的“货币”时,这个“货币”统称“通证”或“代币”
由于比特币和以太币已经打通与各国法币的兑换,其他新虚拟币发币时,只允许用比特币和以太币购买发行的新币,这样的发币过程就叫ICO,ICO的出现放大了比特币,以太币的交易量。同时很多ICO项目完全建立在虚无的项目上,导致大量欺诈案例频发。进一步加深了社会对区块链生成虚拟货币的负面认识。
智能合约可以看做区块链上的一种软件功能,是辅助区块链上各种虚拟币交易的程序,具体的功能就像淘宝上支付宝的资金托管一样,当一方用户收到的货物,在支付宝上进行确认后,资金自动支付个给买家货主,智能合约在比特币等区块链应用上也是承担了这个中介支付功能。
三、区块链技术在互联网中的历史地位和未来前景
1.区块链处于互联网技术的什么位置?是顶层的一种新软件和架构
我们在前面的TCP/IP介绍中提到,区块链与浏览器、QQ、微信、网络游戏软件、手机APP等一样,是互联网顶层-应用层的一种软件形式。它的运行依然要靠TCP/IP的架构体系传输数据。只是与大部分应用层软件不同,没有采用C/S(B/S)的中心软件架构。而是采用了不常见的对等网络架构,从这一点说,区块链并不能颠覆互联网基础结构,
2.区块链想要颠覆谁?想颠覆万维网的B/S(C/S)结构
它试图要颠覆其实是1989年诞生的万维网B/S,C/S结构。前面说过。由于1989年欧洲物理学家蒂姆· 伯纳斯· 李发明万维网并放弃申请专利。此后近30年中,包括谷歌,亚马逊,facebook,阿里巴巴,百度,腾讯等公司利用万维网B/S(C/S)结构,成长为互联网的巨头。
在他们的总部,建立了功能强大的中心服务器集群,存放海量数据,上亿用户从巨头服务器中获取自己需要的数据,这样也导致后来云计算的出现,而后互联网巨头把自己没有用完的中心服务器资源开放出来,进一步吸取企业,政府,个人的数据。中心化的互联网巨头对世界,国家,互联网用户影响力越来越大。
区块链的目标是通过把数据分散到每个互联网用户的计算机上,试图降低互联网巨头的影响力,由此可见区块链真正的对手和想要颠覆的是1990年诞生的B/S(C/S)结构。但能不能颠覆掉,就要看它的技术优势和瓶颈。
3.区块链的技术缺陷:追求彻底平等自由带来的困境
区块链的技术缺陷首先来自与它的对等网络架构上,举个例子,目前淘宝是B/S结构,海量的数据存放在淘宝服务器集群机房里,几亿消费者通过浏览器到淘宝服务器网站获取最新信息和历史信息。
如果用区块链技术,就是让几亿人的个人电脑或手机上都保留一份完整的淘宝数据库,每发生一笔交易,就同步给其他几亿用户。这在现实中是完全无法实现的。传输和存储的数据量太大。相当于同时建立几亿个淘宝网站运行。
因此区块链无法应用在数据量大的项目上,甚至小一点的网站项目用区块链也会吃力。到2018年,比特币运行了近10年,积累的交易数据已经让整个系统面临崩溃。
于是区块链采用了很多变通方式,如建立中继节点和闪电节点,这两个概念同样会让人一头雾水,通俗的说,就是区块链中向他要颠覆的对象B/S结构进行了学习,建立数据服务器中心成为区块链的中继节点,也用类浏览器的终端访问,这就是区块链的闪电节点。
这种变动能够缓解区块链的技术缺陷,但确让区块链变成它反对的样子,中心化。由此可见,单纯的区块链技术由于技术特征有重大缺陷,无法像万维网一样应用广泛,如果技术升级,部分采用B/S(C/S)结构,又会使得区块链有了中心化的信息节点,不在保持它诞生时的梦想。
4.从互联网大脑模型看区块链的未来前景
我们知道互联网一般是指将世界范围计算机网络互相联接在一起的网际网络,在这基础上发展出覆盖全世界的全球性互联网络称互联网,即是互相连接一起的网络结构。
从1969年互联网诞生以来,人类从不同的方向在互联网领域进行创新,并没有统一的规划将互联网建造成什么结构,当时间的车轮到达2017年,随着人工智能,物联网,大数据,云计算,机器人,虚拟现实,工业互联网等科学技术的蓬勃发展,当人类抬起头来观看自己的创造的巨系统,互联网大脑的模型和架构已经越来越清晰。【3】
通过近20年的发展依托万维网的B/S,C/S结构,腾讯QQ,微信,Facebook,微博、twitter亚马逊已经发展出类神经元网络的结构。互联网设备特别是个人计算机,手机在通过设备上的软件在巨头的中心服务器上映射出个人数据和功能空间,相互加好友交流,传递信息。互联网巨头通过中心服务器集群的软件升级,不断优化数亿台终端的软件版本。在神经学的体系中,这是一种标准的中枢神经结构
区块链的诞生提供了另外一种神经元模式,不在巨头的集中服务中统一管理神经元,而是每台终端,包括个人计算机和个人手机成为独立的神经元节点,保留独立的数据空间,相互信息进行同步,在神经学的体系中,这是一种没有中心,多神经节点的分布式神经结构。
有趣的是,神经系统的发育出现过这两种不同类型的神经结构。在低等生物中,出现过类区块链的神经结构,有多个功能相同的神经节,都可以指挥身体活动和反应,但随着生物的进化,这些神经节逐步合并,当进化成为高等生物时,中枢神经出现了,中枢神经中包含大量神经元进行交互。
四、关于区块链在互联网未来地位的判断
1.对比特币的认知:一个基于对等网络架构(P2P)的猜数小游戏,通过高明的金融和舆论运作,成为不受政府监管的"世界性货币".
2.对区块链的认知:一个利用哈希算法产生”通证(代币)”的全网信息同步的对等网络(P2P)软件应用
3.区块链有特定的用途,如大规模选举投票,大规模赌博,规避政府金融监管的金融交易等等领域,还是有不可替代的用处。
4.在更多时候,区块链技术会依附于互联网的B/S,C/S结构,实现功能的扩展,但总体依然属于互联网已有技术的补充。对于区块链目前设想的绝大部分应用场景,都是可以用B/S,C/S结构实现,效率可以更高和技术也可以更为成熟。
5.无论是从信息传递效率和资源消耗,还是从神经系统进化看,区块链无法成为互联网的主流架构,更不能成为未来互联网的颠覆者和革命者。
6.当然B/S,C/S结构发展出来的互联网巨头也有其问题,但这些将来可以通过商业的方式,政治的方式逐渐解决。。。
参考:
【1】漫谈比特币和区块链,曹正军,http://blog.sciencenet.cn/blog-3224443-1110626.html
【2】区块链,挖矿演进,张正泽 https://blog.csdn.net/duomoke/article/details/53101784
【3】人工智能下一个热点探讨,为什么要提出互联网大脑模型,刘锋 http://blog.sciencenet.cn/blog-39263-1113272.html