GERM 与 MOVE:描述传递的单元

第3章 GERM 与 MOVE:描述传递的单元

作为容器的 GERM · 生物种子 · 作为资产或组件的 MOVE · ROOT 仓库与 D 组件

3章 1. 作为容器的 GERM

对机体的描述本身并不会展开为一个运行中的网络。MOVE 是个体发生空间中的一个向量,一种静态的数据结构。要使它成为一个运行中的网络,需要一个执行者——一个能够读取 MOVE 并执行 RTR0 程序的程序。而这个执行者必须事先附着在描述之上,否则展开就无法启动。

在 Gativus 架构中,这一任务的解决方案是 GERM(Gativus Embryonic Resource Module)。GERM 是一个容器,它把对机体的描述(MOVE)与能够执行该描述的最小操作网络(OPNG)联结在一起。

a) GERM 的组成

GERM 由两个必备部分构成。

第一部分——MOVE,即个体发生空间中对机体之描述的十六维向量。与 MOLD 各图相对应的全部十六维坐标被打包为一个统一的表示。六张支撑图(CLSS、COMP、COMM、ACTD、SPCE、RSRC)通常被完整地填充;十张备用图可能为空或仅包含部分信息。填充的完整程度由所描述机体的复杂程度决定——对于一个简单的功能性器官,数张图就够了;对于完整的 SRNT 网络,则要全部都用上。

第二部分——OPNG(OPerational Network of Genesis),即创生的操作网络。这是一个最小必要的执行者,能够读取 MOVE 并启动 RTR0。OPNG 并不实现未来机体的全部功能;它只实现形态发生的程序:对 MOVE 的解析,神经发生,突触发生,各展开阶段的协调,向运行的过渡。形态发生完成之后,OPNG 变换为 OPN——即机体本身运行所对应的操作网络。这一变换在第 4 章中详细考察。

b) GERM 的自足性

GERM 的一项原则性属性是自足性。把 GERM 放置在任何具有充足 AVEC 资源的环境之中,都会启动自主的展开过程,而无需外部管理。GERM 并不需要协调程序、不需要连接到管理服务器、不需要来自操作者的指令。GERM 内部的描述与执行者足以开始并完成形态发生。

这一属性是从架构本身推导出来的。MOVE 包含对应当被建造之物的完整描述。OPNG 包含完整的建造程序。外部访问只对获取 D 组件的 ROOT 仓库才是必需的——而这种访问由不需要专门协议的标准网络机制来中介。

3章 2. 与生物种子的类比

GERM 的构造再现了生物种子的结构。这一类比是准确的,值得详细加以分析,因为其中记录了若干本质性的架构性决定。

a) 种子,而非卵细胞

生物的生殖单元分为两类。卵细胞只包含遗传材料的一半,要启动发育就需要受精——需要外部来的另一半基因组的贡献。种子包含完整的基因组以及必要的细胞机器——它是自足的,所需的只是一个适宜的环境。

GERM 在其构造上对应于种子,而不是卵细胞。MOVE 包含机体的完整描述;OPNG 包含展开的完整机器。不需要来自外部源的任何“受精”。被放置在具有充足 AVECGATE 上的 GERM,会自主地启动萌发

这一决定并非偶然。要求必须有外部贡献的架构,会要求一个协调节点——对创建机体的全部请求都要经过它。这样的节点会成为单一的失效点和扩展上的瓶颈。GERM 的自足性消除了这一问题:萌发可以在任意数量的 GATE 中并行发生,而无需共同的协调者。

b) 环境,而非指令

种子并不从外部接受关于该做什么的指示。它接受的是条件——土壤、水分、温度、光照。关于是否开始萌发的决定,由种子自身依据对条件的分析作出:它们是否足以展开。如果条件不充分,种子保持休眠——潜在地可达数年乃至数十年。

GERM 的运作与之类似。把 GERM 放置在平台上并不意味着立即启动萌发OPNG 分析可用的 AVEC:是否足以按照该 MOVE 至少展开一个最低限度可生存的机体。如果资源够用——萌发开始。如果不够——GERM 保持不活动状态,等待配额增加或被转移到另一个平台。

这意味着 GERM 可以长时间保持在不活动状态。在仓库中、备份介质上、归档中——在任何能够保证数据完整性的地方。激活只在被放置于适宜条件下时才发生。在这一点上,与种子的类比也是准确的。

