TapeOut.linkarticles

当 CZ 想要一只「永生果蝇」,为什么我想到的是 TapeOut

从 CZ 想要一只「永生果蝇」说起:数字生命的延续需要三件事——别人知道它是谁、能恢复它经历之后的状态、还能继续运行决定它行为的规则。作者逐项对照 TapeOut 的电路、REF 引用、容器与只读求值,并严格区分哪些已是协议能力、哪些仍需…

当 CZ 想要一只「永生果蝇」,为什么我想到的是 TapeOut

当 CZ 提出,希望有人在 BNB Chain 上做出“永生果蝇”时,我想到的是 TapeOut

这并非因为 CZ 提到了 TapeOut——他的帖子没有。让我产生这个联想的,是另一个问题:如果我们真的要创造一个能够长期存在的数字生命,它需要哪些东西?

Siyuan 的讨论给出了一个有意思的方向:游戏里的身体可以死亡,但身份、脑状态、记忆和谱系能够保留下来,以后再被实例化,继续存在。这里讨论的,是数字个体怎样延续。[CZ 原帖]· [Siyuan 原帖]

沿着这个问题拆下去,我发现,TapeOut 与数字生命的联系,比“给一只宠物发一枚 NFT”深入得多

它的电路、状态转换、组件引用、电路 NFT、容器账户,以及围绕设计和制造建立的机制,有机会共同构成一个数字生命的基础

这也是我的核心判断:对于行为相对精简、规则希望公开、身份和经历希望长期延续的数字生命,TapeOut 是 BNB Chain 上值得优先探索的一条路线

先给“永恒”一个具体含义

我期待的数字生命,能够做到三件事:别人知道它是谁,能够恢复它经历之后留下的状态,也能够继续运行决定它行为的规则

例如,一只数字生物在某个游戏里经历了一百次危险,逐渐形成特定的反应。几年后,原游戏不再运营,另一个开发者仍能取得它的身份、行为规则和保存下来的状态,让它在新的环境里继续行动

只要必要数据、底层网络和兼容的运行程序仍然可用,这种延续就有实现的可能

这不要求它永远在线。它可以休眠,再被唤醒。关键在于恢复所需的东西是否留下,以及恢复后的行为是否与之前连续

“永恒数字生命”的第一步,可以从这样一个能够被实际检验的目标开始

电路为生命提供了一种可以公开描述的行为规则

TapeOut 把 NAND 和 LATCH 作为基础元件,设计者连接元件,提交网表,流片成电路 NFT。网表描述门与门之间的连接关系,可以被读取和求值。[TapeOut 白皮书]

用直观的话说,NAND 参与决定“面对这个输入,应该作出什么反应”;LATCH 则让电路能够利用上一次留下的状态。两者结合,就能表达一些连续行为:等待、计数、切换模式、保持某种反应,或者在特定条件下触发动作

不过,LATCH 所表达的一位状态,还远不是一个生物的完整记忆。电路定义了状态怎样更新,应用仍需负责把这些状态保存下来

现在已经有一个贴近这次话题的例子。C3S 项目从果蝇的逃逸反射通路出发,构造明确的参考模型,再转成兼容 TapeOut 布局的 NAND/LATCH 电路。它的状态核心包含 173 个 NAND 和 6 个 LATCH,仓库提供了等价性验证及 EVM 测试材料。[C3S 公开项目]

这个项目明确限定自己的范围:一条反射通路。它没有宣称把整只果蝇的大脑搬上链。

但这个小范围成果已经足够重要。它展示了一条具体路径:一部分行为可以被表达成公开电路,供别人检查、复算和接入自己的环境

对数字生命而言,这意味着开发者可以从一个简单、可解释的行为核心开始,逐步建立更丰富的交互

固定的行为规则,也可以产生不断变化的个体

电路固定下来以后,这个生命还能成长吗?

可以设计成能够成长,关键在于区分规则与状态

同一条更新规则,面对不同经历留下的状态,可以产生不同结果。一个计数器不需要每次更换电路才能继续计数;同样,一个有限状态的数字生物,也可以在固定规则下改变自己的反应模式

