分布式计算简史:从大型机和分时系统到DApp的发展路径

分布式计算简史:从大型机和分时系统到DApp的发展路径

共享财经 发布在 区块链 海盗号 27104

“我们如何才能建设一个更好的未来”
作者:Eric Elliott  Eric Elliott是《编写软件》和《编写JavaScript应用程序》两本书的作者。也是EricElliottJS.com和DevAnywhere的联合创始人。

当我们在计算环境中讨论分散化时,它对很多不同的人意味着很多不同的事情。那么权力下放究竟是什么。

在加密行业,当有人说“去中心化”时,他们可能是指这些东西都是去中心化的:

访问(Access)

组织治理(Organizational governance)

计算(Computation)

金融工具(Financial Instruments)

财富(Wealth)

 

本文将从计算资源的角度,以及谁有权使用这些资源的角度来研究分散化。用户权利、隐私和安全性是重要的主题。

首先,什么是分布式计算?为了理解这一点,让我们来了解一下集中式计算的含义:

“当通过与远程中心位置的通信,执行关键应用程序服务时,当位于不同位置的不同用户连接到相同的服务或地址以访问数据存储和处理等计算资源时,计算是集中的。例如数据存储和处理。”
 

从这个定义,我们可以推导出分布式计算的定义:

“当没有中心位置的分布式网络上的单个计算设备或节点执行关键的应用程序服务时,计算是分散的。如果您不能指向一个服务地址并禁用它来关闭所有用户的核心应用程序功能,那么您很有可能拥有一个分散的计算体系结构。”
 

极端集中化:大型机和分时(Timesharing)

 

在20世纪50年代之前,数学、逻辑和计算理论为计算时代奠定了基础。在1940年到1980年之间,计算机被拥有数百万美元预算的大型组织所主导。在那个时候,计算是非常集中的。

计算机市场由大型计算机主导,在早期,计算机有房间或小型建筑物那么大,一次只能由一个用户访问系统。由于这些限制,计算和对计算资源的访问都非常集中。

分时系统和Unix(1969年在贝尔实验室创建)等多用户操作系统开始改变这种状况。首次的分时系统是在20世纪60年代开发的。其最大的优点之一是,用户可以在共享文件上进行协作,并通过即时消息(talk命令内置在Unix中)和电子邮件(大约在1970年左右也内置在Unix中,但最初只能向同一台共享计算机的用户发送消息)进行通信。

数十年来,多任务处理功能一直是操作系统的标准功能,其中一个关键的推动因素是,在早期的计算机上,一次只能有一个用户访问系统并执行计算。

像Unix这样的多任务操作系统允许多个用户同时登录并使用同一台计算机。系统将在不同的用户应用程序之间切换任务,希望切换速度足够快,以至于用户甚至不会注意到(尽管当系统大量使用时,用户会注意到)。多任务和哑终端(本质上是键盘和显示器,没有自己的cpu和内存插入到一台共享计算机)是计算资源使用分散化的第一步。

从1960年到1975年,计算机从房间的大小缩小到可以放在桌子上的东西。个人电脑革命即将开始。

极度分散:每个人都有自己的电脑,但没有任何共享

20世纪70年代,个人电脑革命开始,到1980年,个人电脑进入了公众的意识。计算第一次尝到了分散化的滋味。每个用户都有自己的电脑,而不是简单的终端。自己的记忆。自己的CPU。这些电脑变得足够小,足够便宜,人们开始购买它们在家里使用。但是,由于大多数家庭计算机彼此之间没有连接,只能通过共享物理内存设备(如磁带、墨盒和软盘)进行通信,所以应用程序更多地是碎片化的,而不是分散的。

上世纪80年代,许多家庭进入了计算机市场,但通用个人电脑很快就被个人电脑的第一款杀手级应用——视频游戏所超越。到1990年,27%的美国家庭拥有一台通用个人电脑,30%的家庭拥有任天堂娱乐系统(NES)。

在20世纪80年代的大部分时间里,很少有个人电脑联网。1983年,民意调查公司Louis Harris & Associates询问美国成年人家里是否有个人电脑,如果有,他们是否用电脑通过电话线传输信息。10%的成年人拥有电脑,其中14%(1.4%的美国成年人)使用调制解调器发送和接收信息。在1980年至1995年间,大多数调制解调器用户没有直接连接到internet服务提供商。相反,本地电子公告牌系统(BBS)占据了主导地位,直到90年代中期,这些系统中甚至很少提供基本的互联网服务,如电子邮件(更不用说web了)。