c) 展开的结果

种子在萌发时产生的不是母体植物的精确复制品,而是同一物种但具有独特个体特征的植物——具有具体的形状、具体的大小、具体的枝条拓扑。它在结构上对应于母体,但在细节上有所不同。

GERM萌发时给出的网络在结构上对应于 MOVE,但在细节上是各具特点的。节点获得新的 UNON——并非原始被卷起网络中的节点所拥有的那些。SYGA 连接通过对伙伴的自主搜索而涌现性地建立,并不精确再现 MOVE 所由以得到的那个拓扑。V 区段的初始状态重新形成。结果是一个新的实例,而非一份复制品。

这与反向变换的普遍属性一致:RTR# 给出一次新的实现,并不还原原件。在 GTR0 的情形,这意味着同一个 MOVE 被展开两次,会给出同一物种的两个不同个体——具有相同的架构,但具有不同的生命轨迹。

3章 3. 分岔点:MOVE 在网络架构中的地位

迄今为止,MOVE 是作为一种抽象的单元来考察的——一个描述向量,以某种方式从一个节点传递到另一个节点。然而对于具体的工程实现,必须回答这样一个问题:作为 Gativus 网络中之对象,MOVE 究竟是什么?它是作为一个独立实体存在,还是某个节点的一部分?它通过标准的网络机制传递,还是需要专门的协议?

这一问题有两个直接的回答,以及一个综合性的回答。每一个回答都对应于一种具有其自身后果的架构性决定。

a) 方案 A:MOVE 作为节点的组件

在这一方案中,MOVE 作为一个具体 NDDI 节点的 M 区段中的 M 组件而存在。M 区段(见 GNET,第 3 章)是节点的一个区段,用以保存个体发生信息:节点自身的描述,其所属的类,连接器的模板,对 D 组件的引用。MOVE 作为 M 组件,是这一角色的自然延伸:同一个持有自身结构描述的节点,可以持有一个完整机体的描述,以备后续展开。

在这一方案中,MOVE 在节点之间的传递通过 m 关系实现——即两个节点 M 组件之间一种有类型的连接,用以传递个体发生信息。m 关系按照与 v 关系和 d 关系相同的协议工作,并不需要专门的资产登记机制。

这一方案的生物学类比是精确的。DNA 并不作为带有全局登记的、独立可让渡的实体而存在。它存在于一个具体的细胞之内,作为其细胞核的一部分,并在繁殖时被复制到后代的细胞核中。不存在任何 DNA 的登记簿,不进行任何关于副本数量的登记,传递在母代细胞与子代细胞之间局部地发生。

MOVE 作为组件的架构简洁而优雅。它不需要引入新的实体——使用 M 区段与 m 关系的现有机制。它在扩展时没有瓶颈:MOVE 只在它实际被需要的地方被复制,而无需调用全局登记。它毫无扭曲地反映了生物模式。

b) 方案 B:MOVE 作为数字资产

在这一方案中,MOVE 作为网络的分布式登记中的 GATN 资产而存在(见 GNET,第 4 章)。GATN 资产具有 64 位唯一标识符,在创建时被登记,经由资产交换协议在节点之间被传递并接受公证,并服从 ROOT → LRAI → 所有者的发行人层级。

在这一方案中,MOVE 在节点之间的传递就是资产的传递。发行人节点在登记中把 MOVE 创建为一项新的资产,登记之,并通过标准的四种传递方式(见 GNET,第 4 章,4.10 节)把所有权委派给接收节点。传递之后,MOVE 成为接收方的财产,可以被用来启动萌发

这一方案对工程系统而言具有本质性的优势。每一个 MOVE 都有一个唯一标识符,这简化了版本管理与来源追溯。MOVE 的传递是一项标准事务,由现有的资产登记基础设施处理,不需要专门协议。每一个 MOVE 都可以追溯出从 ROOT 出发的签名链,从而保护对描述的替换与伪造。智能合约(见 GNET,第 4 章,4.13 节)可以作为对资产那样附着到 MOVE 上,以规制使用条件。

这一方案的生物学类比不那么直接,但仍然存在。农业贸易中的认证品种就是带有登记身份的种子:每一个品种都被登记,其传播受到管控,生产者之间的传递有文件记录。自然种子在此同时仍然是一个物理对象,但获得了作为登记对象的额外法律地位。

