第16章 · 父与女
拉各斯的雨是从半夜开始下的。不是那种温和的、带着节奏感的城市夜雨——是非洲雨季特有的暴雨,雨点有指甲盖那么大,砸在铁皮屋顶上像千面鼓同时被敲响。空气在几分钟之内从湿热变成了一种冰凉的、饱含水汽的沉重,仓库大门的缝隙里渗进来一股夹着泥土和柴油气味的潮湿气流。
陆远和米娅被困在了阿米娜的仓库里。不是港区那个放了服务器的地下室——是码头边的一间旧中转仓库,离阿帕帕港口的集装箱堆场不远。陆远原本是来取一批SkyWalker固件样本的——阿米娜从拉各斯以北的一个隐蔽节点送来的新一批硬件,用骆驼穿越了撒哈拉边缘的沙漠公路,又在摩托车上颠簸了两天,最后存进了一块用防弹纤维包裹的固态硬盘里。陆远已经在这批样本上调试了整个下午加半个晚上,正准备返回货运公司二楼的休息室时,雨下来了。
米娅比他早十五分钟被雨拦住。她倚在仓库敞开一半的铁门边缘,手里端着一个不锈钢杯,杯子里是阿米娜放在这里的速溶咖啡——已经凉透了,但她没有去加热。她看着雨幕中的港口,那些集装箱吊机在暴雨中变成了一排模糊的巨兽剪影,探照灯的光柱被密集的雨线切割成碎块。
陆远从仓库里面走出来,站在她旁边两三米的地方,也看着那片雨。他手里没有咖啡,只有一瓶从背包里翻出来的矿泉水。
萨赫勒行动失败的消息已经传遍了所有数据党的节点。那二十三个暗红色的代号——金雕、渡鸦、信天翁、夜莺——此刻正在数据党的内部公告板上以一种阴郁的方式被悼念。没有人写长篇的悼文,没有人发言。只是在代号列表下面,有人一行一行地加了二十三行横线,像二十三道浅浅的刀痕。
陆远和米娅都没有在那个公告板下面留言。他们只是看过,然后关掉了界面,然后继续做手里的工作。但那份重量像一层细密的粉尘一样悬浮在仓库的空气中,每一次呼吸都能尝到它的味道。
“你那天问我——那封信是写给谁的。”米娅开口了。她没有转头看陆远,目光仍然落在雨幕中。
陆远没有回答,等她说下去。
“我一直在想这个问题。从拉各斯回到柏林的一个月里我都在想。我坐在鸽节点的工作台前面,面前放着信纸,笔都蘸好墨水了——但我写不下去。因为我不知道我在写给谁。”
她喝了一口那杯已经彻底凉透的咖啡。没有皱眉。
“我不是在写给我母亲。我母亲不需要那些信来知道我还活着——我每两周给她打一次电话,用鸽子网络的中继线路,虽然每次只能说不到三分钟,但她能听到我的声音就够了。那些信不是为她写的。”
雨声在铁皮屋顶上汇聚成一种持续的轰鸣,像一个巨大的瀑布正在不远处倾泻。
“那些信是写给他看的,”米娅说,“写给我父亲。但我从来没有寄出过任何一封。”
她从背包内侧的口袋里取出一个东西——不是那封陆远在拉各斯见过的信,是另一封。信封的边缘已经被多次折叠和展开磨出了细小的裂纹,纸张明显比普通打印纸更厚,像是经过了反复的抚摸和重新折叠。她把它递给陆远。
陆远接过来。信封没有封口,里面的信纸露出一角。他看了一眼米娅——她的目光仍然在雨中,但她的下巴微微收紧了,像是一个人在做一件她知道自己必须做但不知道自己做不做得到的事。
他抽出信纸,展开。
信纸上是手写的字迹,蓝黑色墨水,字的排列整齐到近乎刻板——每一行的长度都几乎相等,字间距均匀得像用尺子量过。陆远没有见过米兰的字迹,但他见过米兰的设计日志截图,那种在极度克制中透露出一丝苛求完美的排版方式,在这封信里完全一致。
他没有读信的开头。他先翻到了末尾的落款——没有签名。信纸上一个字都没有署名,像一个不愿意在作品上留下名字的人。
然后他从头开始读。
信没有日期,没有称呼。它直接从第一句话开始,像一段被人从中间截取的对话:
“我小时候以为你什么都知道。不是以为——是确信。你修好了那台坏掉的收音机,你算出了那道没人能解的积分,你在贝尔格莱德的冬天里用一根铜线和一把钳子让整栋楼恢复了一个星期的电视信号。邻居们站在门口看你工作,像在观看一种魔术。我那时候觉得你是我见过的最接近上帝的人。”
“后来我发现了第一道裂缝——不是在你的系统里,是在你身上。那年我十四岁。你在书房里睡着了,桌上的笔记本摊开着。我站在那里看了很久,久到我的膝盖发酸。我看到的不是上帝的方程式——我看到了一个人在一遍又一遍地改同一个参数。”
“你在害怕。我当时不认识那种表情,因为我从来没有在你脸上见过它。我十四岁才学会辨认恐惧在一个人脸上的样子。那几年你已经太累了,累到忘记在自己的女儿面前隐藏它。”
“你的网络可以传输任何东西——数据、影像、金钱、权力。它连接了仓库里那台老旧的服务器和地面上所有能发光的屏幕,它让一个在贝尔格莱德的孩子和在东京的孩子能同时看到同一张图片,它让人类的通信总带宽比三十年前增加了四个数量级。你为此感到自豪。我也为此感到自豪。但你忘了在架构图里标注一件事:它不能传输原谅。”
陆远的目光停在那一行上。雨水在铁皮屋顶上的轰鸣声似乎在这几秒钟里变远了,退到另一个层次的背景中去。
“因为原谅需要的是离线后才能说出口的东西——一次面对面,一个你没有留给我的时间。你在协议里为每一种可能发生的连接错误都写了异常处理分支,但你从来没有为你和我之间的断连写过任何重连机制。也许这不是你的疏忽。也许你只是不知道从哪里开始写那行代码。”
“但我还在等。我不确定自己在等什么——也许是在等你承认你的笼子有一扇门是你故意不锁的。也许是在等你告诉我,你留给我的那个侧信道不只是测试入口,还是一个——”
信在这里断掉了。不是被撕掉的,是写到一半忽然停笔,留下大约三行的空白,然后被折起来放进了信封。后面的内容没有被写出来。
陆远把信纸按照原来的折痕重新叠好,放回信封里,还给米娅。他做这个动作的时候没有看她的脸——他不想让她觉得他在审视她。他只是把信递过去,等她接住之后,才把自己的目光转向雨幕。
“你从来没有寄出过任何一封?”他问。
“每一封都写完了,折好了,放进信封了。然后在抽屉里放几天,再拿出来,看一遍,撕掉。只有这一封我留下来了。”
“为什么留下这一封?”
米娅没有回答。她把信放回背包内侧的口袋里,拉上拉链。
雨没有停的迹象。铁皮屋顶上的声音从密集的鼓点变成了一种持续的、低频的轰鸣——不是雨声变大了,是人的耳朵已经无法分辨单个雨滴的撞击,它们叠加成了一种类似白色噪音的墙。
米娅在那个墙后面开口了。
“他不是坏人。”
陆远侧过头看她。
“我是说——我父亲。他不是你们想象的那种人。他不是塞拉斯那种喜欢控制别人的快感的类型。他不享受权力。他享受的是——秩序。”
她在找一个能准确表达的词。
“你觉得人类是一群什么样的生物?”她问。
陆远想了想。“我不知道。大部分时候我遇到的都是想活下去的人。有些人做得到,有些人做不到,但他们都在试。”
“我父亲觉得人类是一群手里拿着火柴的孩子,而世界是一座火药厂。”
米娅把这句话说出来的时候,语气非常平稳,像是在陈述一个她已经理解了很多年的事实。不是辩护,不是抱怨——只是陈述。
“他觉得人类已经在几千年里证明了自己没有能力管理自己创造的力量。原子能、基因编辑、人工智能、近地轨道工业化——每一项技术的出现都伴随着一次险些毁灭文明的危机。他经历过南斯拉夫的战争,他知道在失去了统一的框架之后,人会对人做什么。那种记忆从来没有离开过他。”
她停了一下。
“所以他想要没收所有人的火柴。由他来管理点火权。”
陆远靠在仓库门边的水泥柱上,雨从门缝里溅进来,打湿了他半边肩膀。他没有移动。
“他可能是对的。”他说。
米娅转过头看着他。她的眼睛在仓库门缝里漏出的灯光中呈现出一种介于灰色和绿色之间的颜色,瞳孔微微放大——像一个在等待一道她预期中的反驳、却听到了意外答案的人。
“人类确实拿着火柴坐在火药厂里,”陆远说,“气候临界点、全球性的不平等、核武器的扩散、AI的失控风险——任何一个都可以在未来五十年内把我们炸成历史书脚注里的一行小字。你父亲说需要一个统一的控制层来防止这一切发生——从纯工程的角度来看,他的结论和他的前提是自洽的。”
他停了一下。
“但那不意味着他应该拥有那个权力。”
米娅没有立刻回应。她把冷透的咖啡杯放在窗台上,双手交叉抱在胸前。那个姿势看起来像是防御性的,但陆远注意到她抱胸的时候手指没有用力,只是轻轻地搭在手臂上——她在听。
“他是这套系统的设计师,也是最相信它的人,”陆远说,“一个人既是设计师又是裁判又是执行者——人类历史上没有哪一种权力结构在这个配置下没有走向腐化的。不是因为他坏——是因为一个人无法永远正确。而他设计的系统不允许任何人质疑他的正确。那不是秩序——那是单点故障。”
他往前走了半步,站在雨幕的边缘。雨线打在他的脚前,在水泥地面上溅起细密的水花。
“我女儿五岁。她这个月学会了两位数加法。她问我的问题是‘星星为什么要收费’。我不想摧毁星链,米娅——我想摧毁的是那个让一个五岁的孩子觉得连接是需要被许可的世界。”
米娅看着陆远的侧脸,看了很久。她忽然想起自己第一次见到这个男人的时候——在那个闷热的港口区工作间里,他蹲在一台手工焊接的设备前面,用万用表测量电源纹波,专注到没有注意到她走进来。她当时觉得他是一个典型的工程型思维的人:务实、沉默、在技术问题上有一种近乎偏执的精确。她没想过他会说出刚才那段话。
她也没有想过自己会在这个暴雨夜对一个认识不到两个月的男人说下面这句话:
“我三年前离开贝尔格莱德的时候,在餐桌上留了一张纸条。只写了一句话:‘我走你留的那扇门了。’”
她看着雨。
“我是说——那个侧信道。QKD的光子到达时间差。我十四岁就在他的笔记里读到过那条路径的草稿,但我花了十年时间才理解那扇门是做什么用的。那不是漏洞。那是他留着等我找到的。”
她顿了顿。
“他从来没有告诉过我它在那里。但他把所有的线索都放在了我能翻到的地方——书架上那些不锁的笔记本、办公室终端上没有注销的管理员会话、散落在书桌上的固件源码打印件。他从来不是一个粗心的人。但如果他不想让我找到那些东西,他有一百种方式把它们藏起来。”
她的声音在雨声中变得比之前轻了,但没有变弱。
“他知道我走的时候会从那扇门出去。他没有锁它。”
陆远没有接话。他能感觉到米娅在说这些话的时候不是在对他倾诉——她是在对自己重新确认一个她已经得出了很久、但从未大声说出口的结论。
“但我走了之后,他没有联系过我不是因为他找不到我。他能通过星链定位地球上任何一个终端的位置——他只要想,他能在三秒钟之内知道我在柏林的哪一间公寓里、用的什么终端、每天什么时候上线。他不联系我是因为他尊重那扇门的含义。我选择从出口走出去,他就不再追上来。”
她终于把脸从雨幕方向转过来,正对着陆远。
“但我这三年一直在想一个问题:如果我走回去呢?”
雨声在这句话之后填满了所有空白。陆远站在她面前,感到自己胸口内侧口袋里那枚管状钥匙的形状透过衣料印在皮肤上——那台FreeBSD服务器里保存着的旧互联网的骨架。他的手指无意识地隔着衣料按了按那枚钥匙。
“你父亲留了一个后门。不是入口-7那个蜜罐——是另一个,在蜜罐的更下面。法尔汉已经确认了它的存在,但还没有找到激活它的精确路径。”
米娅的目光没有移开。
“如果他能找到那个入口——那个连米兰自己都没有完全决定要不要使用的大门——你的父亲留了一个他自己都不确定希不希望被人找到的钥匙孔。他不是全知全能的。他甚至在帮我们。”
陆远不知道自己的话有几分是分析、几分是希望。他只知道在萨赫勒的灰烬还没有完全冷却的此刻,他需要相信米兰不是一堵完整的墙壁——米兰的墙上有裂缝,那些裂缝不只是为了捕捉猎物而设的伪装,有一些是他自己内心矛盾的投影。
“如果你能联系他——不管用什么方式——”陆远说,他发现自己不知道该怎么措辞后面的话,因为他在要求一个女儿去做一件她自己可能都没有准备好做的事情,“告诉他:他不需要没收全世界的火柴。他只需要相信人们不会点燃自己。”
米娅沉默了很久。
雨开始变小了。不是骤然停止——是逐渐地从那种轰炸般的密集过渡到了可以称之为“大雨”的程度,然后过渡到“中雨”,铁皮屋顶上的轰鸣声降了几个调,重新变回了可以分辨单个雨滴的鼓点。
米娅在门框里站直了身体。她做了几个动作——放下抱着的双臂,从口袋里取出一条细长的钥匙,走向仓库后侧一个被油布盖着的角落,掀开油布。
下面是一台设备。不是陆远见过的SkyWalker测试终端——是一台老式的卫星电话,外壳是军绿色的,有着粗壮的天线接口和一个显然经过加固的机身。它不是星链的产品——它的天线结构更简单,不兼容星链的任何频段,而是指向一个更早的、更简陋的卫星通信网络。
鸽子网络专用的中继卫星电话。不连接星链。不留下任何可以通过星链网关追踪的连接日志。一台活在上一个通信时代的设备。
米娅把它拿起来,检查了一下电池。指示灯亮起——还有三格电。她打开天线的锁定扣,把天线展开,将设备拿到仓库门边——那里有一个相对开阔的、被雨水冲刷干净的混凝土平台,没有铁皮屋顶的遮挡。
她没有立刻拨号。她站在那里,手里握着那台电话,看着雨幕逐渐变薄变亮,东方的天空在雨云的边缘处泛出一种极浅的、垂死挣扎般的灰白色。她站在陆远能听到她呼吸声的距离上,但她的脸侧对着他,他看不到她的表情。
她想了一会儿。一个陆远无法判断长度的、不需要任何外部输入的决定过程——像一台正在执行内部自检的机器,在启动最终的加载程序之前,进行最后一次确认。
然后她按下了拨号键。
号码不是从通讯录里调用的——她手动输入了那一串数字,每一个按键之间的间隔都均匀而稳定,像一段她练习过太多次的乐章,手指已经记住了键与键之间的所有距离。
贝尔格莱德的区号。然后是一串她永远不会忘记的号码——米兰·沃伊诺维奇的私人线路。那条线路不在星链官方通信录里,不在任何公开的联系方式中,是她小时候父亲用来接她放学的那部手机上存着的同一个号码。他没有换过。她不知道他为什么没有换过——也许是因为在近地轨道上重建全人类的通信基础设施之后,换一个手机号码成了一件他不在乎的小事。也许是因为他在等一个已经不会再打来的人。
电话接通了。
响了一声。米娅的呼吸停了一下。
第二声。她的手指在电话外壳的边缘上无意识地滑动。
第三声。
接通了。
对面没有声音——不是空号,是有人在线的沉默。
米娅把电话举到耳边。陆远看到她握着电话的手在稳定地、几乎不可察觉地微微颤抖。她的嘴唇动了一下,像是在发出声音之前先重新学习了一个她自己以为已经忘记的动作。
“爸。”
那个音节从她嘴里出来的时候,陆远感到自己的喉咙像被什么东西堵了一下——不是因为这个词本身,是因为他说出它的方式。一个三年没有说过的词,但发音没有丝毫的生疏或犹豫,像是昨天、前天、每天她都在心里默念过这个词,只是今天终于允许它通过了声带。
电话那端沉默了很久。陆远站在米娅几步之外的地方,听不到米兰的声音——只能听到雨声、远处港口的汽笛声、和米娅握着电话的手指骨节因为用力而轻微发白的细节。
然后米娅说话了。
她说的不是她准备了三年的那些话。不是质问,不是控诉,不是那封没有寄出的信里写着的任何一句精心措辞的句子。
她说的是:
“有人想跟你谈谈。”
她把电话从耳边拿下来,转向陆远,递给他。
电话听筒里传来米兰·沃伊诺维奇的声音——隔着几千公里的距离和一场正在非洲西海岸逐渐停歇的暴雨,通过一台不属于星链的、来自上一个通信时代的卫星电话——他的声音比陆远想象中要轻,带着一种被长途电路压缩和还原之后特有的、极微弱的沙哑:
“……陆远。”
陆远接过电话。他没有立刻说话。他感觉到那台老式电话的外壳因为刚才被米娅握在手中而带着她掌心的余温。他把电话举到耳边。
“米兰。”
两个男人在一条完全不经过星链网络的线路上通着话。十二万颗卫星在他们头顶以每秒七公里的速度掠过,但没有一颗知道这个电话的存在。
雨继续变小。拉各斯港口的轮廓在逐渐变亮的天色中变得越来越清晰,集装箱吊机的尖顶从雾气中露出,海鸥开始重新在低空中盘旋。一个老的连接方式正在被重新激活——通过一台军绿色的、外壳有磨损的老式电话,和一个父亲从来没有换过的号码。
在某个很远的地方,陆远不知道的地方——贝尔格莱德一间书房的窗户前,米兰·沃伊诺维奇握着那部他已经三年没有听到来电的手机,站在黎明前最暗的那一段光线里。
他的窗外也在下雨。
他听着电话那端传来的呼吸声——两个呼吸声,一个来自他女儿,一个来自一个他从未见过但已经追踪了几个月的前华为工程师。他握着那部手机,他没有挂断。
他已经在线上。
线通了。