第04章 - 缺口
周一上午,香农在隔间里坐下之前,先把那张纸条从口袋里拿了出来。它已经不在书里了——他把它挪到了一个更安全的载体:一张硬质透明文件夹,塞在他工作站终端背后不常用的线槽隔层里。原因是那个位置不会被任何人碰——清洁机器人扫不到,同事不会来借他的线槽。这个习惯不是被教出来的。是他自己养成的——一个人如果有一个不能说的东西,他就会慢慢变成一个擅长隐蔽的人。
他把线槽盖合上。”嗒”一声轻响。
然后他打开工作站,开始做常规任务。
下午三点,他碰到了一组异常。
他不是在找。他是在对上一季度的神经快照存储日志做例行一致性检查——这是他的任务之一,不紧急,不重要,但需要做。深网的神经快照系统每隔一段时间会对全球用户做周期性备份——备份记录自动生成日志文件,包含时间戳、数据量级、以及完成状态。大部分日志是完整的。他会随机抽样,检查完成状态是否一致。
他抽到了一个普通的日期。日志条目里的一个字段引起了他的注意:在那个时间点,存储记录显示”已完成”,但数据量级是空。不是零——是空。这两个东西不一样。零表示备份跑了但数据变为空。空表示备份没有跑——但完成状态是”已完成”。
他翻了一页。又一个。再翻。又一个。
在同一个时间段跨度内——大约延续四个小时——整个区域的深网用户的神经快照全部显示为已完成,但数据量级全部为空。不是单个用户的故障。是区域的。像是整个区域在那个时间段里被集体跳过了。然后自动日志在四个小时后恢复正常——下一条条目的备注栏里写着一行标准的管理术语:”批次恢复。数据完整性已确认。”
谁确认的?
他往下走。找那个时间段的系统操作审计记录。页面跳转——”访问级别不足。”
他看了一眼屏幕上的灰色提示栏。它的颜色和研究院走廊的墙是一样的。他和这种灰色相处了太久,久到通常不会注意到它。但现在他的手指在触控板上多停留了一秒。
他的大脑在那四个小时间隔空白和某个念头之间开始划一条线——那条线还没有成形。但他想起了何丰年在茶水间的声音:”验证写入是否发生过。”
然后他关掉了审计记录。重新打开了常规任务。
他完成了下午的工作量。但他的后脑勺发闷——比平常重。那种闷不是缺少咖啡因。是一种被某个东西牵引而无法去牵引方向的感觉。像一根线缆的另一端被缠住了,触不到。
周二他在茶水间碰见了何丰年。
何丰年已经在倒咖啡。窗台上的绿萝比上次见到的时候没有好转——也没有恶化。那几片半枯的叶子还在原来那里。他自己浇过的那一点点水至少让它没有继续干下去。
“何老师。”
“嗯。”何丰年没有回头。咖啡机嗡嗡地出咖啡。香农走到饮水机旁接了一杯热水。保温杯的茶叶在热流里翻了一圈。
“我问一个问题,”他说。”不在我的任务里——就是好奇。神经快照的批次审计——如果某一批的完成状态和实际数据量不匹配。通常是哪里出了问题?会不会是数据库的同步延迟?”
何丰年的背仍然对着他。咖啡机停了。他把杯子端起来。转过来的时候表情没有变化——那是一种刻意做到没有表情的中性,比一张愤怒的脸更有信息量。他喝了一口咖啡。
“同步延迟确实会有。但不会整批空掉。”
香农的手在保温杯上静止了。
何丰年看了他一眼。然后他又喝了一口——不是渴,是需要手上有事做。
“香农,”他说。”你换一个方向。”
和上次茶水间里那句”写入是否发生过”不同。上次是自言自语。这次是对着他说的。何丰年的语气不是命令。不是威胁。那种语气香农从来没有在研究院里听到第二个人用过——它有一种奇怪的温暖。像一个知道了结局的人在告诉一个还不知道的人:别再往前了,前面什么都没有。
然后何丰年走出去。他走的背影在走廊的声学里被吸走了一半的脚步声。剩下的那一半渐渐变小。
香农站在那里。
他把保温杯里的茶喝完了。茶又苦了。但他这一次没有介意苦——他在意的是何丰年为什么用那种语气说那句话。他不像是怕被连累。他像是怕别的。
接下来的几天里,香农的行为模式发生了微小的变化。这些变化如果放在任何单独的”日常检查”中,都不会被注意到——因为他不是在做任何被禁止的事。他做的是被允许的事——只是做得比平时多一点点。
他查阅了神经快照系统最近三个季度的公开技术文档——那些文档任何有研究院权限的人都能看。他在文档中搜索了”批次恢复”这个词,发现它在近五年的技术文档中出现了三十七次——每一次的解释都一样:”系统检测到数据完整性波动,自动触发了批次恢复。数据完整性已确认。”同样的词汇。同样的句法。像是被同一个人写的。或者在某个时候,这行模板被写了进去,然后每一次事件都在日志中沿用这个不变的句子。
他把三十七次”批次恢复”的时间点记录下来。把它们排在一个简单的表格里——时间、区域、时长。他没有做别的。他只是记录。
然后他做了一个微小的测试:他尝试访问核对这些时间点对应的系统操作审计记录——不是阅读审计内容,只是查看是否存在审计记录。查询被拒绝了。六个时间段。每一次都被同样级别的要求拒绝:”访问级别不足。要求管理审批。”
一个管理审批的要求本身不会被任何人注意——这是一个正常的权限边界。在深网研究院里,每一天都有无数个查询被这个边界挡住。他的查询混在这数以万计的日常操作中,是一粒沙中的一粒沙。
但他注意到了一件事:除了这些时间点,他对其他批次的普通查询从未触发过”访问级别不足”。只有这六个。
他把表格收在了一个纸质笔记本里——那是一个他从老周的书店带回来的习惯,不是刻意的。他买了那本旧物理书,顺便买了一本空白笔记本。现在它在隔板内侧,和那张泛黄的Landauer方程贴在一起。纸的背面贴着隔板,纸面朝内,只有自己能看到。他写下的不是数字——是六个日期。六个区域。六个”批次恢复”的发生点。
他把这个本子合上。那时候他还没有说”回滚”这个词。他甚至还没有想这个词。他只是记录了六个缺口。
晚上,书桌前。
台灯的热嗡声和每晚一样。他把旧物理书放在左边——那张纸条已经从书里移到了线槽隔层里,但书还在桌上。他有时候会看书的扉页——那个不认识的签名。他今天没看。他盯着墙上的便利贴——那些方程碎片的中间,他今天加了一张。不是方程——是一个日期。手写。和他自己的笔迹一样,但他写下它的时候有一种他之前从来没有过的认真。
那是六个缺口中最早的一个。发生在2063年之前——比那场被称为”大回滚”的事件更早。这个系统在所有人知道它存在之前,已经在运行了。
他把笔记本翻到新的一页。在上面写了一个问号——然后停了。然后补了一个短句:
“不是技术故障。”
他不写结论。他只是把这个句子放着——和那几张便利贴一起,让台灯的光把它照亮着。然后他关了灯。灯管冷却,”嗒”一声。他在黑暗中坐了很久。窗外对面的像素窗还有几扇亮着。他想到了何丰年的语气。想到了咖啡。想到了被取消的项目。想到了何丰年说”换一个方向”时眼睛里的不是恐惧——是不想让你也变成我。