注:第一个BBS系统于1978年在芝加哥上线,由Ward Christensen和Randy Suess开发。对于互联网的早期家庭用户来说,Ward Christensen创建并在CBBS中使用的XMODEM协议是第一个通过互联网连接的BBS访问互联网电子邮件和Usenet的协议。Usenet和电子邮件是第一批真正的分散式应用程序。

分布式访问:开放Web和早期分布式应用程序

也许互联网正在等待它的第一个杀手级应用:万维网。1990年,Tim Berners-Lee创建了第一个web服务器和浏览器。直到现在,你仍然可以访问Tim Berners-Lee的世界上第一个网站。

到1995年,14%的美国成年人可以上网。在过去10年中,联网家庭的数量增长了10倍左右,但仍有42%的美国成年人从未听说过互联网。

到2000年,60%的美国家庭至少拥有一台电脑。46%的美国家庭上网,到2010年,80%的美国家庭接入了互联网。

从1980年到2000年,软件吞噬了整个世界。

从2000年至今,web吞噬了软件。

web是世界上最大的分布式应用程序。没有人拥有或控制它的访问权限。任何人都可以启动web服务器并在其上发布内容,任何人都可以将web浏览器指向任何他们想要的站点,但是使用当前的web体系结构,内容本身是集中的。这种情况在不久的将来可能会改变。

趋势发现线索——分布式计算的力量:

在世纪之交,分散的协议,如电子邮件和Usenet,引领了分布式计算项目,如SETI@Home和Folding@Home;以及点对点应用程序,如Napster、BitTorrent和Tor。肖恩·帕克(Sean Parker)是Napster的创始人之一,随后担任Facebook的首席执行官。

1990年至2003年间,全球20多家机构为人类基因组计划(Human Genome Project)做出了贡献,绘制出了整个人类基因组图谱。批评者预测,这项任务可能需要100年甚至更长时间。然而,通过共享数据集和计算资源,并通过加速技术创新,该项目只用了13年就完成了。

这些努力显示了分散应用程序的早期前景,以及它们如何具有改变世界的能力。

Napster标志着整个音乐产业核心商业模式的戏剧性重塑,并作为一个伟大的历史参考,随着分散式应用程序在未来占据主导地位,每个行业都将面临根本性的颠覆。

与此同时,web变得如此成功和普及,以至于在2000年左右,人们开始在web上构建流行的应用程序。最初是一种分散访问发布的新媒体,后来变成了一个应用程序平台。今天,浏览器本质上是复杂的操作系统,提供应用程序服务,如网络、用户界面、设备访问、摄像机和麦克风服务、3D/eXtended Reality rendering等等。

虽然其他系统可以与web平台的技术能力竞争,但是web是有史以来开发的最普遍的应用程序平台,这使它成为了分布式计算的完美基础。

只有一个问题:web平台是客户机-服务器体系结构,web浏览器没有内置分散的服务节点。不仅如此,我们甚至还没有决定这些服务应该是什么样的。

因此,web应用程序构建器又回到了集中化的道路上。

 

重新集中计算:Web应用程序和云计算 

2004年至2010年间,社交媒体网站生根发芽。如今,用户平均每天花费数小时在社交媒体应用上。不幸的是,这意味着我们今天创建的大部分内容——我们在线足迹的大部分——都集中在少数几个应用程序拥有和管理的资源中:Instagram、Facebook、Twitter、TikTok、YouTube、Medium等等。

这就带来了各种各样的问题。如果我们想离开这些平台,但如何保留我们多年来培养起来的所有内容和联系呢?如果服务关闭会发生什么?

对于大多数用户来说,这意味着他们在服务上建立的所有数据和连接都将完全丢失。他们的社交网络:消失了。帖子、照片、视频:不见了。这些损失会让人感到难以承受。

同样糟糕的是:如果所有这些敏感的个人数据落入坏人之手,用户该怎么办?

云计算资源的可用性和对云计算资源的一般访问使得创建一个能够服务于数百万用户的应用程序比以往任何时候都更容易,但是,所有这些用户数据都被困在用户无法控制的集中存储库中,而不是在应用程序之间共享,由用户正确地控制数据。

现代分布式应用(DApps)的前景

试想一下,如果您能够管理您的用户概要文件(或多个不同的角色)并在多个应用程序之间共享它们,岂不是很好?点击按钮登录,不再为您连接到的每个站点创建另一个用户名和密码。不再担心你的密码被窃取或你的数据被破坏。

像3Box和Tim Berners-Lee这样的新服务公司计划让这一切变得简单。还记得Tim Berners-Lee吗?那个发明网络的人,他想在分散的用户数据架构之上重新设计它。

