Cointime

扫码下载App
iOS & Android

从计算机网络的发展史看,如何构建“网络计算机”的架构和协议

项目方

在1990年的一部纪录片中,Steve Jobs讲述了一个他在职业生涯中一再提起的故事:

我认为真正将我们与高级灵长类动物区分开来的一件事就是我们对于工具的建造及利用。我读过一项研究,测量了地球上各种物种的运动效率。秃鹰在移动一公里时消耗的能量最少,而人类的表现相当不起眼,位列名单的中下部分。对于创造之冠来说,这样的表现并不令人骄傲。所以,看起来并不好。但是,然后《科学美国人》杂志上的某人有一个想法,测试了一个人在自行车上的运动效率。一个人类骑自行车,彻底打败了秃鹰,完全冲到了榜首。对我来说,这就是计算机的意义。对我来说,计算机是我们想出来的最了不起的工具,它相当于我们思维的自行车。¹

以这种方式构想计算机提醒我们它们最终是工具,无论它们的能力有多么先进:在最基本的层面上,计算机是一种用于处理数据的机器。虽然从这个层面开始进行分析可能一开始看起来过于简单,但这样做可以清楚地描述计算机和相关工具(即信息技术)的演变,以及该演化过程中可能出现的下一个阶段。

基本上,计算机是能够按照指令处理数据的硬件,这需要存储指令集(算法)和数据(系统状态)的内存,以及一个处理器,通过执行指令根据其编程确定性地改变系统状态。然而,仅仅与一个包含内存和处理器的盒子进行交互的用户体验相对较差,因此通常在硬件之上添加了一个本地操作系统(如Linux、macOS或Windows);用户与此操作系统进行交互,而操作系统与计算机的硬件进行交互。在这个复杂程度上,计算机通常在帮助单个人创建和处理内容方面最有用,包括(静态)文本文件、富文本文件、静态图片、动态影片、(动态)电子表格和应用程序(可以将其视为精心策划的相关指令集的包,共同提供有用的功能)。

本地计算为用户提供了许多好处,但这些好处通常仅限于个体规模:拥有计算机的人几乎肯定能够比没有计算机的人更快速、更高效地工作,因为计算机提供了各种便利。

然而,当多台本地计算机连接到一个网络时,便超越了个体的范围。计算机网络由通过硬件连接的本地计算机组成,这些计算机具有在它们之间传输数据的能力。将计算机连接到网络使得多个人可以同时在同一个项目上工作,每个人使用不同的计算机,或者一个人可以将他们在某个项目上的工作分布到多台机器上。在今天的世界中,大多数计算机的设计都预期它们将连接至少一个网络:即互联网。

通过Tim Berners-Lee开发并结合HTTP、HTML和URL的工作,计算机网络为万维网提供了基础设施,涵盖从静态网页到动态内容的一切(包括现在无处不在的REST API,它允许一个本地计算机使用"post请求"指示另一个本地计算机运行一个任务,然后通过"get请求"检索其结果)。

然而,为了使计算机能够在网络上有意义地交换数据,这种交换必须使用所有参与者共同使用的语言进行,也就是说,给定网络的所有组件必须参与一种总体的网络架构,以规定它们之间的关系。在互联网的情况下,这种网络架构在1984年由国际标准化组织开发的七层开放系统互联(OSI)模型中得到了正式的概念化,实际上是通过为ARPANET开发的四层传输控制协议/互联网协议(TCP/IP)模型来实现的。毫不奇怪,TCP/IP模型实际上是早于OSI模型的;从底层开始开发概念,而不是自上而下,是将抽象概念与现实联系紧密的最佳方法之一。

在这两个模型中,每一层代表着在网络上发送和接收数据所涉及的一组相关功能;此外,每一层都对由下一层提供的数据进行操作,并将数据提供给上一层进行进一步操作。

OSI模型的最上层是应用层,在这一层中,“协议[…]通过提供适用于应用程序、其管理和系统管理的分布式信息服务,直接为最终用户提供服务,包括初始化、维护、终止和记录有关建立用于数据传输的连接的数据的功能。”²应用层是人机和机机交互以访问网络服务的发生的层次。下一层是表示层,它提供了“应用层可以选择的一组服务,使其能够解释交换数据的含义。这些服务用于管理结构化数据的输入、交换、显示和控制。”通过编码、加密和压缩,表示层的功能确保应用层访问的数据处于可用的格式,使得“在开放系统互联环境中的应用程序能够在界面可变性、转换或应用程序修改的不可接受成本下进行通信”。