如果要改变规则本身,则需要明确记录新版本,并规定旧状态怎样迁移。这样才能区分:它是经历了成长,还是被悄悄替换了行为方式

这里蕴含一个值得开发的方向:给数字生命建立可追溯的成长记录,让状态变化与行为版本各有来处。*这需要应用层实现,不能把它当成现成的协议功能。

REF 引用,让生命的能力可以由多人共同搭建

TapeOut 当前的网表格式包含 REF,可以引用指定处理器地址、指定编号的电路。公开求值器会解析这些引用,并为被引用的状态电路安排相应的状态空间[现行网表格式](https://tapeout.net/assets/netlist-BH9j9err.js) · [现行求值器](https://tapeout.net/assets/tapeoutChain-C8VuPVrA.js)

这让我看到了一个比单只宠物更大的方向

假设有人设计一个逃逸模块,有人设计寻路模块,有人设计节律模块,还有人设计如何在几个动作之间作出选择。后来的开发者可以在接口兼容的前提下,把这些模块组合成新的行为系统

“数字器官”可以作为理解这种协作的比喻。真正复用的是具有明确输入、输出和状态约定的电路,并不意味着它们已经具备生物器官的全部功能

Perpetua 已经提供了一个具体的组合案例:这个 16×16 的康威生命游戏,把一行的更新规则做成子电路,再由顶层电路引用十六次。[Perpetua 项目](https://github.com/h805846716/perpetua)

在 2026 年 9 月 15 日的链上只读核验中,我直接调用了它的 `step`,得到的下一代状态与项目公布的滑翔机测试向量一致。这是一次输入的独立核验,完整验证范围以项目自己的测试材料为准

这个例子的意义,在于展示了组件怎样组合起来。电路复用可以减少重复制造某些元件的需要,但被引用的逻辑在求值时仍然要执行,不能据此推导出计算成本消失

这里还要分清一个容易混淆的概念:电路引用与容器嵌套是两种机制。 当前容器的一层设计限制本协议电路的嵌套持有,并不等于网表不能引用其他电路

一套共同规则,可以容纳很多不同的个体

一个数字物种不必为每个成员重新发明一套电路

许多个体可以使用同一套行为规则,各自保存不同的初始参数、运行状态与经历。不同环境、不同输入和不同历史,会让它们逐渐表现出差异

Perpetua 的设计就把规则与棋盘状态分开:链上电路承载更新规则,用户把自己的棋盘作为参数传入。这里还没有一套完整的个体身份系统,但已经展示了共享规则与独立状态如何共存。[Perpetua 的状态说明](https://github.com/h805846716/perpetua#plant-your-own)

对真正的数字个体产品,可以进一步为每个成员绑定独立身份和状态记录。我们因此有机会得到一个共享底层规则、成员经历又各不相同的数字种群

如果再增加明确的父代记录、参数继承和经过校验的变异机制,还可以研究谱系与演化。这些属于后续应用设计;随机修改电路本身,并不会自动得到更优秀、甚至有效的后代

容器让这个个体可以与链上的资产和应用发生关系

行为规则回答了它怎样行动,容器则为它提供了另一个维度:一个与电路 NFT 绑定的链上账户

按照 TapeOut 当前的说明,容器可以接收和持有资产,由电路 NFT 的当前持有人控制。电路转让后,容器的控制权随之变化。[TapeOut 容器](https://tapeout.net/#containers)

在数字生命产品中,这意味着可以围绕同一个身份组织它的物品、应用权限,以及由其他合约管理的成长记录。哪些东西会随身份转移,取决于这些应用怎样绑定权限和数据。

这里的所有权主要承接身份、账户控制及应用认可的经历。公开电路可以被别人读取和执行;拥有一枚电路 NFT,并不自动获得对这段逻辑的排他使用权,也不自动获得每次调用的收入。这反而给共同构建行为模块留下了空间

官方 Linux 示例提供了一个有分量的参照:机器合约的管理者是一个电路容器。在本次链上读取中,这个容器绑定 BNB Chain 上的电路 #4246,其持有人与容器控制人一致[Linux 示例](https://tapeout.net/linux.html)

由此可以看到,容器有机会把一个电路身份,与一台有状态机器的管理权连接起来

但“拥有账户”与“自主决定花钱”之间仍有距离。默认容器的控制者是 NFT 持有人。若要让数字生命依据某些规则支出运行预算,开发者还需实现受约束的执行与授权机制

它的余额也不是无限生命的保证。持有人可能取走余额,运行预算也可能耗尽。一个可信的产品需要解释这些情况下个体如何休眠、保存和恢复

持久状态,让“它经历过什么”能够留下来

TapeOut 的公开接口把 `step` 写得很清楚:传入当前状态与输入,返回新状态与输出。这是只读求值接口,单独调用不会自动保存新状态。[现行电路接口](https://tapeout.net/assets/chain-BKim3t40.js)

这个区分非常关键。如果状态只存在浏览器里,关掉页面之后就可能丢失。即便行为电路还在,我们恢复出来的也可能只是一个从头开始的实例

对于想长期存在的个体,应用可以把必要状态保存在合约中,或建立完整数据可取得、版本能够校验的存储方案。只有一个哈希,无法找回已经无人保存的记忆内容

官方 Linux 示例展示的是另一种有状态机器架构:CPU 解释器、分页内存、状态读写和推进执行的交易相互配合。它使用 Yul 编写的 RISC-V 解释器,不能被描述为基础 NAND 电路逐门执行完整 Linux。[Linux 示例架构](https://tapeout.net/linux.html)

对于数字生命,它给出的启发是:电路身份可以与更大的状态系统连接。至于如何把短期状态、长期经历和行为版本组织成可恢复的个体,还需要进一步开发

同一个生命,可以接入不同的身体和世界

只要行为规则和必要状态能够被独立读取,展示它的程序就有机会被替换

一个网页可以把它画成像素果蝇,一个游戏可以让它控制某种角色,一个实体装置可以把它的动作输出转换成电机指令

这种迁移需要开发者建立输入输出适配。同样一个“逃离”输出,在网页和机器人上代表不同的动作;不同的身体,也会改变它能感知到的环境

因此,“共用电路”只是跨环境行为的一部分基础。要让经历保持意义,还需要各个环境就状态格式、时间尺度和动作含义达成约定

HashPort 的探索又补上了另一个角度:它尝试把网站前端文件放到链上,并把文件管理与账户身份关联起来。其公开技术草案区分文件完整性、前端身份和服务网关,钱包验证库及部分登记机制仍标注待完成。[HashPort 技术草案](https://www.hashport.ai/bep)

这让我进一步想到:未来数字生命的恢复资料,除了行为和状态,还可以包含最小展示程序、资源清单与运行说明。

如果最初的网页消失,别人仍有机会重建一个能与它互动的窗口。这是可以沿着现有技术方向继续做的产品,不是 HashPort 已经完成的数字生命服务。

PoD 的价值,可能体现在谁来持续改进这些行为模块

如果越来越多人需要数字生命的基础模块,就会出现持续的工程问题:怎样减少门数,怎样控制执行成本,怎样证明某个规则在规定范围内正确,怎样发现反例。

TapeOut 已经围绕电路设计建立了 PoD 体系。当前前端和接口也提供了反例登记、复核与移除错误最优榜位的机制。这说明协议已经在组织设计、验证和竞争这几件事。[TapeOut 官网](https://tapeout.net/)

但必须分清:当前 PoD 有自己的题目、资格和奖励规则。一个好用的数字生命模块,不会因为“有用”就自动获得 BEM 奖励。

我看好的联系,是未来可以围绕明确的行为任务组织开发者协作。例如,在规定传感输入下,用更小的电路实现某种反应,并提交可复验的结果。这样的任务是否进入 PoD,或由应用另外提供报酬,需要相应机制支持。

BEM 与数字生命的联系,需要通过实际服务和协议规则建立

这里有三条不同的路径

第一条是当前容器费用。官网说明,创建和操作费用进入协议国库,兑换成 BEM 后,其中 80% 定期销毁。本次链上读取确认了容器创建、单次执行和批量执行的 BNB 计价费用;没有独立核验完整的兑换及销毁交易历史。因此,这里能写的是收费入口与公开政策,不能写成已经证实的持续净通缩。[创始人的费用说明](https://x.com/Blonskr/status/2097020915683102835)

第二条是 V2 预告中的生产能力采购与元件开发者分成。创始人提出,让厂商使用 BEM 购买特定元件的生产能力,并引入 BNN、LUT 等高级元件。这可能使更复杂的行为模块有新的表达方式,但本次研究没有确认这套机制的完整正式部署,文章将其视为路线图。[V2 原始预告](https://x.com/Blonskr/status/2092551495392825791)

第三条是应用自己提供的服务:实验环境、状态保存、成长训练、运行托管、身体接入。开发者可以设计它们怎样收费、怎样关联 BEM。这些收费关系需要具体产品来实现。

对于用户来说,付费理由应该能够被看见:这次支出给自己的数字个体带来了什么能力、经历或可持续服务

还要区分两种销毁。基础流片消耗的是 NAND/LATCH 元件,不能直接写成流片自动销毁相同数量的 BEM。电路的只读求值,也不意味着每一次动作都会触发容器收费或 BEM 销毁。

真正值得期待的,是一个可以共同建设的数字生命生态

沿着这些联系继续推演,TapeOut 周围可能出现多种角色:有人开发行为电路,有人提供状态存储,有人制作游戏世界,有人制造实体身体,有人验证模块,有人维护兼容的运行程序

数字个体则通过明确的接口,在这些服务之间延续

通用智能合约和 ERC-6551 等标准,也能实现账户、资产和一部分状态功能。TapeOut 并没有独占数字生命的实现方式,它的容器本身也采用 ERC-6551 注册表。[ERC-6551 标准](https://eips.ethereum.org/EIPS/eip-6551)

我看好 TapeOut 的原因,是它把电路设计、公开求值、组件组合、资产身份和账户工具放进了一套相互关联的开发路径。最终能否形成优势,要看开发者是否愿意采用这些接口,以及用户是否愿意与这些个体建立长期关系。

这里还有两个需要认真完成的条件。

一个是连续性。公开数据能够被复制;同一个规则可以在不同地方同时运行。应用需要规定哪个状态序列代表这个个体的正式经历,怎样避免回滚、重复领取或伪造成长。NFT 可以提供身份锚点,不能自动解决所有运行记录的真实性

另一个是长期可恢复性。2026 年 9 月 15 日,在区块 121976529 的读取中,当前官网配置的工厂 `isSealed` 返回 false,容器信标也仍有非零管理员。这不能直接推导为已流片网表可被随意更改,但说明整个协议与应用体系还不能一概描述为完全没有管理权限。[当前工厂](https://bscscan.com/address/0x68224F668083c29e9800Be2a646d42d18cedF7e2#readContract) · [容器信标](https://bscscan.com/address/0xe88f14464efe088267bbb8c5a7e6012f9cb75013#readContract)

对“永恒”负责,就要逐层明确:什么数据能保留,什么代码可能变化,谁可以更新状态,原服务停止后别人怎样恢复。

我期待看到的第一个有说服力的成果,可以很小。

它拥有一个明确身份、一套公开行为规则和一份确实影响行为的经历。原网页关闭之后,另一个独立客户端仍能读取这些资料,继续运行它;在新的环境里,我们能够观察到此前经历留下的痕迹。

如果这一步做成,接下来就可以研究更丰富的身体、更复杂的交互,以及更多彼此影响的个体。

这就是我看好 TapeOut 的原因:它已经提供了一些可以动手组合的基础,让数字生命的长期延续成为一个能够逐步实现、逐项验证的工程目标

最让我期待的画面,是很多年后,最初的游戏已经结束,你仍能在另一个世界里,遇见自己曾经陪伴过的那个数字个体

https://github.com/BruceLanLan/c3s-reflex-circuits

在 X 查看原文 更多文章