第 8 章
时间锚点
打印机吞吐着纸张,在寂静的主控室里发出规律的嘶嘶声,程默的目光锁定在刚刚输出的那行数字上:“强制启动时长:00:03:08”。
油墨的气味,干燥而略带刺鼻,在冷气循环的空气中缓慢扩散。打印纸从机器里滑出,边缘还带着微微的热度。程默用指尖捏住纸张一角,将其抽离,动作很轻,像在处理某种易碎的证物。
主控室的大屏幕泛着幽蓝的冷光,分割成数个监控窗口和实时数据流。服务器阵列在墙角的机柜里持续发出低沉的嗡鸣,是这片寂静里唯一的背景音。程默坐在控制台前,指尖敲击键盘,调出最高权限日志。屏幕上的曲线图刚刚被他导出并打印——那是案发当晚,备用发电机的启动负载曲线。
系统提示需要双重验证。他插入自己的权限卡,又在弹出的虚拟键盘上输入一组动态口令。验证通过的绿色字符跳了出来。记录显示,当晚21:47:33,主供电线路监测到一次“异常波动”——记录用的词很模糊,像是有意为之。三秒后,21:47:36,备用发电机被“强制启动”。
不是自动切换。是强制启动。
他盯着那四个字,后背不自觉地绷紧。手指移向触摸板,将日志页面往下拖。
程默的视线落回打印纸上那行精确到秒的时间戳,以及后面跟着的持续时间:三分零八秒。21:47:36启动,21:50:44停止,发电机重新切换回主供电。
三分零八秒。
他拉开控制台右手边的抽屉,取出一个棕色硬壳笔记本——这是他自己用来记录日常观测和工作要点的本子,封皮边缘已磨损发白,与师兄那本专用于归档观测数据的日志不同。程默快速翻到中间一页,那里贴着那张对折的排班表。他用指尖压平纸张的折痕,目光移向旁边用红笔写下的零散记录:
供电日志:案发时段(约21:47-21:50)存在模糊“波动”。
望远镜记录:同一时段,镜筒异常转向东北方低空(非计划天区)。
林远证词:听到发电机启动声,时间描述模糊(“迷迷糊糊”)。
赵海峰证词:当晚在主控室核对数据,约21:47听到异响,全程未离开。
现在,程默在“供电日志”那一行旁,用红笔写下新注释:“强制启动,00:03:08”。笔尖一顿,墨水在纸面洇开一个小点。他盯着那个点,指尖无意识地在桌沿敲了敲。这时,控制台外接的UPS突然发出一声轻微的切换蜂鸣,他肩膀一紧,随即放松——只是市电的正常波动。他深吸一口气,合上本子,将它塞回抽屉。
三分零八秒。一个足够精确、无法被简单归为“设备故障”或“记录误差”的时间窗口。观测站的备用发电机启动程序他熟悉——从强制启动指令发出,到发电机达到稳定输出,需要大约四十秒。之后的两分多钟,是全站供电由发电机独立支撑的时间。而在这段时间里,主供电线路理论上处于“离线检修”状态。
他手指敲击桌面的节奏加快。关键在于:供电系统的切换会导致局部网络的授时同步产生毫秒级的微小漂移。是毫秒级,不是分钟级。这两者的差异,或许就是拼图中缺失的那一小块。他需要验证这个可能性。
程默将打印纸平铺在控制台上,从裤袋里摸出那个U盘,插入控制台侧面的USB接口。屏幕弹出一个文件浏览窗口,他找到几天前深夜潜入时截取的望远镜指向记录截图。文件名标注着日期和时间:正是案发当晚。
程默将打印纸平铺在控制台上,从裤袋里摸出那个U盘,插入控制台侧面的USB接口。屏幕弹出一个文件浏览窗口,他找到几天前深夜潜入时截取的望远镜指向记录截图。文件名标注着日期和时间:正是案发当晚。
他打开截图,放大时间戳区域。
望远镜伺服系统的记录精度是百分之一秒。截图显示,在21:48:12,望远镜的赤经轴和赤纬轴同时执行了一次非计划的微小调整,指向从原定的天鹅座天区,偏移了大约七度,指向东北方低空。调整持续了十二秒,然后镜筒又缓缓移回原位置。
21:48:12。
程默低头看发电机启动曲线。21:47:36启动,21:48:12是什么时候?三十六秒后。那时发电机应该已经进入稳定输出阶段。
他拿起红笔,在打印纸的空白边缘快速计算:21:48:12减去21:47:36,等于三十六秒。他写下这个数字,又在旁边画了一个箭头,指向望远镜记录截图上的时间。
然后他停住了。
三十六秒。发电机启动后的第三十六秒,望远镜执行了一次异常转向。这能说明什么?巧合?还是某种……信号?
窗外的风声突然加大,像是有什么东西在撞击建筑外墙。程默抬起头,主控室巨大的观察窗外是漆黑一片的雪山之夜,玻璃上倒映着室内屏幕的冷光和自己的侧影。而在那倒影的边缘,一个更高大的轮廓无声地出现在门口。
程默的肩膀瞬间绷紧,脊椎像被灌入了一股冰水。他没有立刻回头,手指在键盘上敲下几个无关的指令——调出了当前望远镜的实时状态界面。屏幕上的曲线变成了平滑的跟踪数据。
脚步声在地毯上被吸收,几乎听不见,但程默能感觉到有人在靠近。他放缓呼吸,用眼角余光确认来人的身份。
深蓝色的站服,袖口熨烫得笔挺。赵海峰。
“这么晚还在主控室?”赵海峰的声音从身后传来,平稳,听不出情绪。
程默转过身,控制椅的转轮在地板上发出轻微的摩擦声。赵海峰站在控制台两米外的地方,双手背在身后,站姿如同平时开会时一样端正。他的目光掠过摊开的打印纸,扫过屏幕上显示的望远镜实时状态,最后回到程默脸上。
“核对下周的观测计划,”程默说,声音比他预期的要平稳,“有几个天区的信噪比需要重新估算。”
赵海峰向前走了两步,停在控制台边缘。他的手指在金属台面上轻轻敲了敲,节奏很慢。“估算。”他重复这个词,目光落在打印纸上密密麻麻的坐标数字间。
程默等待着。这是一个合理的解释——工程师在非值班时间进入主控室处理数据,虽然不常见,但也不违规。关键在于细节会不会被追问。
赵海峰俯身,手指点在其中一行记录上。“这个天区,”他说,“上周的云层覆盖数据,后勤那边还没更新。”
“我会标注出来。”程默拿起笔,在纸页边缘做了个记号。笔尖划过纸张的声音在安静的机房里显得格外清晰。
赵海峰向前走了两步,停在控制台边缘。他的手指在金属台面上轻轻敲了敲,节奏很慢,像在思考什么。然后他俯身,看向那张打印纸。
“这是什么?”他问,语气依然平稳。
“备用发电机的历史负载曲线,”程默说,手指在键盘上敲了几下,调出了曲线图的原始数据界面,“前几天不是有一次供电波动吗?我在想,这种波动对高精度观测有没有累积影响。尤其是对CCD的读出噪声。”
他用了专业术语。CCD读出噪声,这是望远镜成像系统的关键参数之一,供电不稳确实可能对其产生微妙影响。这个解释在技术上成立,而且听起来像是一个工程师在尽职尽责地排查潜在问题。
赵海峰的目光在打印纸上停留了几秒。程默注意到他的视线在那行“强制启动时长:00:03:08”上多停了一瞬,但脸上没有任何表情变化。
“有结论吗?”赵海峰直起身,双手重新背到身后。
“还在分析,”程默说。他快速瞥了一眼屏幕,确认所有界面都已切换回常规工作台。“波动时间很短,影响可能很微弱。但我打算把最近三个月类似波动的记录都调出来,做个相关性统计。”他说得很自然,甚至带着一点技术探讨的语气——这是他事先准备好的说辞。
赵海峰点了点头,手指在台面上敲了敲,节奏快了一点。“有心了,”他说,“不过供电系统的事,主要还是后勤负责。你如果需要历史数据,可以找小王要完整的维护日志,比系统自动记录的可能更详细。”
程默听出了另一层意思:赵海峰在暗示他应该走正规渠道,而不是私下调取日志。“好,我明天问问小王。”程默应道,同时在心里记下:他在引导调查方向。
“好,我明天问问小王。”程默说,同时在心里记下:赵海峰在引导调查方向。
短暂的沉默。主控室的冷气出风口发出持续的低鸣,窗外的风声时大时小。赵海峰没有离开的意思,他的目光再次扫过程默面前的屏幕、打印纸,最后落在那个摊开的笔记本上。
笔记本摊开的那一页,正好贴着排班表。虽然从赵海峰的角度可能看不清具体内容,但一定能看到那是一张手写的表格。
程默的手指微微收紧,指节抵在控制台边缘。他没有动,也没有合上笔记本。合上反而显得可疑。
“你师兄的事,”赵海峰突然开口,声音压低了一些,“我知道你心里放不下。”
程默抬起眼,看向赵海峰。站长的脸上是一种混合着疲惫和关切的复杂表情,眉头微微皱着,眼神却依然锐利。
“但有些事,过去了就让它过去吧。”赵海峰继续说,语气变得语重心长,“站里现在需要稳定。封山还不知道要持续多久,大家情绪都不高。你再这样……钻牛角尖,对你自己,对站里,都不好。”
“我没有钻牛角尖,”程默说,声音很轻,“只是在做该做的事。”
“该做的事是保证观测任务正常进行,是维护站内的秩序和安全。”赵海峰的语气稍稍加重,“而不是反复去翻一件已经定性的事故。现场我们都看过,证据链完整,没有疑点。你这样,会让其他同事怎么想?他们会觉得你不信任站里的判断,不信任……我们。”
“我们”这个词,他说得很重。
程默没有说话。他看着赵海峰的眼睛,试图从那片深潭里读出点什么。但赵海峰的眼神太稳了,稳得像一堵墙,把所有情绪和意图都挡在后面。
“站长,”程默开口,选择换一个角度,“案发那晚,您在主控室核对数据,对吗?”
“对。”赵海峰回答得毫不犹豫。
“整个过程都没有离开?”
“没有。从晚上八点半到十一点,我一直在这里。小沈可以作证,她中间进来送过一次资料。”赵海峰说,语速流畅,细节具体,“八点四十五分左右,我接到气象组的电话,说北坡风速可能超标,让我确认一下圆顶是否完全闭合。我查了记录,确认闭合了。九点十分左右,小沈进来。九点二十,我听到备用发电机启动的声音——很轻微的嗡鸣,从楼下传上来。我当时还看了一眼供电状态屏,显示主线路波动,发电机已切入。大概三分钟后,嗡鸣声停了,供电切回主线路。之后我就继续核对数据,直到十一点回宿舍。”
他一口气说完,时间点精确到分钟,事件顺序清晰,逻辑闭环。甚至提到了“供电状态屏”这个细节——那是主控台左侧的一个专用显示器,实时显示全站供电拓扑和负载情况。
程默听着,手指在控制台边缘轻轻摩挲。赵海峰的证词太完美了。完美得不像一段回忆,更像一份事先准备好的陈述稿。
“您听到发电机启动声,是九点二十?”程默问,语气尽量随意,像只是确认一个无关紧要的细节。
“对,九点二十左右。”赵海峰说,但这次加了一个“左右”。
“左右是多少?前后大概差几分钟?”
赵海峰微微眯起眼,似乎在回忆。他的手指无意识地敲击着台面,嗒,嗒,嗒。
“具体记不清了,”他说,“但肯定是在九点二十前后。因为小沈是九点十分进来的,她待了大概七八分钟离开。她走后不久,我就听到了声音。”
又是细节。用另一个事件(小沈进来)来锚定时间,让证词显得更可信。
程默点点头,没有再追问。他知道再问下去,赵海峰只会给出更多完美的细节,而这些细节只会让他的证词看起来更无懈可击。
“我只是随口问问,”程默说,将视线移回屏幕,“供电波动的时间点如果精确,对分析噪声影响有帮助。”
“嗯。”赵海峰应了一声,没有再多说。
又是一阵沉默。这次持续了更长的时间。赵海峰站在原地,目光在程默和主控室的环境之间缓缓移动,像是在评估什么。程默能感觉到那种审视的视线,像某种无形的探针,试图穿透他的表面,刺探他真正的意图。
最后,赵海峰叹了口气。那叹息声很轻,但在寂静的主控室里清晰可闻。
“小默,”他说,语气突然变得有些疲惫,“我知道你和师兄感情好。他走了,你难受,我理解。但人得往前看。站里现在需要的是团结,是每个人各司其职,把这段封山期平安度过去。你师兄如果在,也一定希望你能好好工作,别被这件事困住。”
程默的手指蜷缩起来,指甲陷进掌心。痛感很清晰。
“我明白。”他说,声音干涩。
“明白就好。”赵海峰拍了拍他的肩膀,力道不轻不重,“早点休息。数据分析不急于一时。”
说完,他转身朝门口走去。脚步声再次被地毯吸收,直到他的身影消失在走廊拐角。
程默坐在控制台前,一动不动。
肩膀被拍过的地方,还残留着一种异样的触感。不是温度,而是一种……压力。赵海峰的手落下时,他感觉到那五根手指的力道分布并不均匀——拇指和食指的按压更重,像在传递某种警告。
他缓缓吐出一口气,这才发现自己的呼吸一直很浅。主控室的冷气似乎更冷了,顺着领口钻进去,贴着皮肤蔓延。
程默重新看向那张打印纸。“强制启动时长:00:03:08”。红笔写下的注释像一道新鲜的伤口。
他想起赵海峰的证词:九点四十七分左右听到发电机启动声,持续三分钟左右。
但系统日志记录的是:21:47:36启动,21:50:44停止。
如果赵海峰在主控室,他听到的声音时间理应与系统记录基本一致。但他给出的“左右”和精确到秒的日志,存在几秒的微小偏差——这与林远回忆中的微小偏差如出一辙。
然而,后勤日志里那三分钟零八秒的强制启动记录,与主控室系统的时间戳之间,是否也存在某种未被察觉的错位?这或许不只是记忆误差。
程默的呼吸停了一瞬。他迅速抓过笔记本,翻到空白页,用红笔写下两行时间:
系统记录:21:47:36启动
赵海峰回忆:约21:48听到
差约30秒。
这不可能是简单的记忆误差。三十秒,也足够做很多事。更何况,赵海峰在证词里还提到了其他锚点事件:小沈九点四十分左右进来,七八分钟后离开,之后不久听到声音。如果小沈的进出时间属实,那么赵海峰听到声音的时间,确实应该在九点四十八分前后。
那么,问题来了:是系统记录的时间错了,还是赵海峰的回忆错了?或者……赵海峰听到的根本不是发电机启动的声音?又或者,这三十秒的偏差本身,就是某种技术性干扰的结果?需要仔细梳理:需要将发电机启动日志,与望远镜异常转向记录、供电波动的模糊备注放在一起比对;需要确定这些事件是否真的发生在同一个精确的时间窗口内;需要验证,是否存在某种手段,能让主控室的时钟服务器与部分现场设备之间,产生短暂却系统性的时间记录差异。
程默盯着那两行数字。窗外的风声又响了起来,这次像是贴着玻璃刮过,发出尖锐的嘶鸣。主控室的灯光在玻璃上反射出模糊的光晕,那光晕微微晃动,像有什么东西在外面注视着他。
他关闭了屏幕上的望远镜实时状态界面,重新调出备用发电机启动日志的原始数据文件。文件是纯文本格式,每一行都是一个时间戳加一条状态记录。他滚动到案发当晚的区段,逐行查看。
日志的生成机制他清楚:观测站有一个主时钟服务器,通过卫星信号授时,理论上与UTC同步误差在毫秒级。所有关键系统——供电、望远镜、环境监测——的日志时间戳,都取自这个主时钟服务器。但主时钟偶尔会“跳秒”,这是已知的系统缺陷,跳幅通常在几十毫秒到几百毫秒之间,不会超过一秒。
一秒。不是二十七分钟。
程默的目光在日志文件上快速移动。他注意到,在21:47:33那条“主线路异常波动”记录之前,大约有十五分钟的时间,日志条目非常稀疏,只有几条常规的心跳检测记录。而在21:47:33之后,日志突然变得密集起来:发电机启动自检、负载切换、电压稳定、输出监控……一连串记录在三分零八秒内密集生成。
然后,在21:50:44,发电机停止,日志密度又恢复到之前的稀疏状态。
这种模式……程默皱起眉。他调出案发前一周同一时段的日志作为对比。对比日志显示,在没有异常波动的夜晚,供电系统的日志条目分布是均匀的,每隔三十秒一条心跳记录,偶尔有负载微调记录,但绝不会出现长达十五分钟的“稀疏期”,然后突然密集三分多钟,再恢复稀疏。
这不正常。
程默的指尖在控制台边缘敲击,节奏很快。他在脑中快速推演:如果有人在那个晚上,对供电系统的日志生成机制做了手脚?比如,暂时屏蔽了日志记录,只在特定时段允许记录?或者更简单——篡改了主时钟服务器对供电系统的时间授时?
篡改时间。
这个念头像一根冰刺,扎进程默的思维深处。
他猛地抓起那个U盘,退出供电日志界面,打开另一个文件夹。里面是他之前保存的个人文件备份,包括一些工作照片、文档草稿。他快速翻找,找到一张照片——那是案发前三天,他在圆顶观测室调试设备时随手拍的一张仪器面板照片。照片本身无关紧要,重要的是它的EXIF信息。
程默用图片查看软件打开照片,调出属性详情。EXIF信息栏显示着拍摄时间:案发前三天,晚上20:14:22。
他记下这个时间。然后,他打开观测站内部的工作日志系统——那是一个基于网页的协同平台,所有工程师的工作记录都会在上面更新,每条记录都有服务器时间戳。他找到自己在那天晚上提交的一条调试报告,报告内容与那张照片对应。报告提交时间:20:17:05。
差了两分四十三秒。
程默的呼吸再次停住。他调出另一张照片,另一份报告,时间差在两到三分钟之间。再换一组,还是两到三分钟。
不是偶然。
他快速心算:发电机强制启动持续三分零八秒。他的个人设备(手机)时间戳与站内服务器时间戳的系统性偏差,平均在两分五十秒左右。
接近。非常接近。
程默向后靠进椅背,控制椅的靠背发出轻微的吱呀声。主控室的冷光从头顶洒下,在他脸上投下深深的阴影。他看着屏幕上并列的两个窗口:左边是照片EXIF时间,右边是服务器记录时间。中间是那道无法解释的、持续存在的两到三分钟的鸿沟。
而这道鸿沟,与备用发电机强制启动的三分零八秒窗口,长度惊人地相似。
不是巧合。
绝不可能是巧合。
程默感觉一股寒意从脊椎底部升起,爬满整个背部。他环顾主控室——整齐排列的控制台、稳定闪烁的指示灯、屏幕上流动的数据流。一切秩序井然,遵循着精确的规则和程序。但在这秩序表层之下,有什么东西被篡改过。时间被篡改过。
凶手不仅利用了发电机启动的三分钟物理窗口。凶手还同步篡改了某些设备的系统时间——或者更准确地说,凶手通过干扰特定设备的网络时间同步协议,或篡改了主时钟服务器对部分子系统的授时,制造了一个短暂的时间记录差异区间。
三分零八秒。这就是那个差异区间的持续时间。
程默的指尖开始发冷。他想起师兄常说的一句话:“找到那个‘不会骗人’的基准点。”现在他找到了吗?备用发电机的强制启动记录是物理事件,它的持续时间客观、无法篡改——只要发电机的硬件计时器未被动手脚。而个人设备的时间戳偏差是另一个客观证据,证明那段时间里,站内的时间基准出现了问题。
两个客观证据,指向同一个结论:案发当晚,存在一个大约三分钟的时间窗口,在这个窗口内,观测站的时间基准发生了系统性偏移。
凶手就是利用这个窗口,完成了谋杀。
但具体怎么做到的?如何在三分钟内,让一个人从室内走到室外观测平台,完成推搡或诱导坠落,再返回室内,同时让所有证人都有完美的不在场证明?
程默的思维飞速运转。他想起望远镜的异常转向——在发电机启动后的第三十六秒。那是不是某种信号?或者……某种掩护?
还有林远。林远说他“迷迷糊糊”听到发电机启动声。如果时间基准被篡改,林远实际听到声音的时间,可能根本不是他回忆中的时间。他的记忆被扭曲了。
而赵海峰……赵海峰给出了过于完美的证词,但证词中的时间点(九点二十)与系统记录(二十一点四十七)相差二十七分钟。这二十七分钟的偏差,是因为赵海峰的手表或感知时间被篡改了,还是因为他根本就在撒谎?
程默的太阳穴开始抽痛。信息太多,碎片太多,它们像一堆散落的齿轮,每个都在转动,但还没有咬合在一起。
他需要更多数据。需要验证。
他关掉所有窗口,拔出U盘,将打印纸对折两次,塞进笔记本的内页夹层。然后他合上笔记本,站起身。控制椅的轮子在地板上滚动,发出轻微的声响。
主控室的门自动滑开,走廊的灯光比室内昏暗得多。应急灯每隔十五秒闪烁一次,将他的影子拉长、缩短、再拉长。
程默沿着走廊朝宿舍区走去。脚步声在空旷的通道里回荡,每一步都像踩在某种脆弱的冰层上。他能感觉到自己的心跳,很快,很有力,撞击着胸腔。
回到宿舍,关上门。狭小的空间里只有书桌上一盏台灯亮着,光晕在墙壁上投出一个温暖的黄色圆圈。窗外是彻底的黑,雪山的轮廓融在夜色里,看不见。
程默在书桌前坐下,打开笔记本,翻到最新一页。他拿起笔,笔尖悬在纸面上方。
然后他写下:
“3分08秒 = 可能的系统时间篡改窗口?”
字迹很稳,但墨迹比平时深。
他盯着这行字看了很久。台灯的光将他的影子投在纸面上,随着呼吸微微晃动。
三分零八秒。这不仅是凶手可利用的时间,也可能成为他自己揭露真相的“钥匙”。但钥匙也是陷阱——如果他公开质疑时间被篡改,就必须解释清楚篡改的机制、篡改的范围、以及谁能做到。而他现在还没有完整的答案。
他需要更多证据。需要验证那个“时间扭曲区”的具体影响范围。需要知道,除了他的个人设备,还有哪些设备的时间戳出现了偏差。需要知道,望远镜的异常转向到底意味着什么。需要知道,林远和赵海峰,谁的证词更接近被篡改前的真实时间。
程默靠向椅背,台灯的光晕在他脸上晃动。宿舍很安静,能听到暖气管道里水流过的微弱声响。但在这片寂静之下,他感觉有什么东西正在逼近。像雪崩前的低鸣,像冰层开裂前的细响。
调查已经从盲目搜集线索,进入了有假设驱动的主动验证阶段。而他知道,从这一刻起,每一步都可能踩中陷阱。
他拿起手机,调出那张仪器面板照片。EXIF时间戳在屏幕角落闪烁:20:14:22。
三分零八秒的偏差。一个幽灵般的时间窗口。
程默将手机屏幕按灭,放在桌面上。黑暗重新吞噬了那个时间数字。
他需要睡一会儿。哪怕只是闭眼休息几个小时。明天,他要开始验证。