第19章 · 四十七小時
倒計時掛在據點的主屏幕右上角,白色字體在深色背景上顯得格外刺眼。
「T-47:22:31 · 目標:陆子衿 · 醫療授權凍結剩餘時間」
秒數在跳動。每一秒都在縮短。每一秒都像一顆沙粒從玻璃瓶頸中墜落,落進一個沒人知道有多大的底部。
陆远站在屏幕前面,已經看了很久。他的手裏攥着一塊壓縮餅乾的包裝紙,已經被他無意識地揉成了一團,塑料紙在他掌心裏發出細微的、持續的沙沙聲,像一個機械裝置在緩慢地釋放剩餘的壓力。
法尔汉在他身後不到兩米的地方,正在和拉各斯通加密文字通道。消息通過鸽子网络的物理中繼線路傳輸——不是通過星链,不產生任何可被審計的電磁信號——每一條消息的往返延遲都在三十分鐘以上。他剛發出的消息是給阿米娜的,只有一行字:
「注入準備需要三十六小時。最快路徑:物理運送SkyWalker固件存儲卡至前哨節點。能否壓縮?」
回覆在二十一分鐘之後抵達。法尔汉的終端屏幕亮起,他低頭看了一眼。
阿米娜的回覆比他預計的還要短。她顯然沒有花時間斟酌措辭:
「不能。三十六是不含餘量的硬數字。最快一批存儲卡由鸽子网络從拉各斯出發——卡薩布蘭卡中轉——突尼斯——羅馬——伊斯坦布爾——烏魯木齊——深圳。最長一段:穿越塔克拉瑪干沙漠,駱駝運輸,無信號覆蓋。耗時約二十二小時到達關鍵節點。最早到達時間:T-25。你還有十一小時餘量。」
十一小時。三十六小時準備加二十二小時運送——等於五十八小時。女兒的醫療授權還剩四十七小時。如果不壓縮時間線,他們差了整整十一個小時。
法尔汉把那組數字在腦子裏過了一遍,然後他做了一件他很少做的事——他轉過身,對陆远説了實話:
“餘量不夠。”
陆远把揉成團的包裝紙放進口袋,轉過來面對他。他的臉上沒有出現法尔汉預期中的那種恐慌或絕望——那是一種更接近接受的表情,像一個已經算過這道題、知道答案、只是等別人來確認的人。
“我知道。”陆远説,“所以我們需要把那十一個小時從別的地方擠出來。”
法尔汉看着他,等待。
“你剛才説三十六小時是最短準備時間。”陆远走到白板前面,拿起一支馬克筆,在板子上畫了一條時間軸,“但那是基於你現在的人手和算力。如果我把據點裏所有能寫代碼的人全部調到你的協議編譯鏈路上——能不能壓縮?”
“不能。瓶頸不是人手——是編譯服務器的算力和存儲卡的寫入速度。”
“如果分階段編譯呢?先編譯核心的入口激活模塊——那個嵌套入口的觸發條件代碼——其他外圍功能模塊在後端逐步追加?”
法尔汉的眉心微微收縮了一下。他沉默了幾秒鐘,然後説了一個字:“能。”
“能壓多少?”
“大概四到五小時。”
四到五小時。加上阿米娜的十一小時餘量——他們有了十五到十六小時的緩衝。陆远的指尖在白板上敲了兩下,然後畫了一條豎線。他把那些數字重新排了一下,在時間軸上標出了一個新的關鍵節點:
T-28:核心模塊編譯完成,固件寫入第一批存儲卡。 T-25:存儲卡抵達深圳聯絡節點。 T-22:鸽子网络的下一批信使出發——覆蓋全球四十七個前哨節點。 T-18:全球節點同步完成,注入窗口預熱開始。 T-0:激活嵌套入口,創建自治域。
陆远把那根豎線畫得很重,馬克筆在板面上留下了一道比其他的線更粗、更深、更決絕的痕跡。
法尔汉站在他身後,把那條時間軸從頭看到尾,沒有説話。
在據點的另一個角落,有人在低聲通話——是據點負責通信中斷接續的工程師,正在通過一部物理隔離的衞星電話測試鸽子网络的信號鏈路。聲音斷斷續續地飄過來:“……確認接收……路由正常……信標信號……拉各斯那邊已經出發了……”
第一批SkyWalker注入固件的存儲卡,此刻正在阿米娜的人手中,被裝進一個防電磁脈衝的金屬盒,綁在一輛越野摩托車的後座上。摩托車手是一個二十五歲的尼日利亞年輕人,代號“灰鴿”——他的真實姓名沒有出現在任何数据党的檔案中——此刻正在拉各斯凌晨四點的黑暗中發動引擎。
他的路線:從拉各斯向北——穿越尼日爾——進入阿爾及利亞——經過塔曼拉塞特——抵達卡薩布蘭卡。全程三千七百公里。路況最差的路段在尼日爾北部,沙土路,沒有路燈,沒有手機信號,沒有星链的公共地面站。他將在那一段路上獨自騎行大約十五個小時。
他車上的那個金屬盒裏,裝着可以改寫全球通信格局的東西。但他不知道。他只知道這是“阿米娜老闆要送的一批貨,很重要,必須在後天中午之前到。”
他在拉各斯的夜風中掛上檔位,摩托車的頭燈在前方切開一條窄窄的光錐,然後他消失在通往北方的公路上。
塞拉斯在凌晨五點十七分收到了米蘭的加密郵件。
郵件的標題很簡短,正文更短——只有兩行字。但塞拉斯讀完那兩行字之後,在辦公桌前靜止了大約十秒鐘,像一尊被凍在原地的雕塑。
第一行是一個授權碼:
「授權碼:A1-EXEC-ORD-7712 · 簽署人:米兰·沃伊诺维奇 · 首席協議架構師」
第二行是授權內容:
「授權星链亞太安全中心對以下座標實施物理截獲行動。權限等級:最高。批准範圍:所有已識別的数据党據點。有效期限:自簽署起四十八小時。」
下面附着四個座標。其中一個——塞拉斯一眼就認出來了——是陆远和法尔汉所在的深圳據點。
米蘭給了他權限。
米蘭終於鬆手了。
塞拉斯靠在椅背上,把這封郵件重新讀了兩遍,確認簽名鏈完整,確認授權碼等級是A1——星链內部最高的戰術執行授權,僅次於CEO本人。確認無誤之後,他按下了內線。
“刘洋。下達預備指令。目標清單上的四個座標——全部進入執行前狀態。我需要第一組突擊隊在四小時內完成部署。”
他掛斷內線之後,又在辦公椅上坐了半分鐘。他本應該感到興奮——這是他幾個月來一直等待的時刻。但他沒有。取而代之的是一種奇怪的、像一根繃了太久的弦忽然被鬆開之後的空洞感。
米蘭給了授權。但米蘭為什麼給了?
塞拉斯調出了米蘭郵件的時間戳——凌晨四點零七分。這個時間點,米蘭通常應該在睡覺,或者在書房裏看那些他永遠看不完的技術文檔。是什麼讓他在這個時間點簽署了一個他幾個月來一直拒絕簽署的授權令?
塞拉斯不知道米蘭和陆远之間那通電話的內容。他不知道米蘭的女兒在数据党的據點裏。他不知道米蘭在接到陆远的電話之後經歷了什麼——一個把自己鎖在黑暗的辦公室裏、對着電腦屏幕上那扇還沒有決定是否打開的嵌套入口、坐了整整四個小時的男人。
塞拉斯只知道米蘭簽了字。這就夠了。
他關掉了屏幕上的郵件窗口,開始檢查突擊隊的部署進度。
伊莎贝尔是被一陣不尋常的安靜弄醒的。
她在布魯塞爾的那間公寓裏醒來——不是委員會配發的官方住所,是她自己租的一間位於聖吉爾區的舊公寓,沒有在星链的任何系統中登記過她的住址。她穿了一件舊毛衣坐在牀邊,發現讓她醒來的不是噪音的消失,而是一種直覺上的不對。
她走到窗前。
街對面的路燈下停着一輛黑色的轎車。車窗是深色的,看不到裏面。車身沒有任何官方標誌,但伊莎贝尔在布魯塞爾住了四年,她認得那種車的輪廓——不是政府用車,也不是普通的私家車。是一種介於兩者之間的、帶有某種沉默的執法氣質的車型。
她沒有再看第二眼。她拉上窗簾,走進洗手間,打開水龍頭。水流聲掩蓋了她撥出號碼的按鍵音,撥出的是她唯一一個仍然安全的號碼——不是她的官方手機,不是数据党的加密終端,是她在牀頭櫃抽屜最底層壓着的一張SIM卡,裝在一台用過即棄的老式手機上。
電話撥出去,響了兩聲,接通了。
“米蘭。”她説。
對面沒有立刻回應。但她聽到了呼吸聲——那種她已經逐漸熟悉的、均勻而剋制的呼吸節奏。
“你給了塞拉斯授權。”伊莎贝尔説。不是問句。
“這是你最後一次用這個號碼聯繫我。”米蘭的聲音從線路那頭傳來,平靜得像一塊在水底躺了很久的石頭,“那條線我已經關閉了。”
“我知道。所以這是我最後一次問你——你在做什麼?”
米蘭沒有回答。
“你給了他的地址,”伊莎贝尔的聲音沒有任何提高,但每一個字都像繃緊的弓弦,“包括法尔汉和陆远在深圳的據點。你的人會在幾個小時之內包圍那棟大樓。陆远的女兒在那棟樓裏,米蘭。”
電話那頭出現了極其短暫的沉默——短到普通人會忽略,但伊莎贝尔捕捉到了。
“一個五歲的孩子。”伊莎贝尔説,“患難治性癲癇。醫療授權已經被塞拉斯凍結了。你的人包圍那棟樓之後——你覺得塞拉斯會怎麼對待她?用她來要挾陆远?把她送進星链的‘受控監護’設施?你覺得這個孩子的病歷會出現在任何一條合法的拘留記錄裏嗎?”
米蘭的聲音終於再次響起,但比之前輕了:“塞拉斯不知道那棟樓裏有孩子。”
“你信嗎?”
米蘭沒有回答。
“你不知道他在哪裏。你不是每天跟塞拉斯共事的人。我是。我看了他四年的行動報告——他不是一個會把被捕名單上多餘的人劃掉的人。你給他的授權沒有附加任何約束條款。他沒有義務去區分突擊目標中的成年人和兒童。”
伊莎贝尔的話停了一下。洗手間的水龍頭還在流。水流撞擊瓷盆的聲音在狹小的空間裏有一種奇怪的、像計時器一樣的節奏感。
“你女兒在那邊的據點裏待過。”她説,“米娅在拉各斯見過陆远。你女兒見過那個孩子。”
電話那頭只有電流的細微噪音。
“我不是為数据党説這句話的,米蘭。我是為你説的。”伊莎贝尔的聲音終於出現了一絲她自己沒有察覺到的、極其細微的裂縫,“如果你讓塞拉斯走進那棟樓——你在你女兒面前就再也沒有任何可以辯解的東西了。”
沉默。這一次的沉默很長,長到伊莎贝尔開始相信米蘭已經掛斷了電話。
然後米蘭説了一句話。不是對她説的——是對他自己説的。聲音很低,低到伊莎贝尔幾乎聽不清,但她還是聽到了。
“我不確定我到今天為止做的事情——有什麼是可以辯解的。”
線路斷開了。
伊莎贝尔把手機拆開,取出電池,把SIM卡掰成兩半,和手機一起裝進一個鐵盒子——她會在今天之內把它們沉進公寓附近那條運河的河底。
她站在洗手枱前,看着鏡子裏自己的臉。一夜沒睡的痕跡很明顯——眼眶下面有暗影,嘴唇的顏色偏淡。她用手指梳了一下頭髮,然後擰緊了水龍頭。
她不知道米蘭會不會阻止塞拉斯。她不知道米蘭那句話説出口之後——會不會變成他行動的理由。
但她發現,自己已經不再確定米蘭會怎麼做了。那個她曾經以為可以預測一切的人,從某個她説不清的時刻開始,變得不再是完全可預測的了。
深圳,五小時四十分鐘後。
據點裏出現了第一批異常信號。
法尔汉的監測系統——那些架設在據點周邊三公里範圍內的被動信號偵測節點——捕獲了一些他不想看到的東西。不是手機信號,不是星链終端註冊信號,是一種更底層的射頻特徵:相控陣雷達的波束掃描。
頻率在X波段,波形特徵屬於便攜式地面監視雷達,裝載在車輛平台上。波束的掃描模式不是扇形的——是一種鎖定式的、持續的、對着同一片區域的照射,就像一個探照燈被固定在一扇窗户上。
那扇窗户的方向,正是據點所在的大樓。
法尔汉盯着頻譜分析圖上那條穩定的輻射信號看了大約五秒鐘,然後關閉了窗口。
“他們知道我們在這棟樓裏了。”他説。
據點裏的人聲在幾秒之內全部消失了。所有人都在同一瞬間停止了正在做的事情——有人手指懸在鍵盤上方,有人端到一半的水杯停在半空中——整個空間像被按下了暫停鍵。
“撤離時間呢?”陆远問。
法尔汉搖頭。“來不及了。他們已經封鎖了周邊四百米內的主要出口。我們的地下通道只通向兩個方向——都被他們的移動信號偵測陣列覆蓋了。如果從這兩個出口出去,會在離開通道後的三十秒內被定位。”
他的聲音不帶感情,像在宣讀一份工程測試報告。
“他們什麼時候進來?”
法尔汉看了一眼雷達掃描的週期模式,估算了一下突擊隊通常的部署節奏。“兩小時內。不會更早——他們還需要完成外圍清場和指揮鏈路建立。”
兩小時。
據點裏有十七個人。其中有兩個人受了傷——薩赫勒行動中轉移過來的倖存者,手臂骨折的那個還在恢復期,胸口受傷的那個還不能長時間站立。一個五歲的孩子。
陆远看了一眼女兒。她正在角落裏跟沈姐搭積木——用據點裏的空彈藥箱和電路板包裝盒搭一座她稱為“城堡”的東西。她不知道周圍發生了什麼。她的臉上帶着那種五歲孩子沉浸在自己世界裏時特有的專注——微微張着嘴,睫毛低垂,把一塊包裝盒小心翼翼地放在另一塊上面,然後退後半步審視自己的作品。
陆远把目光從她身上移開,轉向法尔汉。
“注入——不能停。”他説。
法尔汉看着他,沒有反駁。
“你從地下通道走,帶上核心編譯環境。找一個不受他們信號覆蓋的地方完成最後的模塊編譯。”陆远説,聲音不大,但每一個字都清清楚楚,“他們在外面部署的微波通信基站有頻率跳變間隔——每隔六秒更換一次跳頻序列,跳變期間有大約七十毫秒的盲區。我可以在那個盲區裏,用據點樓頂的應急天線向鸽子网络的前哨節點發送一個猝發信號——讓他們知道新的固件交付節點位置。”
“你暴露自己。”
“你負責完成注入。”陆远説,“我負責讓我們活着出去。”
法尔汉看着他——那種審視持續了大約三秒鐘。然後他點了點頭。
他轉身走向自己的法拉第籠,開始拆卸核心編譯服務器的硬盤。
米蘭的辦公室在這天夜裏亮着燈。
他坐在桌前,面前擺着那本牛皮封面的日記,翻到了最新的一頁。他已經坐了將近一個小時。窗外,薩瓦河在夜色中泛着暗淡的粼光,一艘貨船正在下游緩慢行駛,船上的燈光在河面上拖出一道長長的金色尾巴。
塞拉斯的突擊隊正在向四個座標集結。深圳的那個座標,第一組截獲小組已經完成了外圍部署。米蘭的終端上顯示着行動狀態的實時更新——他不需要主動查詢,塞拉斯的系統會自動向首席協議架構師辦公室推送所有A1級授權的行動進展。
他看到了那些信息。他沒有關閉那個窗口。
他也沒有寫下任何攔截指令。
他的手機屏幕亮了一下——不是來電,是一條消息推送,來自他的個人通信終端上唯一一個沒有被他屏蔽的、來自数据党內部的信號。他把它點開了。
消息只有一行字,沒有署名:
「她讓我告訴你——她見過那隻木雕大象了。」
米蘭看着那行字。
他想起米娅小時候——想起貝爾格萊德那個冬天,他在修一台鄰居的收音機,她坐在他腳邊的地板上,手裏拿着一隻從聖誕樹上掉下來的小木雕馴鹿,安靜地玩了整個下午。他沒有教她怎麼修收音機,但她學會了坐在他旁邊不發問地陪伴。
他不知道她變成了一個會給母親寫信的人。
也不知道那封信裏——是否會提到他。
他放下手機。他的手指觸碰到鍵盤邊緣,但沒有按下任何一個鍵。
在遙遠的深圳,在那棟被信號偵測陣列鎖定了五個小時的大樓地下,陆远正在給女兒掖好毯子的邊角。從女兒呼吸聲裏,他能判斷出她已經在藥物的作用下進入了深度睡眠。她不會感覺到突擊隊進入那棟樓時的震動,不會聽到那些腳步聲和指令聲。她只會在這張摺疊牀上睡着,然後——如果一切順利——在某一個他還沒想好的地方醒來。
陆远把手按在胸前內側的口袋上。隔着衣料,他感觸到那枚管狀鑰匙的輪廓——那台運行着FreeBSD的服務器裏保存的舊互聯網的骨架。還有那封還沒有送到貝爾格萊德的信。
線斷沒斷,取決於接下來兩個小時裏誰會先做出決定。
據點的空氣變得有些凝滯。法尔汉已經把核心編譯服務器的硬盤裝進了一個防震箱,正在檢查地下通道的出口狀態。沈姐在角落收拾最基本的藥品和女兒的水壺。其他人在各自工位上做最後的準備——刪除日誌、粉碎介質、關閉一切可能被恢復的數據殘留。
陆远站在倒計時屏幕前,看着上面那些跳動的數字。
「T-38:14:52 · 目標:陆子衿 · 醫療授權凍結剩餘時間」
還有三十八小時。如果三十六小時的準備時間能壓縮到三十一小時——如果他們能在這兩小時內不被堵死——如果鸽子网络的那輛摩托車不拋錨——如果米兰·沃伊诺维奇不按下那個攔截按鈕——
太多的如果。
但他沒有時間去數那些如果了。
他關掉了倒計時屏幕,轉身走進了通道入口處的黑暗中。
兩小時。或者更短。
而在這座城市之外——在一條穿越撒哈拉邊緣的沙漠公路上,一輛摩托車正在以八十公里的時速貼着地面飛馳。車手俯伏在油箱上,風鏡後的眼睛眯成一條線,前方是一望無際的、被星光照亮的沙土路面。他不知道深圳正在發生什麼,不知道自己後座上的金屬盒裏裝着的固件是做什麼用的,不知道自己正在跟一場包圍賽跑。
但他沒有停下來。
星光之下,摩托車的尾燈在沙漠公路的盡頭逐漸縮小,變成一個針尖大小的紅點,然後消失在下一個沙丘的背面。