作为应用程序开发人员,我们有责任仔细考虑用户的隐私和安全性。用户应该拥有并控制对其数据的访问。默认情况下,这些数据应该加密并防止未经授权的访问。

用户应该能够在任何时候授权和撤销应用程序对其数据的访问。

用户应该控制对自己社交图的访问。

用户应该控制自己的帖子、照片、视频和数据。

 

DApp的核心服务

 

新架构的核心计算服务包括:

1、加密货币交易-互联网价值的基础。这些交易允许流媒体小额支付,允许分散的服务在没有中央企业实体控制的情况下自我维持。

2、加密货币交易所使智能钱包元交易支付协议令牌费和区块链燃气费,因此,用户可以利用需要付费的分散式服务,而不必担心这些付款是如何进行的,而且在很多情况下,用户无需自掏腰包就可以享受这些服务。

3、用户钱包安全的身份验证和授权。不再需要记住或丢失密码。

4、分散身份(通常由钱包公共地址表示)。使用DApps,您的身份在应用程序之间毫不费力地跟随您。

5、分散用户配置文件数据。授予、撤消或拒绝应用程序访问您的用户配置文件数据。让用户控制自己的配置文件,以及如何将它们呈现给不同的应用程序。

6、分散的用户内容存储。同样的,是对于你所有的内容——帖子、视频、照片和评论。

7、分布式网络和计算服务。用户拥有的网格网络,零工经济风格(gig economy )的共享您的计算机的存储和CPU资源。

注:零工经济是指由工作量不多的自由职业者构成的经济领域,利用互联网和移动技术快速匹配供需方,主要包括群体工作和经应用程序接洽的按需工作两种形式。

8、加密散列和签名。存在的证明、分散的授权、资源所有权、权限或控制的证明。这些基本元素是分布式应用程序安全性工作所必需的。

9、智能合约。可编程的货币交易和协议,由代码强制执行,所以没有必要信任参与者。

目前还没有针对这些服务的标准web api,而且大多数服务的各种相互竞争的规范都在不断变化,并且缺乏重要的吸引力。

DApp的生态系统还处于起步阶段。“DApp”这个词是最近的一个演变,取代了以前的“分布式计算应用程序”、“p2p应用程序”、“区块链应用程序”等。我期待着有一天,所有的应用程序都是DApps,我们可以回到刚才所说的“apps”。

在2018年,我预测DApps的主流应用还需要3-5年的时间,我基本上支持这个预测。今天,我所能指出的完全分散化的web平台应用程序的例子还没有一个——更不用说拥有数百万用户的完全分散化的应用程序了。

但我们一次只能接触到一点主流观众。如今,一些核心的DApp技术正被集成到已经拥有数百万用户的应用程序中。首先,只需将加密货币交易添加到Kik等现有应用程序中即可。Facebook宣布了一种新的(最终去中心化的)货币Libra。Sliver.tv用户正在Theta网络上共享视频流带宽并赚取TFUEL。Theta网络由YouTube联合创始人、前首席技术官史蒂夫•陈(Steve Chen)创建。数百万Brave browser的浏览器用户有机会与内容创造者分享BAT加密货币。而Brave是由JavaScript (web平台的标准编程语言)的创建者Brendan Eich创建的。

除了Facebook的Libra之外,我刚才提到的所有应用程序都已经拥有数百万用户。随着越来越多的用户了解应用程序内部加密货币交易和钱包安全认证等DApp理念,更多的开发人员将加入我们的行列,帮助构建未来DApp生态系统的基础。

最终,我相信所有主流浏览器都将内置所有必需的DApp服务。与此同时,Fortmatic等项目正在Chrome等Web2浏览器中丰富Web3功能。

生态系统还很年轻。在我们建设的过程中,标准一直在发生变化。DApp世界充满了安全漏洞、丢失钥匙和隐私错误等风险(提示:请不要将用户的真实姓名和地址放在公共区块链或未加密的IPFS上!)

现在还早,但DApps有潜力让用户夺回少数几家公司不公平地积累起来的部分权力,也有潜力解锁许多应用程序,这些应用程序在首批可行的加密货币和区块链诞生之前是不可能实现的。

任何地方都有一个集中式的任何东西的注册表,包括许可证、产权、帐户分类账等等,都有可能用不可信的p2p事务替换这些分类账。

我想不出有哪个行业能逃脱这些技术的彻底改造,我迫不及待地想看看你用它们做了什么。

 

原文:Medium-Eric Elliott

编译:共享财经Neo

来源:共享财经

 

编者注:原标题为:分布式计算简史

文章标签: 分布式计算
评论
登录 账号发表你的看法,还没有账号?立即免费 注册