十二月十五日下午一点四十分,陈氏资本交易大厅。
距离烟雾弹测试还有二十分钟。林渊坐在工位上,双手平放在键盘前,指尖轻触键帽但没有按下。他的姿态看起来和一个等待交易指令的普通分析师没有任何区别,但他的感官正在以极限速度运转。周围的每一个细节都被放大:马库斯在隔壁工位上翻动纸质文件时纸张摩擦的沙沙声,角落里那台服务器机柜冷却风扇转速的细微变化,陈子昂在四十二楼办公室里通过内部对讲系统发出的每一个音节。
他的面前有三块屏幕。左侧屏幕显示的是越南VN指数的实时走势,指数在午盘交易中维持着窄幅震荡,成交量平稳,没有任何异常。中间屏幕是深渊之镜的隐形状态面板,所有模块显示绿色就绪,自适应时间窗口校准程序正在后台运行,实时分析着陈氏资本内部交易指令流的每一个数据包。右侧屏幕是加密通讯终端,保持着和岳明的单向连接——只接收,不发送。
一点四十五分。内部对讲系统里传来陈子昂的声音:“所有策略组注意,按预定方案进入倒计时。第一轮指令在两点整发出,目标越南VN指数权重股前五只。指令规模控制在真实攻击的百分之三。这不是演习,但也不是实战。按照真实攻击的标准执行,然后观察市场反应。”
百分之三。林渊在心里快速计算。一千八百亿美元的百分之三是五十四亿美元。足够在越南股市引起明显的波动,但不足以触发崩盘。足够让深渊之镜的自适应校准程序捕捉到指令流的模式特征,但前提是陈子昂的测试指令和一周后真实攻击的指令在模式上存在可辨识的差异。
如果不存在差异呢?如果陈子昂把烟雾弹设计得和真实攻击完全相同,只是在规模上做了缩减,那么自适应校准程序就无法区分测试和实战。深渊之镜就会在错误的时间触发——要么是今天,要么是下周,但没有人知道是哪一个。
一点五十分。马库斯站起来,走到交易大厅前方的巨型屏幕前,开始做最后一轮系统检查。他的声音通过麦克风传到每个人的耳机里:“流动性感知模块——在线。情绪分析模块——在线。信息分发模块——待命。做空执行模块——待命。Predator_Core主引擎——待命。所有系统正常。”
林渊的手指在键盘上轻轻敲击,调出了Predator_Core的实时运行日志。这份日志是他在加入核心策略组之后获得的合法权限——每一个核心成员都可以查看引擎的运行状态。但在林渊的屏幕上,这份日志的底层还叠加了一层他私自编写的分析程序。这个程序会实时比对Predator_Core发出的每一笔指令和林渊在过去几个月里研究过的所有历史攻击模式的相似度。如果相似度超过百分之九十五,程序会判定当前指令为真实攻击。如果相似度低于百分之七十,程序会判定为烟雾弹。
这个判定逻辑有一个致命的缺陷:陈子昂可能故意让烟雾弹的相似度落在百分之七十到百分之九十五之间的灰色地带。在那个区间里,程序无法做出可靠判断。林渊只能依靠自己的直觉。
一点五十五分。交易大厅里的气氛开始绷紧。每个人都坐直了身体,所有人的目光都集中在面前的屏幕上。陈子昂从四十二楼走下来,站在交易大厅的中央平台上,双手扶着栏杆,俯瞰着整个大厅。他的表情平静得像一面结了冰的湖,没有任何波动。
“倒计时开始。”他的声音通过大厅的音响系统响起,“六十秒。”
林渊的屏幕上,分析程序的相似度指示条开始跳动。Predator_Core的第一批测试指令还没有发出,但引擎已经开始预热——它在扫描越南市场的实时流动性分布,计算最优的攻击切入角度。这些预热信号已经开始和林渊数据库里的历史模式进行比对。相似度指示条在百分之六十到百分之八十五之间快速波动,没有稳定在任何一端。
“三十秒。”
马库斯的手指悬在键盘上方。信息分发模块的操控员已经打开了通往东南亚三十七个散户投资群的数字通道。情绪分析模块的屏幕上,越南散户的社交媒体情绪热力图开始闪烁——那是系统在评估攻击发动后的恐慌扩散路径。
“十秒。”
林渊的呼吸平稳而浅。他的右手食指悬在深渊之镜的手动触发键上方三毫米处。如果自适应校准程序判断今天是真实攻击,他只有不到一秒的反应窗口来手动触发反制。如果判断错误,他在今天触发反制,深渊之镜就会暴露,而真正的攻击在一周后才会到来。
“三、二、一。执行。”
下午两点整,第一轮测试指令从Predator_Core主引擎发出。
林渊的屏幕上,数据流像瀑布一样倾泻而下。越南VN指数权重股前五只——越南外贸银行、Vingroup、越南牛奶、和发集团、越南石油——在同一瞬间遭到密集的算法卖单攻击。每一笔卖单的规模都不大,但节奏极其精妙:在买方挂单被吃掉之后、新的买方挂单出现之前的微小间隙里,下一笔卖单恰好切入,把成交价往下踩一个刻度。整个过程像一台精密的外科手术——每一刀都不致命,但每一刀都在最敏感的位置上割开一个小口。
VN指数在两分钟内下跌了百分之一点五。跌幅不算大,但速度极快。越南股市的交易量在短时间内猛增了四倍,恐慌情绪开始在散户论坛上扩散。但就在指数即将加速下跌的时候,卖单忽然停了。
两点零三分,测试结束。整个攻击持续了刚好三分钟。
交易大厅里响起一阵低沉的呼气声。有人在小声交谈,有人在记录数据。马库斯从控制台上拿起一瓶水,拧开盖子喝了一口,手微微发抖。陈子昂站在平台上,没有任何表情。
林渊的屏幕上,相似度分析程序给出了一个让他心跳骤停的数字:百分之八十一。
灰色地带的正中间。
程序无法判断这是一次真实攻击的缩小版,还是一次经过精心伪装的烟雾弹。如果陈子昂的真实攻击和烟雾弹之间的模式差异被故意设计成无法区分的程度,那么深渊之镜的自适应校准就失去了意义。林渊将不得不在信息不完备的情况下,凭直觉做出判断。
“测试数据出来了。”马库斯的声音从耳机里传来,“市场反应符合预期。恐慌扩散速度比模型预测的快了零点三秒,需要在执行模块里加一个阻尼参数。其他一切正常。”
正常。这个词在林渊耳朵里听起来极其刺耳。在这场游戏中,正常从来不是好消息。正常意味着事情正在按照陈子昂的剧本推进,而陈子昂的剧本里从来不会出现任何一个不在他计算范围内的角色。
下午三点,陈子昂在大会议室里主持了测试复盘会。会议时间很短,不到三十分钟。陈子昂对测试结果只做了简要点评,然后宣布了一个让所有人都感到意外的决定。
“从现在起到十二月二十一日,核心策略组全体成员进入封闭工作状态。所有人的手机、个人电脑、外部通讯设备全部上交。公司会提供内部通讯工具,但这些工具的所有通讯记录都将被安全部门实时监控。这不是不信任——这是标准操作。在真实攻击发动前的一周里,任何信息泄露都可能导致整个计划的失败。”
会议室里安静了几秒。然后马库斯第一个站起来,把手机放在会议桌上。其他人陆续跟上。桌上很快堆满了各种型号的手机和智能手表。
林渊把手机放在桌上的时候,心里快速计算了一件事:他的加密笔记本还在公寓里。那台笔记本里存着深渊之镜的全部代码备份、和岳明的通讯记录、以及沈一舟的联系方式。如果安全部门在接下来一周的封闭期间派人去他的公寓搜查——不,他们一定会去。陈子昂不会放过任何一个排查内鬼的机会。
但林渊无法阻止这个风险。他只能相信自己在公寓里做的反侦查措施足够有效——那台加密笔记本的硬盘有一个自毁程序,如果登录密码被连续输错三次,硬盘会自动覆盖所有数据。而他设置的密码是一串只有他自己知道的、长达六十四位的随机字符串。
晚上八点,林渊被分配到了陈氏资本大楼内部的一间休息室。房间很小,只有一张床、一张桌子和一个没有窗户的浴室。墙上挂着一幅抽象画,画面上是无数根交错的黑白线条,看起来像一个被扭曲的棋盘。
他躺在床上,盯着天花板,开始了他在封闭期间最重要的工作——不是在电脑上,而是在大脑里。
过去几个月,他已经将捕食者模型的核心架构完整地记在了脑子里。每一个模块的功能逻辑,每一个参数的作用范围,每一条非正式补丁的实现方式。他现在要做的,是在纯粹的心算中模拟深渊之镜在两种不同场景下的运行结果。
场景一:十二月十五日是烟雾弹,真实攻击在十二月二十二日冬至。那么深渊之镜的自适应校准程序必须在十五日判断出测试指令的模式特征,然后自动将触发时间推迟到二十二日。但是今天的测试相似度是百分之八十一——这个数字不足以触发程序的自动判定。这意味着他需要在二十二日当天手动介入,在真实攻击发动前的最后时刻启动深渊之镜。而手动介入的前提是,他能够在陈子昂的眼皮底下,在安全部门的全方位监控下,在执行封闭管理的交易大厅里,执行一组不被任何人察觉的操作。
场景二:十二月十五日的测试本身就是真实攻击的伪装,只是被压缩了规模。十二月二十二日的攻击则是第二轮追加攻击。如果真是这样,那么今天下午的测试就是陈子昂第一次把真实攻击模式暴露在深渊之镜的扫描范围内。林渊必须在测试数据被覆盖之前,从今天的指令流中提取出真实的攻击模式特征,然后重新校准深渊之镜的识别参数。
这两个场景都有可能。而陈子昂故意给了林渊一个无法判断的结果,让他在两种可能性之间徘徊——这正是捕食者的策略。不是一击致命,而是让猎物在自己的困惑中耗尽所有的时间和精力。
凌晨两点,林渊从床上坐起来,在黑暗中睁着眼睛。然后他笑了起来——不是愉快的笑,而是那种在极度疲惫中忽然意识到某个残酷真相之后不由自主发出的干涩的笑。
他忽然明白了陈子昂为什么要把百分之八十一这个数字留给他。
不是因为他无法做到更高或更低。而是因为他想让林渊知道——在这场游戏中,所有的技术对抗都是次要的。真正决定胜负的,是你对对手内心的了解。你可以写出一万行代码来反制我的算法,但只要我的一句话、一个眼神、一个故意留下的数字,就能让你陷入无法自拔的猜疑。我甚至不需要赢你。我只需要让你不停地猜下去,直到你把自己的脑子猜成一片废墟。而一周的时间,足够让任何一种猜疑长成一座深渊。
林渊重新躺下去,闭上眼睛。这一次他没有再做任何计算,只是在黑暗中安静地呼吸。
他想起了父亲在电话里说的最后一句话:有人在背后操纵,我看到那些卖单,不是正常交易。然后电话挂了。父亲在生命的最后一刻,没有愤怒,没有哭泣,只是在用一种极其冷静的语气描述他看到的真相。好像真相本身就是一种武器,即使无法改变结局,至少可以让他在坠落的过程中保持清醒。
十二月十六日清晨,岳明在布鲁克林的老房子里醒来,发现林渊的加密通讯信号已经中断了整整十六个小时。他尝试了所有备用信道,都没有收到任何回应。他联系了沈一舟,沈一舟说冰岛数据中心的深渊之镜主服务器仍在运行,但所有来自林渊的指令输入都停止了——服务器在空转,等待着下一次指令。
“他可能被隔离了。”沈一舟说,“也可能是他自己选择了静默。”
“有什么区别?”
“区别在于,”沈一舟停顿了一下,声音变得格外严肃,“如果是被隔离,我们在他的公寓里藏的所有东西——包括那台加密笔记本——现在可能已经落入了安全部门手里。但到目前为止,我设置在笔记本里的数字警报还没有被触发。没有人试图登录那台笔记本。所以应该是他自己选择了静默。”
岳明挂掉通讯,走到窗边。街对面的公寓楼在晨光中安静地矗立着,每一扇窗户都紧闭着。他想起林渊最后一次给他发来的消息:做好随时启动紧急撤离预案的准备。他不知道林渊现在在什么地方,不知道他是安全还是危险,不知道他是否已经破解了陈子昂留在那个数字里的谜题。
但他知道一件事:林渊不是一个会被猜疑耗死的人。因为这个年轻人在七年前就已经直视过这个世界上最深的深渊——不是股市的深渊,不是算法的深渊,而是失去一切之后独自站在空荡荡的客厅里,看着父母最后留下的那个字条。那张字条上写着什么,林渊从来没有告诉任何人。但岳明知道,那张字条一定给了他某种比任何算法都更强大的力量。
十二月十八日,距离冬至还有四天。
陈氏资本大楼里一切如常。核心策略组日复一日地进行着模拟训练,优化参数,调整模型。林渊每天都准时出现在工位上,准时吃饭,准时回到休息室。他的行为和其他人没有任何不同。但在他的大脑里,一个崭新的方案正在成形。
他不再试图判断十二月十五日是不是烟雾弹。他不再在两种可能性之间做无意义的选择。他把两个场景合而为一:他写了另一套代码——不是深渊之镜的代码,而是一套可以让深渊之镜在两个不同的时间节点同时待命的调度程序。一个节点是十二月十五日——已经过去了,没有触发。另一个节点是十二月二十二日。而在这两个节点之间,他设置了一个基于实时市场数据的动态反馈环。如果十二月二十二日确实发动了真实攻击,动态反馈环会捕捉到攻击的第一波冲击,然后在几毫秒内触发深渊之镜。如果十二月二十二日仍然没有攻击,那么深渊之镜将进入无限期休眠——直到某一天,某个人,在某个地方,重新启动它。
这套代码他一个字都没有写在电脑上。所有的逻辑结构、函数调用、参数配置,都只存在于他的大脑里。他要等到最后一刻——在攻击发动前的那几分钟里,在现场交易大厅的终端上直接输入。这需要不可思议的专注力和手速。但林渊知道,这是唯一能绕过陈子昂所有监控的方法。
不留下任何痕迹,直到最后一刻。就像陈子昂自己说的那样:永远不在你公开宣称的时间发动攻击。这句话,林渊原样奉还。
十二月二十一日,冬至前夜。
封闭管理已经进入第六天。交易大厅里的白炽灯从不熄灭,日夜交替失去了意义。林渊照常坐在工位上,面前的屏幕亮着,手边放着一杯已经凉透的咖啡。他知道明天就是冬至,无论陈子昂是否发动攻击,无论深渊之镜能否成功触发,明天都将是他在陈氏资本的最后一战。
他把手伸进口袋,摸到了那个U盘——岳明在布鲁克林大桥上还给他的那枚,里面装着三年来搜集的全部证据。金属外壳已经被体温捂得温热。他不知道明天之后自己是会走进联邦检察官的办公室,还是会被铐进一辆没有车窗的车里。但此刻,他感到一种奇异的平静。这种平静不是因为胜券在握,而是因为无论结果如何,他都已经做了他能做的一切。
他看向窗外。曼哈顿的夜景在玻璃幕墙上反射出无数个重叠的倒影——灯光、街道、车流、以及他自己模糊的轮廓。那些倒影层层叠叠,像一面面嵌套的镜子。有一瞬间他不确定自己是在看窗外的城市,还是在看城市映出的自己。
而那枚刻着MCCLXXIX的戒指,此刻正戴在另一个人的手指上。那个人也在看着同一片夜景,也在等待明天。


暂无评论,来抢沙发吧!