c) 方案 C:MOVE 具有双重性质

第三种方案是综合性的。它接受前两种方案为同时起作用的,而不是互相排斥的。MOVE 既作为节点中的 M 组件存在,又作为登记中的 GATN 资产存在。这是同一实体的两种本体论投影,类似于 GNSS 第 1 章中所描述的神经组织节点的两种投影(作为细胞与作为信息节点)。

在节点内部,MOVE 作为 M 组件而活:在形态发生时被使用,经由 m 关系可被访问,是该机体个体发生空间的一部分。在登记中,MOVE 作为资产而存在:具有唯一标识符,其来源可被追溯,其在所有者之间的传递受到规制。

这两种角色彼此并不矛盾。节点中的 M 组件是描述的物理定位,是其具体的存储与使用之所。登记中的资产是同一描述作为登记对象的法律地位。同一个 MOVE 可以同时位于某个具体节点的 M 区段中,并在登记中作为该类型的资产被登记。

此处的生物学类比是认证品种的种子。某个品种的某粒具体物理种子作为一个个体存在于一个具体的地方,从物理上包含这一品种的 DNA。与此同时,作为法律实体的品种被登记在育种成就的登记簿中,具有代码、具有权利人。物理种子与法律品种是同一实在的两个方面。

3章 4. 各方案的论据

对论据的分析按照对 Gativus 工程实现而言本质性的若干标准来进行。

a) 架构的简洁性

方案 A——最简洁。MOVE 作为组件使用 M 区段的现有机制,不引入新的实体,在基本形态发生场景下不需要资产基础设施。简单情形——从单个 MOVE 在单个平台上启动单个机体的萌发——以极少的手段就可实现。

方案 B 使架构复杂化:每一个 MOVE 都必须被登记,都必须拥有标识符、签名链、传递时的公证伴随。对于简单场景,这是冗余的。

方案 C 在 B 之上添加了一个附加层,但并不要求在简单情形下必须使用资产基础设施:如果不需要资产对偶,MOVE 可以只是一个 M 组件。资产只在需要登记之处才被创建。

b) 生物学的精确性

方案 A 最精确地再现了生物学的图景。DNA 只存在于细胞之内;没有任何全局的 DNA 登记;从亲代到子代的传递是局部的,并不需要登记操作。

方案 B 在本质上偏离了生物学:全局的种子登记、强制性的登记——这不是自然的模式,而是工业的模式。

方案 C 为主要的工作模式保留了生物学的精确性,只在需要的情形下才添加登记上层建筑。这与现代农业中关系的实际结构是相一致的:绝大多数种子的传递不经登记,但认证品种须接受登记。

c) 对替换与伪造的防护

方案 A 不提供内置的防护手段。M 组件在节点的 M 区段中可能被替换而没有明显的痕迹。所能依靠的是数据完整性与访问控制的一般手段。

方案 B 提供严格的防护:从 ROOT 出发的签名链保证真实性,传递时的公证排除未经授权的传递,网络的免疫系统(见 GNET,第 4 章,4.7 节)自动排斥具有损坏或缺失签名链的 MOVE

方案 C 在需要之处提供防护,在冗余之处不强加防护。在一个本地网络中、在受信任节点之间流通的 MOVE,可以只作为 M 组件存在。跨越信任边界传递或用于商业场景的MOVE,则应当具有带完整签名链的资产对偶。

d) 可扩展性

方案 A 按其构造没有瓶颈:每一个节点都在本地处理其自身的 M 区段,不调用全局基础设施。它随节点数量线性扩展。

方案 B 在登记上存在潜在瓶颈。GNET 中所描述的分布式登记架构(ROOT → LRAI → 所有者树,见 4.8 节)解决了这一问题:登记不是集中的,操作对绝大多数情形而言是局部的。然而对每一个 MOVE 强制性的登记仍然是一项额外开销。

方案 C 没有引入超出 GNET 登记中已有的任何可扩展性限制。M 组件保持局部,资产对偶仅在需要时被创建。

e) 对智能合约的支持

方案 A 不支持附着于 MOVE 的智能合约。如果 MOVE 只是一个局部的 M 组件,就没有什么东西可以作为可识别的合约一方附着于其上。

