16. 身份之辩

蒸汽管道里的黑暗是有重量的。

它不是那种夜晚关灯后眼睛能逐渐适应的黑暗,而是一种绝对的、伸手不见五指的、仿佛实体般压在眼球上的黑暗。空气中弥漫着锈蚀金属和潮湿砖石的气味,夹杂着一股若有若无的、来自上世纪初的煤烟味——那些煤烟颗粒在一个世纪前沉积在管道内壁上,被今天的湿气重新激活,释放出属于另一个时代的气息。丹尼尔弯着腰在管道中前进,一手扶着管壁上湿滑的砖砌衬里,一手举着从安全屋带出来的手电筒。手电筒的光束在狭窄的空间里切开一条通道,照亮了前方不断延伸的、长满暗绿色苔藓的拱形管壁。每隔一段距离,管壁上就会出现一个用白色油漆涂刷的编号,那是上世纪三十年代铺设这条管道时工人留下的标记,如今早已被遗忘在所有市政档案之外。

他已经在这条管道里走了将近四十分钟。根据地图,蒸汽管道从旧书店地下室一直延伸到港口区的废旧货物仓库,全长大约三点五公里。在正常路面上,三点五公里不过是一次散步的距离。但在蒸汽管道里,每一步都需要小心翼翼地避开脚下锈穿的铁板、头顶垂落的石棉隔热层和墙壁上蔓延的黑色霉菌,前进的速度被压缩到了极限。他的西装外套早已被管壁上的冷凝水浸透,膝盖因为长时间弯腰行走而开始发酸,左腿在坠机事故中植入过钢钉的胫骨也开始隐隐作痛。

黑暗中,时间感开始变得模糊。脚步声在管道中产生的回音被扭曲成某种不自然的节奏,有时听起来像是身后还有另一个人在跟着他走。他停下来回头看过几次,手电筒的光束照进身后的黑暗,什么都没有——只有永无止境的、沉甸甸的黑暗,和管道深处偶尔传来的、因为温差导致的金属结构挤压发出的低吟。

他想起马特奥船长在布里根港告诉过他的另一句话:“地下世界有自己的规则。第一条规则就是——相信你的直觉,但不要被直觉牵着走。”那些影子和回音不过是管道在玩弄感官的把戏,如果每一次都停下来检查,就永远走不出去。他需要把注意力从身后拉回到前方,专注于脚下的每一步,专注于管道尽头的那个仓库——以及仓库里那台他三年前亲手封存的服务器。

港口区。废旧货物仓库。这两个词组合在一起,让他想起了很多年前。

那是奥德赛数据刚成立的时候。他和埃利奥特刚从移民安置区的阁楼搬出来,急需一个能放置第一批服务器的场地。赫利俄斯市中心的写字楼租金高得离谱,一个月的房租就能吃掉他们大半年的启动资金。他们找遍了城市的每一个角落,最后在港口区找到了这座废弃的仓库。仓库的业主是一个退休的海运商人,因为仓库的位置太偏、设施太旧,已经闲置了将近十年。老人看他们俩年轻,又是移民背景,以低得几乎等于免费的价格把仓库租给了他们,附加一个条件:他们要自己把仓库清理干净。

他们花了一个半月来做这件事。白天在咖啡馆里写代码见客户,晚上回到仓库里清理垃圾、刷墙、拉网线、搭建服务器机柜。丹尼尔负责所有的技术施工,埃利奥特负责所有需要和人沟通的事务——买材料、联系供货商、以及隔三差五给退休业主打电话汇报进度。仓库的一角有一张破旧的沙发,是上一任租户留下的,弹簧已经坏了大半,坐下去整个人都会陷进一个令人尴尬的凹陷里。但他们太累了,每天晚上收工之后都陷在那张沙发里,一人一瓶打折超市买的廉价啤酒,看着窗外港口的吊臂在夕阳下缓缓转动,聊未来、聊技术、聊他们将要改变的世界。

那些夜晚,埃利奥特常常会在啤酒喝到一半的时候站起来,走到仓库正中央,张开双臂对着空旷的天花板喊——“丹尼尔,你看,这就是我们的起点!以后全联邦的移民都会知道奥德赛这个名字!”他的回声会在空荡荡的仓库里回荡很久,像是某种粗糙的、未经修饰的誓言。丹尼尔每次都被他逗笑,从沙发上扔一个啤酒瓶盖过去,笑骂他别吵到邻居——虽然仓库方圆五百米之内根本没有什么邻居,只有海鸥和集装箱吊臂。

在那些夜晚里,他们从来没有想过有一天彼此会背叛对方。背叛是另一个世界的事,是那些精致的利己主义者、那些用金钱丈量一切的上层精英才会做的事。而他们两个不过是从移民安置区走出来的、想要改变世界的年轻人,他们的世界里只有代码、理想和彼此。

