计算机简史:从分布式到中心化的博弈螺旋
作为应用程序开发商,我们有责任为用户的隐私和信息安全考虑。用户应该拥有控制自己信息数据的权利。这些用户数据应该在初始化的时候就被加密和保护。
作者:Eric Elliott。书籍《函数式编程的兴衰》和《编程JavaScript应用》的作者。他组建并且指导加密技术科研团队的项目,并且为Adobe Systems,Zumba,Fitness,The Wall Street Journal,ESPN,BBC等知名企业提供专业知识服务。
当我们在计算机领域提到「去中心化」时,它对于不同的人有不同的寓意。被「去中心化」的到底是什么东西呢?在加密技术行业里,当一个人提到「去中心化」的时候,他可能指的是以下几个东西:
权限
组织管理
计算
金融手段
财富
我们将会从不同的角度来看待去中心化这件事情。用户权利、隐私、安全性都是重点探讨主题。
首先,什么是分布式计算?为了更清楚的了解它,我们先来看看集中式计算是什么:集中式计算是:关键应用程序服务是通过和中央服务器进行交流之后完成的。不同的用户在不同的地点使用相同的网络地址来获取计算资源,比如数据存储和处理。
从集中式计算的定义,我们可以推出分布式计算的定义:
分布式计算是:关键应用程序服务是由在分散网络中的独立计算设备完成的。如果你不能够通过停用一个服务地址来关闭所有核心程序功能,那很大几率这就属于分布式计算。
01
极端的集权化:主机和分时操作技术
1950年以前,数学、逻辑和计算理论为计算机时代打下基础。1940年至1980年间,计算机行业被资金雄厚的大公司垄断。
在那个年代,计算机行业是极端中心化的。早期,计算机市场被大型计算机占领。在当时,一台计算机就有几个房间那么大,而且一次只能供一位用户使用。正是这些限制,使得当时的计算机行业非常中心化。
分时操作技术和像UNIX(由Bell Labs在1969年研发)这样的多用户操作系统开始慢慢改变这个行业。第一个分时操作系统在1960年被研发出来。其中一个最大的优点就是用户之间可以通过快捷信息传递系统共享文件和发送邮件。
多任务处理特性的其中一个关键推动力就是因为早期的电脑只能允许一位用户进行系统操作,人们想要打破这种局限性。
像UNIX这样的多任务操作系统,允许多名用户在同时使用同样一台电脑。系统会在各个用户使用的程序中自动进行任务切换。理想状态下,用户不会觉察到切换(但是当系统负荷过重时,用户还是能察觉到的)。多任务操作系统和简易终端(本质上如没有自己CPU的键盘和主机并且内存被存入一台电脑)是计算机权限“去中心化”的第一步。
1960年到1975年,电脑由“庞然大物”变为“小巧玲珑”。个人计算机时代即将拉开序幕。
02
极端的去中心化:每个人都有自己的计算机,可是之间没有信息共享
1970年,个人计算机革命开始。到1980年的时候,个人计算机逐渐进入大众视野。这时候计算机行业初次体会到了分布式计算的感觉。人们逐渐舍弃简易终端机,每个用户都拥有了一台属于自己的计算机。他们拥有自己的内存,自己的CPU。计算机变得足够小巧和便宜,让民众愿意购买一台计算机在家里使用。但是,大部分家用计算机都没有与其他计算机相关联。人们只能通过实体存储设备比如磁盘、卡带等工具来分享。与其说这些应用“分散”,不如说他们“支离破碎”。
在1980年前后,许多家庭进入到了计算机市场。但就在这个时候,计算机的普遍功能被个人计算机的第一个软件比下去了:电脑游戏。到了1990年,27%的美国家庭拥有一台普遍功能计算机,可30%的美国家庭拥有任天堂娱乐系统。
1980年左右,个人计算机之间很少进行联系。1983年,调查公司Louis Harris & Associates在美国成年人当中进行调查,公司询问这些美国公民是否在家中拥有电脑,如果有的话,他们是否通过电话线传送信息。结果显示,10%的美国成年人拥有个人电脑,其中14%的人曾经使用调制解调器发送或接收消息。在1980年到1995年之间,大部分使用调制解调器的用户都没有直接联系网络服务商。这时本地电子公告牌系统(BBS)占据巨大的市场份额,有些BBS甚至提供基本网络服务(比如电子邮件)直到1995年前后。
PS:第一个BBS系统于1978年在芝加哥上线,它是由Ward Christensen 和Randy Suess 创立的。对于早期的互联网使用者,XMODEM协议允许用户发送网络邮件和使用Usenet网络。Usenet和电子邮件是最早的计算机非集权化产物。
03
去中心化:开放式网络与早期非集权化应用
也许网络时代正在默默的等待着它的第一个轰动世界的应用:World Wide Web。在1990年,Tim Berners-Lee发明了第一个网页服务器和浏览器。现在,你依然可以使用Tim Berners-Lee创立的世界第一个网站。
到了1995年,14%的美国成年人都可以上网,但是还是有42%的美国成人从来没有听说过互联网。
在那之后,事情有了很大的转变。截至2000年,60%的美国家庭拥有至少一台电脑。46%的美国家庭可以上网。到了2010年,互联网已经到达了80%的美国家庭。Trend Spotting Clues在《分布式计算的力量》(The Power in Distributed Computing)中写道:
在1980年-2000年间,软件是一切;从2000年至今,网络是一切。
网络是这世界上最大的非集权应用。网络从来不属于一个人,也不受一个人的控制。任何人都能启用一个网络服务器,在上面发表自己想要的内容;任何人都可以使用他们想要的浏览器。但是在现有的网络体系下,内容本身是集权化的。这在不远的将来可能改变。
在世纪之交之际,非集权协议如电子邮件和Usenet通过计算机被大力推广。同时,一些点对点应用如Napster, BitTorrent, 和Tor 也被推广。Sean Parker 与同伴创立了Napster,并且之后出任脸书的CEO。
在1990年到2003年之间,全球超过20个机构为人类基因组计划作出贡献,目标在于得出人们所有的DNA序列。这个任务被当时的批评家认为是可能需要100年,甚至更多的时间才能完成的。但是通过共享数据和计算机资源以及借助飞速发展的科技创新,人们在13年就完成了这项计划。
这些展现了非集权应用的伟大前景,也透露了它能有改变世界的力量。
Napster的出现彻底改变了整个音乐行业的核心产业模型,并且它让世界看到了非集权化应用将在未来会有多么重要的地位。
与此同时,网络发展的无比成功,它对于人们来说有更大的吸引力。在2000年左右,人们开始以网络为基础,建立受欢迎的应用。起初,人们只是想建立一个新的媒介,没想到却发展成了应用平台。现如今,浏览器有无比精致的操作系统,提供上网、用户界面、设备权限、相机和麦克风等服务。
虽然别的系统可以挑战网络平台的技术能力,但是网络还是现有最普遍的应用平台。这使它成为计算机非集权化的重要基础。
但是有一个问题:网络平台属于主从式架构,网络浏览器并没有内置去中心化服务。不仅如此,人们暂时还未设想这些服务会是什么样子。
正因如此,网络应用程序的创造者再次回到了通向中心化的道路。
04
再中心化计算机:网络应用和云计算
在2004年至2010年,社交媒体网站生根发芽。今天,用户平均每天都会在社交媒体上花费数小时。不幸的是,这意味着我们今天创造的内容,我们大部分的网上足迹,在个别应用程序集中留存,比如照片墙,脸书,推特,抖音等等。
这带来各种各样的问题。如果我们想要退出这些平台却想要留存这么多年攒下的内容和好友该怎么办?如果这项服务突然中止了怎么办?对于大部分用户来说,意味着即将失去在这个平台上所有的信息数据,以及人脉资源。他们的社交网络——没了。发布的消息,照片,视频都没有了。这种损失是灾难性的。
再有,如果这些敏感的、私人的信息数据泄露了,那对于用户来说是非常可怕的。云计算为百万用户提供了便利,人们将自己的信息传到云端。但是这些数据都集中储存在不受用户控制的“柜子里”,而不是在各个应用里。
05
现代去中心化应用(DApps)的前景
如果能自己管理用户档案,在不同应用之间资源共享该有多好。只需点一个按键就能快速登录,再也不需要在注册每个应用的时候重新设置用户名和密码。再也不用担心密码被盗或信息泄漏了。
新型网络服务比如3Box和Tim Berners-Lee的Solid 想要简化我们的生活。记得Tim Berners-Lee吗?那个发明网络的人,想要再次创造“网络”,只不过这一次,他想要把网络建立在去中心化构架上。
作为应用程序开发商,我们有责任为用户的隐私和信息安全考虑。用户应该拥有控制自己信息数据的权利。这些用户数据应该在初始化的时候就被加密和保护。
用户应该有权利允许或收回应用访问自己数据的权利。
用户应该有权利控制自己的社交图谱。用户应该有权利控制自己的朋友圈,照片,视频,和数据。
06
核心DApp服务
新DApp结构的核心计算服务包括:
加密货币交易:价值的基础。这些交易允许微支付流,去中心化服务不被中央个体控制,能自我运行。
加密货币交换:使用智能钱包直接支付协议费用和区块链手续费。这样用户就能在享受去中心化服务的同时,无需担心支付操作,也不用直接从口袋里掏钱。
用户钱包:安全的验证和授权过程。用户再也不会担心自己丢失密码。
去中心化身份:使用DApps时,你的身份可以不费力的伴随你在各个应用之间。
去中心化用户的信息数据:允许、撤回或拒绝访问你用户信息数据的权限。将所有用户的网络身份交给他们自己管理。并且允许用户根据不同的需求,在不同的应用软件上拥有不同的用户信息。
去中心化用户内存:同上,但是主体是你的应用平台中的内存—朋友圈,视频,照片,和评论。
去中心化网络和计算服务:用户拥有网状网络,可以自由的分享电脑的内存和中央处理器资源。
加密散列法和电子签名:存在的证明,非集权化的授权,资源所有权的证明,或控制权。这些是非集权应用安全的最基本需求。
智能合约:通过电脑编程控制的金钱交易和用户协议,通过代码保障安全,不依赖于参与者的行为。
现如今还没有网络应用程序编程接口能适应这些服务,正在开发的相关技术也“动荡不安”,缺少吸引力。
DApp系统还在最初的萌芽阶段。就连“DApp”这个词也是近期才进化来的,它代替了之前的“发散信息应用”,“p2p应用”,“区块链应用”等等。我十分期待所有应用都变成DApp的那一天,这样我们就只需称他们为“App”了。
在2018年的时候,我预测DApp的普及还需要3-5年的时间,我现在依然坚持这个预测。现如今,我连一个成功的完全非集权化网络平台的例子都找不到,更别说一个拥有百万用户的完全非集权化应用了。
但是我们正在一点点前往普及化的道路上。今天,有一些拥有百万用户的应用已经在使用DApp技术了。起初是在现存应用里(比如说Kik)加入加密货币交易功能。脸书宣布即将推出一个全新(最终将非集权化)的货币Libra。Silver.tv的用户在Theta网络上分享视频和赚取TFUEL币。这个网络的创始人是Steve Chen,他是YouTube的联合创始人之一,也是YouTube的前任技术总监。百万的Brave网络用户有机会赚取或分享BAT加密货币。Brave的创始人是Brendan Eich,JavaScript的创始人。JavaScript是网络平台的标准编程语言。
除了脸书的Libra币以外,我刚刚所提到的应用都已经有百万用户了。随着更多用户慢慢接受像应用内的加密货币交易这种DApp想法,更多的开发商就会加入我们的行列,帮助我们一起建立未来的DApp体系。
最终,我相信所有的基本DApp服务都会加入到主流浏览器当中去。与此同时,像Fortmatic的项目正在赋予Web 2.0浏览器(如Chrome浏览器)Web 3.0 功能。
这个“生态系统”还非常年轻。我们正在建立的东西正在慢慢改变着我们现有的标准。DApp世界现在还面临着大量的安全漏洞,丢失的钥匙,和隐私错误等等。(温馨提示:不要把用户的真实姓名和地址放在公共区块链上或者未加密的IPFS上,拜托了!)
虽然现在说这个还为时过早,但是DApp应用确实有潜力将一些被大企业剥夺的用户权益还给用户,也有潜力解锁很多因为加密货币或区块链技术不够成熟而受限的应用。
任何一个存在中央登记处的地方(包括授权书,地产证明,账本等等),都有潜力将这些账本变为p2p交易。
我已经迫不及待想要看事情接下来的发展了。见证奇迹的时刻到了!