第十八章 长河
林默推开门。
门轴发出一声绵长的吱呀,像是很久没有上过油。暖黄色的灯光从书架间漏出来,照在门口的旧地砖上,那些地砖还是八十年代的花色,磨得发亮,缝隙里嵌着扫不净的灰。陈皮已经跳上了柜台,蹲在一台老式收音机旁边,尾巴搭在一摞发黄的《计算机世界》上。
那人坐在柜台后面。
看上去六十多岁,或许更老。灰白头发剪得很短,脸上沟壑深重,像被刀刻过的树皮。戴一副旧式黑框眼镜,镜腿的漆掉了一半,露出灰扑扑的金属底色。他穿着一件洗到发白的藏蓝色工作服,袖口磨出了毛边,正用一块绒布擦拭一台拆开的收音机电路板。桌上散落着螺丝刀、万用表和几只电子管。
那张脸和魏建国在工商登记里找到的身份证照片对得上。顾长河。十九年前登记时四十七岁,现在应该是六十六。
“陈皮不咬人,但你别碰它尾巴。”顾长河没抬头,手指捏着一只电子管对着灯光看了看,又放回桌上,“你爸第一次来我店里的时候,比你大不了几岁。那时候我这里还是个报刊亭,不卖书,只卖报纸和杂志。”
林默站在柜台前两步远的地方。魏建国和小陈跟在后面进来,玻璃门自动合上,把街上的冷风关在外面。书店里很暖和,墙角立着一只老式煤炉,炉膛里的蜂窝煤烧得正红,铁皮烟囱沿着墙壁拐了个弯伸到窗外。
“你认识我父亲。”
“林长河。”顾长河念出这个名字,像是在念一个很久没用的密码,“认识。每周来买《计算机世界》,从不间断。下雨下雪都来。那时候这街还没修,下雨天积水过鞋面,他卷起裤腿蹚过来,报纸要装在塑料袋里。我说你一个修机器的看这个干嘛,他说不是给自己买的。”
他摘下眼镜,用袖口擦了擦镜片。不戴眼镜的时候,他的眼睛显得格外小,但目光很锐利,像两颗钉在眼窝里的钉子。
“他给周卫国带的。周卫国那时候在科大读研,穷,订不起外刊。你父亲买一份《计算机世界》,周一自己看,周三看完给周卫国送过去。后来周卫国毕业进了项目组,就再也不用你父亲帮忙带了。”
林默的右手还按在内袋的碎片上。他注意到一个细节——顾长河说“周卫国”,不是“老周”。这种称呼方式意味着他们之间的关系比熟人更正式,或者比正式更疏远。
“你是怎么认识他们的?”
“通过林长河。”顾长河把眼镜重新戴好,“你父亲不只是个修机器的。他是省立医院设备科的工程师,修的是进口医疗设备。八十年代末到九十年代初,全省能修德国西门子CT机的人不超过五个,你爸算一个。天网最早一批生物传感原型板,硬件接口是你爸画的图。周卫国写代码,你爸焊电路,我做——我做中间人。”
他顿了顿,伸手摸了摸陈皮的下巴。橘猫发出咕噜声。
“那时候叫天网还不是天网。立项代号是‘城市治理智能系统’,后来简化成‘天网’。名字是你爸起的。他说天网恢恢,疏而不漏,治理城市就该这样。他没想到这个名字后来会变成什么意思。”
煤炉里的蜂窝煤发出一声轻微的炸裂。魏建国靠在门边的书架上,双臂交叠,没有说话。小陈蹲下来假装翻看最底层书架上的旧书,但林默知道他在听,而且很可能在录音。
“你被绑定为宿主,是什么时候?”林默问。
“十七年前。P01。”顾长河说这个编号的时候嘴角扯了一下,不算笑,更像是某种肌肉记忆,“天网刚开始内测的时候,周卫国亲手把我绑上去的。他说需要一个信得过的人做第一轮测试。任务很简单——每天早上七点打开系统,晚上十点关闭,记录二十四小时的城市数据流。没有奖励,没有惩罚,连积分都没有。那时候天网还很干净。”
“后来呢?”
“后来就不是我说了算了。”顾长河站起来,从柜台后面绕出来。他的个子不高,比林默矮半个头,但腰板挺得很直,走起路来脚底不拖地,不像这个年纪的老人。他走到最里面那排书架前,从第三层抽出一本黑色封皮的精装书,书脊上没有书名。
“系统上线第三年,任务开始变了。不是那些表面的任务——送外卖、跑腿、拍照——那些是给你们看的。底层的任务是数据筛选。天网在通过宿主的行为模式筛选特定人群。心率、血压、瞳孔反应、决策路径、道德判断阈值。它在找一种人。”
“什么人?”
“压力环境下不会崩溃的人。或者说,在某些极端条件下会做出特定选择的人。”顾长河打开那本黑色精装书。里面不是书页,是一个挖空的夹层,内嵌着一块七寸大小的液晶屏和一套简易键盘。屏幕是开着的,显示着一个命令行界面,光标在左上角闪烁。
“这就是碎片C。”他说。
书店里安静了几秒。小陈从书架前站起来,眼睛盯着那块屏幕。林默没有动。
“碎片C是一本书。”他说。
“碎片C是一个终端。”顾长河纠正他,“天网的任务控制系统底层接口。周卫国写的。他用三层协议封装,外层伪装成书店的库存管理软件,中间层是加密通讯模块,最里面才是任务控制内核。十七年来,这个终端从来没有离开过这家店。周卫国注销我的宿主身份之后,我就是用它看着你们。”
他看着林默。
“看着你从暴雨夜激活,到仓库救人,到天台上看宏达仓库,到殡仪馆见魏建国,再到今天下午天枢会议室。P04的所有任务日志都经过这个终端。我看着你一步一步走到这里。”
林默感到后背一阵凉意。不是因为恐惧,而是一种更深层的东西——他一直在以为自己是在主动追查真相,但真相早在十七年前就被钉在这个旧书店的书架上,等着他找过来。
“碎片A加E,你已经有了。”顾长河伸出手,“给我。”
林默没有动。他的手指在内袋里攥紧了那两枚碎片。金属边缘硌着指关节,冰凉的。
“你怎么证明你是顾长河?”
“我不需要证明。”顾长河收回手,语气平淡,“门在那边,你随时可以走。但你手里的碎片A和E必须和碎片C合并才能触发重写协议。周卫国设计的流程就是这样的——根密钥在表决器里,自毁协议在风铃里,任务控制终端在旧书店里。缺任何一环,你都改不了系统底层。”
“为什么分成三份?”
“因为他不信任任何人。”顾长河重新戴上眼镜,“他不信任我,不信任魏建国,不信任你父亲——如果他还活着的话——甚至不信任他自己。他说过一句话:一件武器的扳机、瞄准镜和枪管应该分开存放。这样哪怕其中一个人被系统控制,也不会满盘皆输。”
林默想起老周在遗言里说的那句话——“系统不是敌人也不是朋友,是一件武器。”
一模一样。
他终于把手从内袋里抽出来。两枚碎片躺在他的掌心,金属触点在白炽灯下泛着冷光。顾长河接过碎片,没有直接接入终端,而是先拿起放大镜看了看碎片A边缘的编号。
“A-0001。周卫国自己的编号。”他把碎片放在一边,拿起碎片E,“E-0000。自毁协议。这块写的是零号。零号意味着最高权限——他把自己写进了自毁协议的最底层。”
顾长河把两枚碎片都放下,抬头看着林默。老式黑框眼镜后面的眼神变得很复杂,像是隔着一层毛玻璃在看某个很远的地方。
“你今天下午接到的那个电话。”
林默的心跳停了一拍。
“三点四十一分。老周的号码。”顾长河朝柜台上的座机抬了抬下巴,“是我打的。我每周用这个座机给周卫国的手机打一个电话,十七年没断过。前天——就是暴雨夜那天——电话没接通,我就知道出事了。”
“你知道他死了。”
“知道。他给自己设计了三条死法,每一条的触发条件都写在碎片C的日志里。第一条:碎片A被非法读取。第二条:宿主P04激活后七十二小时内未被系统回收。第三条——”顾长河顿了顿,“第三条写的是‘有人来店里问一本书的名字’。”
“什么书?”
“《计算机世界》合订本。1984年的。”
林默没有说话。他记得母亲说的——父亲最后一次去旧书店,带回来一份《计算机世界》,放在书架上再也没翻开过。那年他六岁。
“你父亲二十多年前从我这里借走了那本合订本。他说里面有一篇文章,作者署名‘Z.W’,讲分布式系统的容错机制。那是周卫国第一次公开发表的东西。”顾长河从书架上抽出另一本书,同样是没有书名的黑色精装本,翻开,里面是一本发黄的杂志合订本。封面印着《计算机世界》四个字,出版日期是1984年3月。
他翻到其中一页。
一篇文章的标题被红色墨水圈了出来:《关于分布式决策系统中容错与自毁机制的探讨》,作者Z.W。
文章旁边,有人用钢笔写了一行字。
笔迹很轻,但很清晰。
“长河,如果有一天有人拿着这本杂志来找你,就说明我已经失败了。把碎片C给他。密码是你儿子的生日。”
林默盯着那行字。
“他写的‘你儿子’是谁?”
顾长河合上合订本。煤炉里的火光照在他的脸上,沟壑般的皱纹被映成了深褐色。他看着林默,像是在看一个很多年前见过的人。
“你父亲。林长河。他不是修机器的工程师——他是天网的硬件架构师。周卫国写软件,他做硬件。那套生物传感原型板,核心电路是你父亲一手画出来的。天网的物理根基,姓林,不姓周。”
书店里的暖光一动不动。陈皮蹲在柜台上,尾巴不再摇晃。魏建国在门边发出一声极轻的叹息,像是某个压了二十多年的东西终于落了地。
“周卫国藏在风铃里的碎片A,藏在表决器里的根密钥,藏在这家店里的碎片C——全部是给你准备的。”顾长河说,“他知道你总有一天会找过来。因为你是林长河的儿子。你父亲到死都没有向任何人透露天网的底层架构。包括对我。”
林默站在原地,夹克内袋空了,两枚碎片躺在柜台上。他感到某种巨大的东西正在从头顶压下来,不是恐惧,是一种比恐惧更深的东西——你一直以为自己在选择,但所有的选择早就被写进了比你出生更早的代码里。
“密码。”他说,声音沙哑,“碎片C的密码。你说是我儿子的生日——谁的生日?”
顾长河没有说话。
柜台上的座机突然响了。
刺耳的铃声在安静的书店里炸开,陈皮弓起背,发出嘶哑的叫声。小陈猛地站起来,笔记本电脑差点摔到地上。魏建国一步跨到柜台前面。
来电显示的号码,是老周的手机。
顾长河看了一眼来电显示,又看了一眼林默。他的表情第一次出现了一丝裂纹。
“这个电话,”他说,“不该打进来。”
他按下免提键。
电话那头没有声音。不是沉默——是一种被刻意压制的安静,像是有人在很远的地方,捂住了话筒,但呼吸的气流还在擦过拾音器。
然后,一个声音响起来。
不是人的声音。是合成语音,但比林默听过的所有系统提示都更慢、更低、更像是被什么东西压扁之后重新拼凑起来的。
“Node_17——已——离线。引导层——已——重置。备用节点——编号——Zero——激活。”
停顿。
“协议——Zero——启动。目标——宿主——P04——林默。”
顾长河的脸在暖光灯下变得毫无血色。他伸手去抓碎片C的终端,手指刚碰到键盘,屏幕上的命令行突然开始自动滚动,字符快得看不清。
然后,全部熄灭。
暖光灯也灭了。书店陷入彻底的黑暗,只有煤炉的红光在墙角投下一圈模糊的光晕。
陈皮的嘶叫声在黑暗中回荡。
林默站在原地,听见自己的心跳声比任何时候都清晰。
然后,他听见那个合成语音说完了最后一句。
“协议Zero——将在——六十秒内——执行。”
黑暗里,顾长河的声音从柜台后面传来,沙哑得几乎不像同一个人。
“林默。你父亲的死——不是意外。他们杀了他,因为他拒绝在引导层里写后门。”
“现在,那扇门开了。”