丹尼尔在黑暗中停下脚步,把额头靠在冰凉的管壁上。那些记忆太清晰了,清晰到让他觉得管道里的空气突然变得更加潮湿——不是那种可以触摸到的水汽,而是某种从心底蔓延上来的湿意。彼时他们一无所有,但拥有彼此。现在他拥有三块存满证据的硬盘,拥有一个天衣无缝的新身份,拥有一整套足以将联邦安全部特别行动处送上审判席的完整方案。但他不再拥有那个和他分享半块面包的人了。

他曾经用了三年时间说服自己,他回来的目的是复仇——让埃利奥特为他所做的一切付出代价。但站在管道里,他意识到复仇从来不是他内心真正想要的东西。真正想要的是一种让他能继续相信自己所确信之事是正确的方式。如果连那个曾经把所有正确的东西都刻在骨子里的人——那个在阁楼里与他一起举着“奥德赛”硬纸板的年轻人——都可以被这个体系扭曲成杀人凶手,那么信念本身还有什么意义?他试图证明的不是埃利奥特的罪恶,而是信念最终可以战胜腐朽,可以让一个走错了路的人重新找回自己。因为如果这一点被证伪了,那么他自己坚持的所有东西——拒绝充当线人的那个午夜、在手术台上选择重建而不是修复的那个瞬间、在赫利俄斯市潜伏蛰伏的三年——都将失去根基。

他重新打开手电筒,继续向前走。

大约又走了二十分钟,管道的坡度开始向上抬升,管壁的材质从砖砌变成了混凝土,苔藓的分布也逐渐减少。空气不再那么潮湿,开始夹杂着一丝海风带来的咸味——这说明他已经进入了港口区的地下层,距离终点不远了。又过了几分钟,手电筒的光束照到了管道的尽头——一扇锈迹斑斑的铁格栅。铁格栅上挂着一把老旧的大锁,锁芯已经锈死了,但锁体在布里根港的手术中教会了丹尼尔一件事:对付锈蚀的金属,需要的不是钥匙,而是杠杆。他用随身携带的多功能工具卡在格栅缝隙里,用整个身体的重量压上去,铁锈从锁孔里簌簌落下,然后发出一声沉闷的断裂声,锁舌弹开了。

他推开铁格栅,钻出了管道,站在废旧货物仓库的地下储藏室里。

仓库里弥漫着灰尘和陈年木料的气味。透过地面上破损的通风口,能看到正午的阳光从仓库天花板上的裂缝中投射下来,在水泥地面上画出几道斜斜的、被灰尘充满的光柱。空气中有细小的尘粒在光柱里缓缓飘浮,像是无数个微型的宇宙在太阳的光芒中缓慢旋转。仓库的结构和他记忆中完全一样——左侧是堆满旧货箱的高层货架,右侧是已经停止运转的货运电梯,正中央的空地曾经是他们的服务器机房,现在只剩下几排被白布盖住的旧机柜。那台备用服务器是他亲手封存的,放在仓库最深处一间上了锁的配电室里,位置只有他和埃利奥特知道。他当初设置这台服务器的初衷是为了做奥德赛主系统的离线灾备,但后来他发现它还有一个更重要的用途——作为所有敏感数据的时间胶囊。

他穿过仓库的空地。脚步踏在水泥地面上激起的回声在空旷的空间里格外响亮,每一脚都扬起一小团积了多年的灰尘。他走到配电室门前,看到那把老式挂锁还完好无损地挂在门闩上,心里稍微安定了一些。他用钥匙打开锁,推开门。配电室里很小,大约只有四平方米,墙上的配电箱已经锈蚀得不成样子,但角落里那台盖着防尘布的服务器仍然安静地蹲在原来的位置,像一头在洞穴里冬眠的灰熊。

他掀开防尘布,接通电源,按下开机键。服务器内部的风扇开始转动,发出一阵沉闷而稳定的嗡鸣。前置面板上的指示灯一排排亮起来,每一盏绿灯都代表着一个硬盘阵列模块成功启动——这台机器在黑暗中被遗忘了这么多年,但依然完好无损地运行着他当年安装的全部功能。他突然想起父亲生前说过的一句话,在他刚学会编程的那个周末:“你用你全部的知识和热情打磨出来的东西,永远不会背叛你。机器是这样,信仰也是。”彼时他觉得这句话过于绝对,现在却不得不承认,在经历了人类的背叛之后,机器的忠诚变成了一种不可替代的慰藉。父亲大概不会想到,他的儿子会把信仰二字拆分到一台服务器上重新寻找依靠,但此刻,听着风扇稳定的嗡鸣,他确实感到了一种久违的平静。