方案 B 完全支持:作为资产的 MOVE 可以是任何在 MAP9 层次上作为叙事并附着于 G 资产的智能合约的一方(见 GNET,第 4 章,4.13 节)。

方案 C 有选择地支持:带资产对偶的 MOVE 可以被附着于智能合约,只作为 M 组件的 MOVE 则不能。这为工程师提供了选择:只为需要受合约规制的 MOVE 创建资产。

3章 5. 决定:MOVE 具有双重性质

从上述论据出发,得出对方案 C 的选择——MOVE 具有双重性质。这一决定基于以下若干考虑。

方案 A 过于受限。它适用于封闭的场景——即所有 MOVE 都在一个受信任的网络范围内流通,而无需对版本登记、防伪保护或合约规制有任何需要的场景。但 Gativus 并不预设封闭性。Gativus 的网络是全球性的基础设施,其中机体的描述可以在不同的平台、不同的司法辖区、不同的所有者之间被传递。没有资产基础设施,这些场景就会变得成问题。

方案 B 过于沉重。对每一个 MOVE——哪怕是临时的、中间的、测试的——都强制登记,会产生过度的额外开销,并与形态发生的生物学本性相矛盾:在生物学中,大多数展开都是局部地、不经登记地发生的。

方案 C 保留了两种方案的优点,并避免了它们的缺点。基本工作模式——MOVE 作为 M 组件:简洁、局部、在生物学上精确。扩展模式——带资产对偶的 MOVE:可登记、受保护、受规制。模式的选择是对具体场景的架构性决定,而不是强制性的系统要求。

a) 何时创建资产对偶

关于是否为某个具体的 MOVE 创建资产对偶,这一决定按照若干标准作出。

创建资产是必要的,如果 MOVE 跨越信任边界被传递——例如,在不同组织或司法辖区之间。签名链与公证成为真实性的本质性保证。

创建资产是合宜的,如果 MOVE 是显著工程工作的结果,需要进行版本管理,或者可能成为商业事务的对象。登记身份便于对生命周期进行管理,并支持智能合约。

创建资产是不必要的,如果 MOVE 在单一平台或受信任开发小组之内被本地使用,具有较短的生命周期(测试版、中间版),或没有专门的安全保护要求。

b) M 组件与资产之间的关系

当资产对偶被创建时,在它与 M 组件之间确立了一种确定的关系。资产登记 MOVE 的身份——其唯一标识符、发行人、签名链。M 组件则包含 MOVE 的内容——其本身,即各图各坐标被填写之后的十六维向量。

资产的标识符以引用的形式写入 M 组件。M 组件既包含其自身的内容,也包含对应资产的标识符。M 组件在节点之间被传递时,标识符随之保留——这使接收方能够通过调用登记来检查 MOVE 的来源。

MOVE 的内容可以完整地存在于 M 组件中(用于工作副本的标准情形),也可以只是对登记中资产副本的一个引用(用于归档情形——内容按需从登记中取出)。这在存储管理上给出灵活性:经常使用的 MOVE 作为 M 组件被本地缓存,很少使用的可以只作为资产在登记中存在。

3章 6. 经由 ROOT 对 D 组件的分发

MOVE 描述的是应当被建造的东西:哪些类别的节点、哪些连接模板、哪些比例。MOVEOPNG 本身并不包含未来机体节点的可执行代码——只包含对类型类的引用。可执行代码位于 D 组件中,而它们是分开存放的。

D 组件是 GTR0 进化训练的结果(见第 1 章,1.6 节)。每一个 D 组件都是以 ELF 格式编译好的目标代码,实现某种类型节点的行为:它对入射关系的反应,它的内部逻辑,它与其他区段的交互。D 组件是形态变换的、被打包为可执行形式的已训练权重。

a) 作为基因仓库的 ROOT

Gativus 的所有 D 组件都存放在 ROOT 中——网络的根节点,担当仓库的功能。ROOT (从 GLAI 改名而来)在 Gativus 架构中扮演若干角色。作为资产的根发行人,它确定一致性空间 CNST₀ 并发行系统资产(见 GNET,第 4 章)。作为仓库,它包含可用于任何机体形态发生的 D 组件库。

其生物学类比是在不同物种之间共享的通用基因池。许多细胞机制、代谢通路、基本信号系统的基因是保守的,出现在复杂程度差异极大的机体之中。ROOT 仓库对 Gativus 担当类似的角色:包含可用于不同机体形态发生的通用构造块。

