回程走了四个小时。
星铸拆解、装车、苫布盖好,面包车在矿区烂路上颠。陆辰坐在副驾,膝盖上摊着终端,信号的全部录音已经在本地存储里了——两小时十七分钟,四千六百多个完整周期。
他一路都在看波形。
看波形的人看不出表情,但方锐知道他在看什么。副驾这个位置,三小时前坐上去的还是个满身汗、满嘴电缆皮味、眼睛亮得像新兵的年轻人;现在那个人一句话没有,把终端捧得像捧一碗满出来的水,路再颠,手腕纹丝不动——怕洒。
方锐把车开得比来时慢。六十公里的烂路,他挑着坑走。
方锐开车,从后视镜里瞟了他不下十次。这小子从驾驶舱出来就不对劲,话没了,脸色是那种纸一样的白,眼睛却亮得吓人——方锐在部队见过这种眼神,新兵第一次真枪实弹摸哨回来,就是这个样子。
"怎么了?"方锐终于问。
"没什么。"陆辰说。
方锐没追问。当过兵的人懂规矩:有些事,问了不说,是还没想好怎么说;等他想好了,你不问他也会说。逼,只会把人逼回去。
面包车进了废料场,停在三号车间门口。卸车、组装、供电——两个人配合得已经不需要语言。等星铸重新在车间中央立定,方锐收拾工具箱准备走,走到门口又被叫住了。
"方叔。"陆辰说,"帮我个忙。今晚别走,帮我看着点车间。我要做一组分析,不确定会做到几点,也不确定……中间会不会出状况。"
方锐把工具箱放下,在门口那把破藤椅里坐了。
"去。"他说。
陆辰在工作台前坐下。他先做了两件事:把车间对外的全部线路切到物理断开——网线拔了,无线模块的供电保险拔了,手机关机塞进了铁皮柜;把父亲笔记本的扫描件调出来。
扫描件是他十五岁那年做的,一页一页拍的照片,像素很差,父亲的字迹在照片里糊成灰色的蚯蚓。这些年他把这份扫描件存过软盘、存过U盘、存过云盘、最后存进星铸——存到哪儿都像揣着一块烧红的炭。今晚这块炭要派用场了。
笔记本第四十三页到第七十一页,是空间相位调制的完整编码协议。当年他只啃懂了前三层,后面五层——尤其是一个叫"相位锚定"的校验机制——他一直没吃透。今晚他吃透了。不是他变聪明了,是那个信号逼着他吃透:信号在重复里嵌着校验段,四千六百个周期,校验段始终指向同一个解。
写代码的过程像和父亲隔着十二年配对暗号。协议的第六层有个约定,注释里父亲写:"此处若有人读到,说明你走对了。慢慢来。"陆辰读到这一行的时候,手指在键盘上停了很久。他十二年来第一次对着一份代码鼻子发酸——不是因为难过,是因为那句"慢慢来"。写代码的人是知道会有人来读的。他把耐心写进了协议里。
他把父亲的协议写成解码器,喂给那段录音。
写代码的间隙,他做了一件多余的事:把信号的第一组七个脉冲,对着协议的字母表查了一遍。查出来是个问句的开头。第二组也查了,第三组没查——他强制自己合上了字母表。没有全部解完之前,零碎的字比没有字更折磨人。像猜一条短信,猜到一半的人最疯。
进度条爬得很慢。CPU是攒的,散热风扇的声音像一架要起飞的飞机。陆辰坐在那儿等,手指在工作台上敲,敲着敲着停了——他发现自己在数,七个一组,手在桌上敲那种节拍,敲了不知道多久。
等到一点多,第一层还剩最后一段。他起身烧了壶水,泡了两包方便面——老刘给的那种,堆着料包的那种。吃面的时候他把母亲的照片从口袋里拿出来,立在汤碗旁边,像小时候她盯着他吃晚饭那样,也让她"看看"今晚这碗。汤有点咸。他吃得很干净。
凌晨两点四十,解码跑完第一层。
匹配率,97.3%。
匹配率是拿解码结果和协议的数学期望对比算出来的。自然噪声的匹配率,理论上限不超过11%——因为相位关系是随机的。人为伪造的信号想骗过校验段,需要先知道协议本身。
而全世界知道这份协议的人,理论上只剩一个。
写下它的那个人。
陆辰靠在椅背上,很慢很慢地呼了一口气。
他的手放在键盘旁边,不抖了。下午在驾驶舱里它们抖得握不住操纵杆,现在反而不抖了——因为"可能"变成了"是"。人在面对"是"的时候,反而会静下来。这是他做实验做出来的经验:第七次失败之后,人哭;第八次成功之后,人只是把数据誊清楚。
父母没有死。
密封箱里没有遗体,官方的事故报告没有现场照片,葬礼上外婆哭到被人架走——而这些年,他们就在老鸦峡地下三百米,用一种只属于父亲的编码,一遍一遍地、向着不知道有没有人的地面,敲着同一句话。
十二年。四千三百八十天。他把每一天都过成了"没有"的日子——没有消息,没有线索,没有下一页。现在"没有"塌了。塌下来的地方露出一个洞,洞里有光,光的方向朝下。
陆辰在草稿纸的背面,把接下来的事列了一个单子。字很挤,一行压着一行:采样,更多采样;解码,剩下的五层;下井的路线和装备;深空矿业——写到这三个字,他停住,笔尖把纸戳出一个洞。
还有那句话。信号里那句话还没有解完。第一层只解出了骨架,不是内容。他不知道那句话是什么——求救,告别,还是警告。在解出来之前,一切都只能按最好的方向猜。人就是这样的,熬得住坏消息,熬不住没有消息。
信号还没有完全解开。剩下几层需要更强的算力和更多的采样——那是以后的事。今晚,97.3%已经足够了。宇宙间没有第二个97.3%。
陆辰把解码结果存了三份:本地一份,加密盘一份,还有一份打进了星铸的核心,和能量管理的底层程序放在一起——那是全世界他最信得过的一块存储,因为那块存储的每一颗螺栓都是他自己拧的。
然后他站起来,走到车间门口。
方锐没睡,在藤椅里坐着,黑暗里只有窗外废料场的远处一点灯。
"方叔。"陆辰说。
"嗯。"
"矿底下那个信号,"陆辰说,"是我爸发的。"
黑暗里安静了很久。久到陆辰以为他没听懂。
然后方锐开口了,声音哑得像砂纸擦过铁皮:
"……我就说。"他把耳朵上的烟拿下来,捏在指间,"你拧螺栓那手法。那不是技校教的,也不是看视频学的。那是从小有人拧给你看,你看着看着就长到手上的。"
他顿了顿。
"我认识一个拧一辈子这手法的老兵。"方锐说,"他还活着的话,也该有 你爸 这个岁数了。"
陆辰站在门口,没接话。有些线,两个人都碰到了头,但都没往下拽。还不到拽的时候。
"你打算怎么办?"方锐问。
"先查。"陆辰说,"信号从-300以下出来,那地方十年前被深空矿业封了。我爸在那底下,封他的人还在这上面开公司、发年报、雇人跟踪我。方叔,这不是救援,这是一场仗——我得知道对面是谁,有多少人,手里有什么。"
"然后呢?"
"然后造一副能下去的身体,带够帮手,把我爸妈接上来。"
方锐在黑暗里笑了一声。不是笑话他——当过兵的人听作战计划,笑是认可的意思。
"十二年了。"他说,"老鸦峡那道封门后面要真有活人,那这十二年是拿什么熬的,我都不敢想。"他把烟重新夹回耳朵上,站起身,把藤椅往墙边一靠,"睡四个钟头。天亮以后,把矿图给我送来——原件。我从-150的应急通道开始给你捋,哪儿能站人,哪儿能藏人,哪儿一脚下去就是个透底的天井。矿上的东西,图上看不全,得用命换过的人讲。"
这一夜,两个人一个坐在门口,一个坐在工作台前,谁也没再说话。车间中央,星铸静静地立着,核心的待机灯一明一暗,一明一暗,像某种巨大的、耐心的呼吸。
方锐守夜守得很有章法。他不坐门口正对的位置——正对的位置是来人第一眼会扫的——他坐在侧后方工具柜的影子里,藤椅半躺,眼皮搭着,像睡着。陆辰凌晨去倒水,才发现他每二十分钟睁一次眼,睁开的瞬间,目光会把铁皮缝、天窗、大门三个点各扫一遍,不到两秒,又合上。这不是熬夜,这是值班。矿上三个月倒一次的夜班,把这个人的睡眼训练成了一台雷达。
陆辰回到工作台前,把矿图原件摊开压平。图摊开的那一刻他忽然意识到:从明天起,这张图就不再是一张地图了。它会变成一份作战计划的底稿。而所有作战计划的底稿上,最后都要落东西——名字,日期,有时候是别的什么。
他拿出铅笔,在图纸的空白边角上,轻轻写了一行小字:*先看路,再算账,最后看人心。*
这是他今晚自己给自己立的规矩。前两样他都会。最后一样,他还得学。