表示层下面是会话层,它的作用是“将分布式活动绑定/解除绑定为一种逻辑关系,控制与同步和结构有关的数据交换”,以“帮助支持协作展示实体之间的交互”。会话层在数据传输过程中维持与网络的连接,并且可以“检查点”传输,以便在中断后继续。

TCP/IP模型的最上层将OSI模型的这三个以计算机为中心的层次——应用层、表示层和会话层——合并为一个单独的层,称为应用层。在这两个模型中,下一层是传输层,它提供“与下层提供的底层服务一起的通用传输服务[...]在会话实体之间透明地传输数据。”传输层在传输过程中将传输的数据分成段,并在接收时重新组装这些段;它还负责在这些过程中进行流量控制和错误校正。传输层下面的层次在这两个模型中也是相同的;在每个模型中,网络层通过将传输层产生的数据段分解成数据包在传输时,并在接收时将这些数据包重新组装成段,提供了在两个传输实体之间交换网络服务数据单元的功能。网络层还负责在网络之间路由数据,并将数据包从源头传输到目的地。

TCP/IP模型的最底层是网络访问层,负责设备之间的通信。在OSI模型中,这个网络访问层被划分为两个不同的层次:位于网络层下方的数据链路层和位于OSI模型底部的物理层。数据链路层通过定义网络上的数据格式来提供“在网络实体之间建立、维护和释放数据链路的功能和过程手段”。最后,物理层“提供了建立、维护和释放物理连接(例如,数据电路)之间的机械、电气、功能和过程特征”,并且由数据传输所涉及的物理材料组成。

综合起来,OSI和TCP/IP模型在很大程度上负责互联网的架构,或者至少是迄今为止互联网的架构。在1999年接受Wired采访时,蒂姆·伯纳斯-李表示,“称自己为‘万维网的发明者’是‘准确的’,因为‘我基本上是为客户端和服务器之间的对话编写代码、规范和文档的。’”³在互联网上的两台计算机之间的对话中,通常情况下,一台计算机充当客户端(即在交换中向服务器请求数据的一方),另一台计算机充当服务器(通过向客户端提供某些HTML或按照客户端的指示运行一个作业并返回结果)。初步而言,这样的对话始终发生在两台计算机之间,且对话模式是无状态的——协议仅存在于此时此刻,对过去的了解或对未来的预测只局限于参与交换的个别本地计算机。

然而,随着Web3的出现,这些条件不再必要。在Web2中,OSI模型的应用层主要依赖于HTTP和其他无状态的客户端-服务器协议,但Web3则将其替换为处于同样结构位置的点对点协议,例如libp2p。这一发展,以及有状态的共识协议,使得一组计算机能够像单个状态机一样协作,形成了一个网络计算机。

由于网络计算机具有实现机器状态共识的能力,我们可以将网络计算机视为具有某种类似自我意识的网络计算机的网络,从而实现其部分操作的协调和合成。(在这里,“自我意识”并不意味着实际的知觉,而是指具有可持续的可变状态,被拥有者知晓但仅能以不完全准确的方式表达给其他实体)。在一个网络计算机中,连接到网络的一个本地计算机可以下载一个数据集,而连接到同一网络的另一个本地计算机可以对另一个数据集进行分析;一旦这两个过程都完成,第一个数据集将存储在第一个本地计算机的内存中,而对第二个数据集的分析结果将存储在第二个本地计算机的内存中。然而,如果所讨论的两个本地计算机都属于同一个网络计算机,那么一旦两个过程都完成,第一个数据集和第二个数据集的分析结果都将存储在网络计算机的内存中。如果将连接到同一组计算机网络的两个本地计算机之间的交互类比为一次对话,那么网络计算机的运行将把这种对话重构成内部独白的形式;计算机网络中的本地计算机只能听到其网络中其他计算机所说的内容,而网络计算机则同时了解并协调将这些本地计算机的“私人思想”链接在一起。从本质上讲,网络计算机将计算机网络的合作组织成了一个本地计算机的结构,但在超个体(即组织)的规模上。

