第12章 · 重逢与别离
陆远在拉各斯多待了两天。
原本的计划是搭货机返回深圳,但阿米娜说有一批新到的加密固件需要在地面端做一次实测,而整个西非海岸线上能读懂QKD信道数据的人五个手指就数得过来——她自己是其中之一,但她承认自己老了,手指没有以前稳了。陆远没有拒绝的理由。女儿那边他通过一条加密文字通道给沈姐发了一条消息,沈姐的回复很简短:「她很好。药按时吃了。问爸爸什么时候回来。」
他回复:「后天。」
然后他把手机锁进法拉第袋里,跟着阿米娜派来的约瑟夫去了码头区的鸽子网络节点。
节点设在一栋殖民地时代留下的砖混建筑里,距离阿帕帕港口的集装箱堆场大约四百米。外墙的白色涂料已经大面积剥落,露出底下被热带潮湿气候侵蚀成褐色的砖面。二楼的窗户大多数是破的,用塑料布和胶带临时封住。从外面看,这栋楼和拉各斯港口区那些被废弃或半废弃的仓库没有任何区别——事实上它确实是一座被废弃的仓库,直到一年前阿米娜的人用现金租下了它,在底层隔出了一个恒温恒湿的工作间。
工作间里放着三台设备:一台改装过的星链地面站终端(外壳被拆掉了,露出内部的电路板,用扎带固定在一块亚克力板上)、一台信号分析仪(型号比陆远在华强北借的那台旧了一代)、以及一个正在运转中、发出低频嗡鸣的冷却风扇,对着一个大约鞋盒大小的黑色金属盒吹。
那台金属盒是新的SkyWalker协议固件测试样本——不是法尔汉在深圳那台一样的原型机,而是阿米娜在拉各斯用当地可获取的元器件独立复制的第二台。外壳是手工焊接的,焊点不如法尔汉那台精致,但更扎实,像是用多了百分之二十的焊锡来确保接头永不松动。
陆远蹲在那台机器前面,正在用万用表测量电源模块的输出纹波。信号分析仪屏幕上滚动着实时频谱数据,他余光扫着那些曲线,手指调节着可调电容的旋钮,试图把本振信号的相位噪声压低到SkyWalker协议能接受的范围。
他太专注了,以至于没有注意到门口的光线暗了一下。
“你的电源模块用的电容是普通铝电解——高频特性不好。换钽电容,纹波能再降一个数量级。”
声音是女声,英语带有轻微的东欧口音,语调平淡得像在陈述一句已经被验证过无数次的工程常识。
陆远抬起头。门口站着一个白人女性,大约二十多岁,棕色长发扎成低马尾,穿一件深灰色的速干T恤和工装裤,背着一个黑色的帆布工具包,包的外侧插着一卷线缆和一台手持频谱仪。她的肤色被热带的阳光晒成了浅小麦色,鼻梁上架着一副防尘护目镜,此刻被推到了额头上。
她看起来不像阿米娜的雇员。但她显然不是误入这栋废弃仓库的路人——她背上的那台手持频谱仪是改装过的,天线接口处加装了一个非标的低噪放大器模块,不是市售的配置。
“你是?”陆远问。他把万用表的表笔从电路板上拿开。
“米娅。”她说,走进工作间,把工具包放在桌上,“柏林来的。阿米娜让我来取那份固件样本的复制件。”
陆远看着她把频谱仪从工具包里取出来,连接到一个他没见过的小型解码器上——解码器的外壳是3D打印的,侧面还有几行没打磨干净的支撑材料痕迹,但内部的电路布局非常整洁,走线比他见过的大多数业余设计都要规整。
“你也是数据党的?”他问。
“算是。”她说这个词的时候有一种奇怪的模糊感,像是在说一个她不反感但也不完全认同的标签,“我是柏林分部的联络员。法尔汉你应该认识——他是我们那边最核心的人。”
“法尔汉帮过我。”陆远说,没再多问。
他重新把注意力转向那台金属盒。万用表的读数还是不太理想——电源纹波比SkyWalker协议要求的阈值高了大约百分之十二。他关掉万用表,伸手去拿桌上的工具盒,想换一个滤波电容试试。
“你用的参考地不对。”米娅在他身后说。她没走过来,只是站在工具包旁边,目光落在他面前的电路板上,“你测量纹波的时候,参考地夹在了电源输入端的负极。但SkyWalker的调制电路对参考地的位置极其敏感——你应该把参考地夹在调制芯片的接地焊盘上。差大概三毫伏的压降。”
陆远停了一下。他没有回头看她,但他把万用表的参考地夹子从电源负极取下来,夹在了调制芯片的裸露接地焊盘上。重新测量。
纹波读数从之前的数值降了下来——刚好落在SkyWalker协议的阈值范围内。
他放下万用表,转过头看着她。他忽然意识到,从她走进来到现在不过几句话的时间,她已经准确地判断出了他在调试什么问题、用的是什么测量方法、以及错误的测量方式导致了一个实际上不存在的问题。
“你对这套系统很熟。”他说。这不是疑问句。
“我读过法尔汉的源码。”她说,语气平淡,但接着又补充了一句,“大部分是我自己试着重构的——法尔汉的代码注释太少,他的编码习惯不太好。”
陆远没有接话。他在心里快速评估了一下这句话的分量。法尔汉的SkyWalker协议源码大约四万行,包括QKD信道的调制解调器、空洞编码器、纠错层和路由接口,其中任何一部分都需要同时对量子光学、CDMA物理层和嵌入式系统编程有足够深度的理解才能独立重构。
他在华为201所的时候见过一些年轻的天才。但面前这个人——她看起来不超过二十六岁——说她“大部分自己重构了”,语气像在说一件没什么大不了的事。
“你在柏林做什么?”陆远换了一个问题。他蹲下来重新整理工作台上的线缆,用一种随意的语气掩饰他的好奇。
“联络员。替柏林和拉各斯之间的鸽子线路做技术协调。法尔汉在深圳搞研发,阿米娜在西非管物流和硬件生产,有人需要在不触发星链监控的前提下让两条线之间的信息流保持同步。”她打开那台3D打印的解码器,把自己的手持频谱仪接了上去,“那就是我的工作。”
她按下了频谱仪的测量键。屏幕上开始滚动出一行行解码后的数据——QKD光子到达时间差的噪声空洞模式,被她的设备成功提取并翻译成了二进制序列。第一个传输完整的数据包显示出一行文本:
「SKYWALKER · LAGOS NODE #1 · SIGNAL ACQUIRED · SNR 11.7dB」
“信号质量比你那台原型机要好。”她说,嘴角带着一个非常浅的、几乎算不上微笑的弧度,“你换电容的决定是对的。”
陆远看着那个信噪比读数。11.7dB——比法尔汉在深圳测到的数值高了大约1.2dB。这个提升在他的预期之内,但看到它被另一台设备独立确认,他心里那块关于SkyWalker可用性的石头又松动了一些。
“你在哪里学到的QKD?”他问。
米娅关上频谱仪,没有立刻回答。她把手持频谱仪放进工具包,拉上拉链,然后说了一句话,语气比之前轻了一些:
“我父亲是搞通信的。”
“他是做什么的?”
“以前在贝尔格莱德大学教通信工程。后来给一家公司做协议架构。”
“你跟他学的?”
米娅的手停在工具包的拉链头上。那个停顿很短——不到一秒钟——但陆远捕捉到了。
“他死了。”她说,简短,干脆,像一块被一刀切断的金属,断口平整光滑,“所以很多东西是我自己学的。”
陆远没有追问。他见过太多这种说话方式——在华为201所的时候,有些工程师在谈到自己被裁掉的同事时也是这种语气,不是冷漠,是一种”这个话题被讨论的额度已经用完了”的声明。
他转回身继续调试那台金属盒。旋钮在他的手指下发出细微的阻尼感,他调到最佳位置之后用锁紧螺母固定住,然后拿起签字笔在电路板的边缘做了一个标记——一个小小的”OK”。
“谢谢你刚才的提示。”他说,“参考地的问题。”
“不用谢。”
工作间安静下来。只有冷却风扇的低频嗡鸣和远处港口偶尔传来的汽笛声填充着这个空间。陆远调试着SkyWalker数据包的路由参数,米娅坐在工具包旁边的折叠椅上,膝上放着一台平板电脑,用一支触控笔在上面画着什么——不是电路图,是一个波形,看起来像某种调制信号的时域图。
她画了几笔停下来看了一会儿,然后删掉重画。如此反复了好几次。
陆远没有问她画的是什么。这不是一个适合主动攀谈的场合——他们刚刚认识,共享着一个不大的工作空间,彼此之间有一种第一次协作时特有的那种谨慎的距离感。
但他在心里给这个人打了一个标签:技术直觉极好,背景不明,对QKD信道的理解力与她的年龄不太相符。
他想起自己的父亲——一个在邮电局干了一辈子的通信线路工,一辈子没接触过量子光学。他想起自己和父亲之间为数不多的共同话题:信号好不好、天线怎么架、为什么下雨天电视会花屏。那些聊天在当时的他看来平淡无奇,但此刻在拉各斯码头区一间闷热的工作间里,他忽然意识到那些对话是某种他永远无法再复制的接口——一种老的、不加密的、不需要认证的协议。
他甩开这个念头,继续调试。
那天晚上,陆远回到了阿米娜的货运公司。
楼上的办公室被临时改成了一个休息区——一张折叠床、一台摇头扇、一个插着驱蚊片的电源插座。他刚洗完一把脸,阿米娜敲门进来了。
她手里端着两杯茶——不是棕榈酒,是真正的茶,红茶,加了一点炼乳。她把其中一杯放在陆远面前的桌子上,自己端着另一杯坐在了对面那张吱嘎作响的藤椅上。
“白天那个女孩,”阿米娜喝了一口茶,语调平静得像在说今天港口的潮汐水位,“你跟她聊过了?”
“聊了几句。”陆远说,“她帮了我一个忙——电源测量的问题。”
“她技术很好,对吧?”
陆远点头。阿米娜端着茶杯,目光落在杯面上漂浮的茶沫上,像在斟酌什么。
“你知道她是谁吗?”
陆远摇头。阿米娜抬起眼看着他。她的眼睛在暖黄色的灯泡下显得非常亮——不是那种激动或紧张的亮,而是一种在做一件重要的事情之前特有的那种沉稳的亮。
“米兰·沃伊诺维奇的女儿。”
陆远的动作停住了。他端着茶杯的手悬在半空中,没有放下来,也没有端到嘴边。
“什么?”
“米娅·沃伊诺维奇。米兰的独生女。贝尔格莱德出生,苏黎世联邦理工学院读完本科,然后——据我们所知——和父亲断绝了关系。三年前加入数据党柏林分部,用的是化名,没有姓,只有名字。她以为我们不知道她的背景。”
阿米娜说到这里停了一下,喝了一口茶。
“但我们知道。我们从一开始就知道。”
陆远把茶杯放在桌上。茶水的温度透过杯壁传到他的指尖,但他几乎没有感觉到。
“她知道你们知道吗?”
“不知道。至少我不认为她知道。她以为自己隐藏得很好——不使用父亲的姓氏,改变口音,在数据党的成员登记表上填写简单的身份信息。但米兰·沃伊诺维奇的女儿出现在数据党里,这不是一件能瞒住所有人的事。”
陆远沉默着。他想起白天在工作间里那句简短的回答——“他死了。”——和她那只在工具包拉链上短暂停顿的手。一个二十六岁的年轻女性,对父亲的全部介绍是一句干脆的谎言和一次迅速的转移话题。她练习这句话一定练习了很多次,练习到语气听起来完全自然,练习到她的面部表情不会在说完之后出现任何需要解释的破绽。
“她的技术从哪里来的?”他问。
“偷学的。”阿米娜说,放下茶杯,双手交叉放在膝盖上,“米兰在家里有一间书房,书架上放着他的所有技术笔记——从他在贝尔格莱德大学读博期间的论文手稿,到星链第一代网络的协议设计初稿,到后来她不让他看的第三代QKD架构设计文档。据说她从十几岁开始就趁父亲不在家的时候偷偷翻看。复印。拍照。把自己看不懂的公式抄在笔记本上,等父亲出差的时候用他的办公室终端查资料。”
“米兰不知道?”
“米兰可能知道。”阿米娜说,目光里有一种复杂的、混合着理解和警惕的神色,“但一个像米兰那样的人——他建了一堵墙。然后他在墙上留了一道缝,缝的大小刚好够一个人钻过去。那道缝的位置刚好在他女儿伸手能够到的高度。你觉得这是巧合吗?”
陆远没有回答。
“她对QKD信道的理解——那个侧信道——她的发现的源头就在这里。她在她父亲的笔记里读到过一些零散的、没有上下文的技术细节,然后用她自己的方式把它们拼起来了。”阿米娜顿了顿,“她不知道那条侧信道是她父亲故意留下的。她以为那是她自己发现的一个漏洞。”
房间安静下来。桌上的摇头扇以固定的节奏左右摆动,把暖湿的空气来回推送。窗外,拉各斯的夜晚在蟋蟀和远处柴油发电机的声音中缓慢地呼吸着。
陆远的手指在茶杯的杯沿上缓缓移动。他在想一件事——关于他的女儿子衿。
如果有一天,他的女儿也站在一个他完全不认同的阵营里,做着与他为敌的事情,用自己的全部才华去对抗他所建造的一切——
他能对女儿下手吗?
他知道答案。
不能。他连想象那个场景都觉得自己的胸腔在收紧。这是一种无法通过理性来消化的矛盾。米兰·沃伊诺维奇设计了一个把全球七十亿人锁在计费系统里的协议架构,但他对自己的女儿留了一扇只有她能打开的门。不是因为他想让她打开——是因为他无法彻底关上。
阿米娜看着陆远沉默的表情,没有再继续这个话题。她站起来,拿起空了的茶杯,走向门口。在拉开门之前,她停了一下。
“她不知道你是陆远——她只知道你是法尔汉从深圳派来的一个射频工程师。明天她还要来取最后的固件数据包。怎么跟她相处,你自己决定。我只有一个建议——”
她转过头,看着陆远。
“不要用她的身份定义她这个人。她已经用行动选择了自己站在哪一边。她父亲是谁,跟她是谁,是两件事。”
她带上了门。脚步声在走廊的木地板上渐渐远去,被楼梯口的另一个房间的门开合声淹没。
陆远坐在折叠床边,灯没有关。他从口袋里掏出手机——没有信号,法拉第袋的隔绝效应让这台设备处于完全的离线状态。他没有打开它,只是把它握在手里,看着屏幕上倒映出的天花板上那盏灯泡的模糊光影。
他想起子衿。想起她拉着他的手说”那你一定要回来”时的眼神。他想起那个问题——如果有一天他的女儿站在他的对立面,他会怎么做。
他不知道自己会怎么做。他只知道他现在就开始害怕那个答案了。
第二天傍晚,陆远在工作间里做最后一次固件测试的时候,看到了一件他不该看到的东西。
他原本是回来取落下的万用表的。工作间的门没有锁——在拉各斯港口区这种地方,锁不锁的意义差别不大,真正值钱的东西已经被阿米娜的人搬空了。他推开门的时候,发现米娅还没有走。她背对着门,坐在工作台前那盏吱嘎作响的转椅上,面前的台灯亮着,光锥之内摊着一封手写的信。
纸质信。不是邮件,不是消息,是真正的纸和笔写的东西。在这个时代,只有两种人还会写纸质信:怀旧的人,和鸽子网络的用户。米娅显然属于后者。
陆远看到那封信的时候已经来不及退出了。他站在门口,门半开着,台灯的光正好照亮了信封上的收件人地址——用圆珠笔写的,字迹工整而克制,每个字母之间的距离都差不多,像排版过的一样:
「贝尔格莱德 · 萨瓦河边 · 安娜·沃伊诺维奇收」
安娜·沃伊诺维奇。
米兰的妻子。或者前妻——陆远不确知他们目前的婚姻状态,但这个名字他记得。他在数据党的内部档案里看到过一次,阿米娜的情报记录中有一条标注:米兰·沃伊诺维奇与妻子安娜分居但未正式离婚,安娜仍居住在贝尔格莱德的旧公寓,定期收到来自柏林的匿名信件。
米娅的信。
米娅正在写的这封信,信封还没有封口,信纸摊开在桌上,她握笔的手悬在纸面上方,笔尖还没有落下最后几行字。她听到门的声音,侧过头来。她的表情从专注变为一种短暂的空白——不是愤怒,不是惊慌,是一种被人看到了一个她从不展示的侧面的停顿。
陆远应该退出去。他应该关上门,假装什么都没看到,回楼上睡觉。
但他没有。
“信是写给你母亲的?”他问。
他的声音比自己预期的要轻。没有试探,没有审判——只是一种确认。
米娅看着他,在台灯光线的边缘,她的表情逐渐从那种短暂的空白变成一种更复杂的东西——像是在判断,这个刚刚认识不到两天的人,值不值得她给出真实的回答。
她最终没有回答,只是重新低下头,在那张信纸上写完了最后几行字。然后把信纸折好,放进信封里,用舌头舔了一下封口胶,封好。
她没有把信收起来。她把信封放在桌面上,双手压在信封上面,看着陆远。
“是的。”她说,“写给我母亲。”
陆远在门口的阴影里站着。他没有走进去,也没有退出去。
“你不需要……”他开口想说什么,但被米娅打断了。
“你不会告诉阿米娜。”
这不是问句,是陈述。带着一丝轻微的不确定,但语气在努力让它听起来像一个陈述。
“我不会。”陆远说。
他停了一下,又说了一句他不知道自己为什么要说的话:
“你母亲还在贝尔格莱德?”
“是。她不肯搬走。她说那是她认识父亲的地方——她要在那里等他回来。”
米娅的声音很平。但她在说到“回来”这个词的时候,声带有一个极其微小的颤抖,小到如果不仔细听就会完全忽略。
“你呢?”陆远问。他不知道自己在问什么——是问她为什么离开,还是问她为什么还在写信,还是问她什么——
米娅低下头,看着自己的手。
“我在柏林。我不想做他的女儿了。但我还没有学会不做。”
她说这句话的时候没有看陆远。她的眼睛落在信封上,落在收件人那一行的“安娜·沃伊诺维奇”这几个字上,像是她在跟这几个字说话,而不是跟陆远。
工作间里安静了很久。冷却风扇在墙角继续运转,像一个不知疲倦的、无动于衷的计时器。
“我可以问你一个问题吗?”陆远说。
米娅没有点头也没有摇头,但她在等他继续。
“你已经跟家里断绝关系了。你也在和父亲对抗——你在数据党做的事情如果被他发现,他完全可以用星链的手段把你关起来。你知道这一点。但你每周还是写信给你母亲,让她转告你父亲,说你很好。”
陆远停了一下。
“你写那些信的时候,你是写给谁的?是写给你母亲的,还是写给他看的?”
米娅没有回答。
她低下头,看着桌上那封信,然后站起来,把它放进了包里,拉上了拉链。
“晚安。”她说。然后她绕过工作台,从陆远身边走过,推开门,消失在走廊尽头的黑暗中。
脚步声在木地板上渐渐远去,和昨晚阿米娜离开时的声音很像,但更轻一些,像一个人不想让自己的脚步惊动什么东西。
陆远站在空无一人的工作间里。台灯还亮着,光锥还覆盖着桌面刚才被她双手压过的那片区域。桌上有一个淡淡的印子——是信封的四角在桌面上留下了几道浅浅的压痕。
他没有关灯。他拿起他落下的万用表,离开了工作间。
走廊很长。天花板上的灯泡有一半不亮,阴影和光线的交替在他脸上拉出一种破碎的节奏。他一边走一边在想那封信的内容——米娅没有写完的最后一句话是什么。她会在信中对母亲说什么。那句“告诉父亲,我不恨他”是不是已经写完了,还是正停在笔尖等待一个她还没有找到的措辞。
他想起自己的女儿。子衿五岁,还在用蜡笔画蝴蝶的阶段。她还有一个漫长的童年要度过。她还有足够的时间去学会什么是恨、什么是原谅、什么是不原谅但仍然不恨。
他不希望她那么快学会这些。
他走到走廊尽头的时候,在转角处站了一下。透过走廊尽头那扇没有玻璃的窗口,他能看到拉各斯的夜空。云层很厚,看不到星星——不管是真正的恒星还是星链的卫星,都被低垂的雨云遮挡了。
他站了一会儿,然后转身回了房间。
第二天清晨,陆远在离开拉各斯之前做了一件事。他在货运公司二楼的走廊里遇到了米娅——她正在往工具包里装那台3D打印的解码器,准备出发去下一个节点。她看起来像一夜没睡,眼眶下面有隐约的青色,但动作依然准确、利落。
“米娅。”陆远叫住了她。
她停下手中的动作,转向他。
“昨天那封信——”他说。
她的眼神微微绷紧了一些。
“——我没看过内容。”陆远说,“但如果你需要替你把信送到鸽子网络的线路上——我有渠道。阿米娜不会经过她的节点网络看到内容。纯物理中转。”
米娅看着他。那种审视持续了大约三秒钟。然后她拉开工具包的侧袋,取出那封信,在手里握了大约一秒钟,然后递给了他。
陆远接过那封信。信封的纸面还带着她掌心的余温。
“谢谢。”她说。声音很轻。
之后他们就分开了。米娅背着工具包走向港口区的方向,白色的T恤在灰绿色的港口背景中逐渐变成一个越来越小的点。陆远站在货运公司门口的台阶上,将那封信放进自己背包的内侧口袋——紧挨着阿米娜给的那枚管状钥匙。
两件东西,都是需要被传递的。
一件是一台旧互联网的骨架。一件是一个女儿不敢直接寄出的心里话。
它们都在他胸口内侧的口袋里,隔着布料,隔着拉链,各自沉默着。
他返回了机场。
在排队过安检的时候,他忽然想起来——他答应了女儿要带一只木雕的大象。他在机场免税店的最后一排货架上翻到了一只,手掌大小,乌木雕刻,象鼻子向上扬起,做工说不上精致,但线条淳朴,有一种笨拙的生动感。他把它买了下来,装进了随身背包。
四小时后,货机从拉各斯升空。云层之下的非洲海岸线在舷窗外逐渐缩小,最终消失在白色的云毯下。陆远把那只木雕大象从背包里拿出来,放在膝盖上,用手指摸了摸大象背上被雕刻刀留下的细密纹理。
他在想一件事,从昨晚想到现在。
米娅说,她还没有学会不做他的女儿。
他不知道自己将来会不会面对同样的问题——子衿长大后会不会也站到一个他完全无法理解的位置上,用他教她的那些东西,去反对他守护的那些东西。
他希望不会。
但他也知道,米兰·沃伊诺维奇可能也曾这样希望过。