他拉过一张旧椅子,在服务器前坐下,开始操作。他需要将证据库中“安全部内部行动备忘录”和“远程操控航电系统的技术操作日志”这两部分关键数据,与埃利奥特移交的安全部签署的命令副本进行交叉比对和加密整合。证据链必须完整。不是九成的完整,不是九五成的完整,是百分之百的完整。任何一处的缺失都会成为法庭上被辩方律师攻击的靶子。他把三块硬盘依次连接到服务器上,开始逐条核对时间戳、数字签名和权限记录。每一份文件都要经过哈希校验,确保没有被篡改;每一条通讯记录都要交叉比对发送方和接收方的IP地址,确保操作人确实是索恩和坦津本人而不是某个下级代行者;每一份操作日志都要和飞机坠海的精确时间线做对照,确保指令的下达时间与航电系统的响应时间之间不存在足以产生合理怀疑的空白间隙。

时间在屏幕的蓝光中一点一滴地流逝。

当他整合到第三批数据——埃利奥特提供的索恩“特别行动处清除指令”签署原件时,他在索恩的个人日志中发现了一条他之前没有注意到的信息。三年前,就在飞机坠海的同一个时间坐标,索恩发给坦津的一条加密消息中包含了一组被重复发送两次的数字串。他之前一直以为那只是一组普通的时间戳或任务编号,但这次他用联邦安全部旧版加密协议的逆向算法重新解构这组数字,发现它实际上是一个被压缩的通讯记录文件。解压之后,文件里包含了一段自动备份生成的录音,来源于一个身份不明的记录设备。音频只有短短不到一分钟,但音轨的前几秒清晰记录了索恩对身边技术员下达的最后一个指令:“授权执行远程关闭,所有责任由埃利奥特·沃斯承担。”

丹尼尔盯着屏幕上的那行文字转录,手指在键盘上悬停了几秒。从这一刻起,他不再需要埃利奥特的配合来锁定索恩的个人刑事责任。而与此同时,这也恰恰从另一个维度侧面印证了埃利奥特不过是索恩推行整场清除行动的一枚棋子,而绝非真正的主导者。

他深吸一口气,把这条证据单独打包,加密封装,然后将完整的证据库分割成四份同步备份——一份留在本地服务器,一份通过卫星链路上传至布里根港的离线数据库,一份写入他随身携带的第三个加密硬盘,最后一份以加密碎片的形式分散发送到分布在三个不同国家的云端节点。做完这一切,他靠在椅背上,闭上了眼睛。服务器风扇的嗡鸣声像某种低频的白噪音,填充了整个狭小的配电室。

他没有时间休息。安全部的“鹰眼”系统此刻应该已经覆盖了港口区的地面网格。他在蒸汽管道里躲过了监控,但仓库的地面结构在卫星热成像和便携式雷达的扫描下迟早会暴露他的位置。他需要离开这里,需要找到一个能把证据移交出去的安全渠道,需要——

仓库大门外传来了车辆的引擎声。

不是一辆,是两辆,也许是三辆。引擎声停下后,是车门同时关上的、整齐划一的闷响。然后是靴底踩在砂砾上的声音,从不同的方向朝仓库的大门汇聚。没有扩音器喊话,没有刺耳的警笛,只有沉默而高效的脚步声——那是特别行动处的标志。他们在包围仓库。他们已经知道他在这里了。

丹尼尔迅速切断了本地服务器与外部网络的全部连接,把第三个加密硬盘揣进内侧口袋,然后从椅子上起身,快速打量配电室内部空间。四面墙壁,没有窗户,只有头顶一个被铁条焊死的通风井。铁条的焊点还很新——那是他当年亲手焊上去的,为了加固这间配电室的防盗能力,没想到今天这道加固反而成了困住自己的牢笼。他后退一步,靠在墙壁上,心脏在胸腔里擂鼓般跳动。口袋里装着足以颠覆整个联邦安全部特别行动处的证据,手心的汗已经把硬盘的金属外壳浸得又湿又滑。他知道自己只需要一样东西——时间。不是用来逃跑,而是用来把证据发送出去。只要证据离开这间仓库,他就赢了。不论他本人是否还在仓库内。

他闭上眼睛,开始在脑海中飞速梳理仓库内部空间的结构和所有可利用的条件。仓库正门的卷帘门已经锈死了,但特别行动处的人带着爆破设备,那扇门撑不过多久。配电室是他最后的掩体,但也是一间只有一个出入口的密闭房间。通风井的铁条可以用工具撬开,但需要时间来搞定这六根被加固过的钢筋。货运电梯早已停止运行,但电梯井通向天台——电梯井道还在,梯井上端的钢制维修梯应该还没被腐蚀。

他开始设计撤离路线。

门外的脚步声越来越近了。他听出了其中一个指挥官在用手势下达指令——不是因为听到了声音,而是因为那些脚步声在同一瞬间停下了。那是特别行动处特勤队的标准战术协同模式,坦津在三年前闯入他公寓时就展示过。然后是短暂的静默。他知道那段静默意味着什么:他们在等待突破指令。

他把手伸进口袋里,摸到了硬盘的冰冷外壳,用力握了握。然后他睁开眼睛。

他知道该做什么了。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注