这种转变的一个重要含义是,网络计算机是能够根据反馈接收和修改其行为的系统,而网络计算机本身则完全是前馈系统。由于拥有自己的内存,网络计算机可以维护对外部环境的持久内部表示或模型,这个模型可以在先前的计算结果基础上持续更新,包括更新自身的活动指令集。例如,一旦网络计算机下载了一个数据集,它可以对该数据集进行分析,然后根据该分析调整其未来的行为。网络计算机可以被理解为一个网络计算机的网络,它能够从其之间发生的数据交换中“学习”,或者说是一个具有能力将其与自身“讨论”的数据转化为上下文相关的知识的分散式计算机实例。

如果网络计算机本质上是分布在多个独立计算机上的单个计算机实例,那么下一个计算机演化的重要步骤显然将是发展网络计算机的网络 —— 但这样的网络将需要新的网络基础设施形式。OSI模型足以支持网络计算机的发展,但在能够充分应对连接网络计算机以创建更广泛的网络计算机网络中涉及的具体挑战之前,我们对网络架构的理解必须进行修订。为此,需要开发一个新的网络架构,我们称之为OSIb,以组织和规范网络计算机的互连,就像最初的OSI模型(我们将其称为OSIa)组织和规范本地计算机的互连一样。

如果网络计算机使得计算机网络能够“学习”,而计算机网络使得本地计算机能够交换有关其内部操作的数据,那么网络计算机的网络将使得组成它的网络计算机能够以概念的形式交换数据,或者我们可以称之为知识数据(提醒我们,它与知识的关联最终只是一种拟人化的隐喻,与之前提到的计算机对话、学习和思考的说法类似)。网络中的每个网络计算机都可以从网络中的其他网络计算机所学到的知识中进行学习。例如,想象一下,用户要求Alexa讲述一个根据他特定兴趣量身定制的独特睡前故事。在今天的世界中,Alexa可能会根据其与用户的过去交互指示ChatGPT编写这样的故事 —— 但由于连接它们的网络的无状态性质,用户个体偏好的所有详细信息都必须以明文的形式与Amazon(Alexa)和与Microsoft紧密合作的OpenAI(ChatGPT)共享,以及生成的故事。然而,网络计算机的网络将使网络计算机能够通过去中心化的联邦机器学习通过共享模型权重,开发出与Alexa和ChatGPT所采用的模型一样好甚至更好(且更具上下文相关)的模型。这将使得睡前故事的请求和故事的生成能够在本地处理,而不需要用户的个人信息通过网络传输。

实际上,这样的网络计算机网络将使每个涉及的网络计算机转变为一个复杂的传感器阵列,能够推断并呈现自己对现实的观点 —— 也就是说,它自己对外部环境的内部模型 —— 给其网络中的所有其他网络计算机,并将这一系列观点整合到其对外部环境的内部表示中。人们可以想象一个更新版本的盲人与大象的寓言故事:五个网络计算机可能都能够识别他们能够本地感知的知识大象的具体部分,但只有通过将这五台计算机连接在一起,其中任何一台计算机才能识别这些部分也是更大统一整体的较小部分。通过使网络计算机能够将其维护的内部表示与其他网络计算机进行通信,网络计算机的网络将通过去中心化的联邦机器学习机制使每个网络计算机的内部表示通过增加其准确性或广泛性而提升。每个网络计算机仍然具有自己独特的对外部环境的内部表示;需要二阶网络计算机才能得出跨网络共识表示,但三阶状态机——“网络计算机网络的计算机”——在实践中仅在理论上可思考,至少直到OSIb的工作实现得到发展和成熟。

现有的互联网是人类智慧的奇迹,但它并非为具有这种复杂性的计算而设计。那么,能够胜任这个任务的网络架构会是什么样的?OSIa为正式构思提供了一个有力的基础,我们可以在此基础上继续探讨涉及的概念问题 —— 但OSIb的实际实现会是什么样子呢?

这是一个富有研究价值的领域,但我们可以进行一些明智的推测。在网络访问层,我们可能会找到类似Filecoin网络所采用的星际共识协议(Interplanetary Consensus Protocol),它的主要设计目标是水平扩展性 —— 可称之为Intranetwork Consensus Protocol。然而,ICP具有许多局域网的特性,那么在更广域的网络中需要什么样的协议?传输协议将会是什么样子?我们如何开发类似Transnetwork Consensus Protocol的协议来促进不同组织之间以不同的概念、知识和计算语言进行“思考”的概念的对齐?应用层会是什么样子?