b) d 关系与对代码的访问

MOVE 中节点类与 ROOT 中相应 D 组件之间的联系,经由 d 关系——一种有类型的、传递可执行代码的连接——而实现。在形态发生时,ANOD 为每一个被创建的节点类建立到 ROOT 中所需 D 组件的 d 关系。代码经由这一关系被传递到 GATE 平台的本地缓存,并在实例化该类的具体节点时被使用。

一个原则性的架构后果:ROOT 中的一个 D 组件经由 d 关系网络为许多 GATE 中的许多类服务。当 GATE 创建某确定类的节点时,它并不需要保存自身的代码副本——一条到 ROOT 的 d 关系就够了。本地缓存被用于优化,但真值在 ROOT。

这对系统的进化具有一项重要后果。ROOT 中 D 组件的更新会在下一次重链(见 GNET,第 3 章,3.2 节)时自动传播到所有与之有 d 关系的节点。Gativus 作为一个系统的进化经由 ROOT 仓库中的变更而发生;每一项变更经由标准的重链机制逐步实现在所有依赖的机体之中。

c) 作为资产的 D 组件

D 组件,与 MOVE 不同,毫无歧义地是资产。这从它们的本性而得:D 组件是显著开发(在生物情形下则是进化训练)的结果,具有确定的作者(或继承血系),需要进行版本管理,必须受到防伪保护。所有这些考虑都指向必须有登记身份。

ROOT 仓库中的每一个 D 组件都作为 GATN 资产被登记(见 GNET,第 4 章,4.9 节)。标识符包含:发行 D 组件所在 GATE 的编号(对于基本系统组件,这就是 ROOT 自身)、发行人 UNON 的后缀、类型前缀。对所有系统 D 组件,签名链都可追溯至 ROOT。

D 组件的传递是一项标准的资产传递事务。当 GATE 把一个 D 组件载入本地缓存时,这是一次带登记的 d 关系重新办理(见 GNET,第 4 章,4.10 节)。当一个节点经由另一节点的 d 关系接收新的 D 组件时,签名链被检验,只有在真实性得到确认时该组件才会被接受。

d) MOVE 与 D 组件的关系

MOVE 与 D 组件在地位上的差别,反映了它们在功能上的差别。

MOVE 描述的是具体机体——它独一无二的类、比例与连接的组合。一个具体的 MOVE 可以是工作的、临时的、测试的;可以无登记地局部流通;可以在同一类型的节点之间被大规模复制。MOVE 的双重性质给出了在登记模式选择上的灵活性。

D 组件描述的是通用构造块——一种被许多机体使用的节点类型。D 组件被长期地开发,被仔细地检验,被罕见而审慎地更新。它的每一项变更都影响许多依赖的机体。对 D 组件而言,资产性质不是一项选择,而是一种必要。

这种不对称性——在 MOVE 与 D 组件之间——是自然的,并在 Gativus 架构中得以保留。MOVE 是个体性的描述,D 组件是通用性的代码。相应地,它们在网络中的登记模式也有所不同。

3章 7. 向第 4 章的过渡

本章把 GERM 定义为包含 MOVEOPNG 的种子容器。GERM 的自足性——类似于生物种子的自足性——保证了被放置在具有充足 AVEC 的环境中时形态发生的自主启动。

关于 MOVE 作为 Gativus 网络中之对象的地位问题已得到解决。所采取的方案是双重性质:MOVE 既作为节点中的 M 组件存在,又作为登记中的 GATN 资产存在。这在登记模式的选择上给出灵活性,并依赖于使用场景。

ROOT 作为 D 组件根仓库的角色得到确立,并描述了经由 d 关系对它们进行分发的机制。D 组件,与 MOVE 不同,毫无歧义地是带有完整签名链的资产。

尚保持敞开的是萌发程序的问题:被放置在平台上的 GERM 究竟如何展开为一个运行中网络?RTR0 包含哪些步骤?它们以什么顺序执行?它们之间如何相互协调?这一问题——是下一章的对象。第 4 章描述形态发生的原子单元(MORNMLOM)、节点生成程序(NRGN)与连接建立程序(SYGDSYGA)、各阶段的并行性,以及 OPNGOPN 的变换。

目录

第3章 GERM 与 MOVE:描述传递的单元