解决这些问题的一种方式是通过思考第二阶互联网的目的是传达关于概念(以及它们之间的关系)的知识,这些知识源自参与更广泛网络的网络计算机的共享状态,这些状态又源自连接到第一阶互联网的本地计算机之间的数据和信息的交流。以人类大脑的结构为类比,我们可以思考一下。⁴

小脑就像一个网络计算机的网络 —— 它具有同质模块化的架构,仅具有前馈处理功能。相比之下,大脑功能如同一个网络计算机的网络 —— 前额叶、颞叶、顶叶和枕叶 —— 每个区域都具有自己的异质区域架构,而且所有这些区域都能够进行反馈和前馈处理。

另一种方法是通过斯塔福德·比尔(Stafford Beer)的“可行系统模型”框架来思考,这是控制论思想流派的核心。正如Michael Zargham和Kelsie Nabben在《将“去中心化自治组织”与控制论前例相匹配》一文中所解释的那样:

可行系统模型(Viable System Model,VSM)是一个自治系统组织的组织结构表示,该系统能够根据其目标适应环境的变化。VSM由五个系统组成,它们以不同的时间尺度和空间尺度共同调节组织,涵盖组织的各种关键功能。VSM中的每个系统从1到5按照逐渐较慢的自然时间尺度运行。系统1和2依赖于系统3的一致性,但系统4和5必须具备调整系统3的能力。比尔将这个模型与人类决策进行了比较,他认为系统1-3就像自主神经系统,系统4就像认知和对话,系统5则可以与有意识的推理和决策相关联。⁵

简而言之,VSM试图在管理(M)和环境(E)的背景下解释一个实体的运作(O)。

在系统1中,由于比尔模型的递归性质,每个单元本身就是一个可行系统。系统2代表信息通道和机构,使系统1中的主要活动之间可以相互交流,从而使系统3能够监测和协调系统1内的活动;可以将其视为用于共享资源的系统1的调度功能。系统3代表系统1内部过程的“整体视图” —— 它建立规则、资源、权利和责任,为系统1与系统4和5提供接口的结构和控制。系统4由负责朝向环境外部监测的机构组成,以了解组织需要如何适应以保持生存能力。最后,系统5负责平衡组织不同部分的需求,以制定关于整个组织运作的政策决策。

简而言之,OSIb的发展将使我们能够将OSIa使我们能够构建的本地计算机网络的网络不再仅仅作为端点,而是作为将组成这些HTTP端点的基本传感器和执行器(即系统1)转变为一个更大、更复杂的系统的媒介,其目的是对传感器输入进行战术和战略上的理解,以得出可能推动所期望结果的执行器控制信号。

如果人类的历史证明了什么,那就是能够构建和共享对世界的内部表示,并在第一次近似中保持稳定,这对于获得有根据的决策和评估结果的能力有着重大的进化优势。前馈电路,如互联网的客户端-服务器模型,无法以这种方式共享知识,因为它们缺乏连贯和一致性的内部性,这是联系离散思维实例并朝着更大的知识轨迹发展所必需的条件。

目前,互联网是我们唯一拥有的在明天的世界构建的规模上接近的工具,但作为一个纯粹的前馈电路,它还无法胜任任务。任何前馈系统的控制必然来自于该系统之外,因为前馈系统缺乏实质性自治的基础设施。这种控制可以来自外部机构,也可以来自本地的第二阶控制系统。第一种选择最终将导致本地计算机指示我们如何思考我们的环境;第二种选择则为我们的网络计算机教会我们关于我们生活环境的新的学习方式的未来。

标注

[1] Memory & Imagination: New Pathways to the Library of Congress, directed by Julian Krainin and Michael R. Lawrence (1990). 

[2] Zimmermann, Hubert. “OSI Reference Model — The ISO Model of Architecture for Open Systems Interconnection.” IEEE Trans. Communication (USA) vol. COM-28, no. 4 (1980): 430.

[3] Oakes, Chris. “Interview With the Web’s Creator,” Wired. Published 10/23/1999, accessed 5/1/2023.

[4] Medina, J.F. and Mauk, M.D. “Computer Simulation of Cerebellar Information Processing.” Nature Neuroscience, vol. 3 (November 2000): 1205–1211, doi: 10.1038/81486.

[5] Zargham, Michael and Nabben, Kelsie, Aligning ‘Decentralized Autonomous Organization’ to Precedents in Cybernetics (April 4, 2022): 4–5. Available at SSRN: https://ssrn.com/abstract=4077358.

评论

所有评论

推荐阅读