第7章 · 貝爾格萊德的雪
米兰·沃伊诺维奇在北京時間凌晨三點十七分醒來,這個規律他已經保持了二十二年——每天只睡四個小時,剩下的時間用來閱讀、計算、和等待。
他沒有立刻睜眼。黑暗裡,臥室天花板上的投影儀正在播放實時星链拓撲圖的低分辨率縮略版,那些綠色的星間鏈路像熒光血管一樣在他的視線上方緩緩脈動。這是他入睡前設置的,像別人睡前會聽白噪音一樣——星链網絡的健康狀態是他的安神曲。
他起身,赤腳踩在地板上。貝爾格萊德的六月,凌晨的溫度只有十五度,但他不覺得冷。他走進書房,沒有開燈,三塊懸浮屏幕感應到他的瞳孔識別,自動亮起。
第一塊屏幕顯示著陆远的位置。那個座標此刻在中國南海的上空——不是真實位置,是信號代理的中繼路徑痕跡。陆远從深圳的数据党據點出發後,信號路徑經過了三次跳轉,但米蘭不需要那些偽裝。他直接追蹤到了克隆信號底層的固件特徵碼——那個特徵碼是他親手設計的,像在每一張鈔票裡嵌入的隱形水印,無論經過多少次轉手,他都能認出來。
第二塊屏幕顯示著数据党的通信模式拓撲圖。米蘭已經繪製出了他們的組織架構——不是全部,但足夠完整。法尔汉是技術核心,阿米娜是物流骨幹,還有柏林、拉各斯、新加坡、布宜諾斯艾利斯的四個主要節點。他已經掌握了其中三個節點的精確位置。
他什麼也沒有做。
第三塊屏幕亮起來的時候,米蘭的手在鍵盤上方懸停了一秒。
那是一張照片。拍攝角度是從街對面的一棟公寓樓窗口長焦拍攝的,畫面裡是一個年輕女人正在推開一扇灰色的單元門。二十六歲,棕色長髮束成低馬尾,穿一件墨綠色的風衣,側臉在午後陽光下輪廓分明。她嘴角帶著一絲笑意——不是對著鏡頭,是對著門裡出來的什麼人。
米娅。他的女兒。
米蘭看著這張照片看了很久。
他記得這棟公寓的位置。柏林,克羅伊茨貝格區,一棟沒有電梯的舊公寓樓,樓下有一家土耳其烤肉店。他從來沒有去過,但他在地圖上看過它上百次。他曾經不止一次在深夜打開飛往柏林的機票預訂頁面,填好所有信息,然後在點擊確認之前關掉窗口。
他從來沒能點下去。
米蘭關掉了第三塊屏幕,起身去煮咖啡。廚房的窗外是貝爾格萊德的夜景——薩瓦河在對岸無聲流淌,老城區的燈火稀疏而溫暖,像一幅褪色的油畫。他在這座城市生活了四十七年,經歷了它的分裂、轟炸、重建和沉默。這座城市教會了他一件事:沒有統一秩序的文明,只是一群手持利刃的兒童在黑暗中互相摸索彼此的咽喉。
他端著咖啡杯在黑暗中站了很久。
然後他走回書桌,打開了一個上鎖的抽屜。抽屜裡沒有機密文件,沒有武器,只有一個牛皮封面筆記本——紙質,手寫,不連接任何網絡。
他翻開最新的一頁,拿起鋼筆,開始寫字。他的塞爾維亞語書寫工整而剋制,每個字母之間的間距都近乎一致。
2057年6月14日。
他們找到了側信道。比我的預期提前了大約十一個月。法尔汉·馬利克——我讀過他的論文,他在2049年發表過一篇關於量子密鑰分發系統中光子到達時間差的編碼潛力的理論文章,當時沒有人重視。現在有人用起來了。
有意思的是那個中國人。陆远。他走了一條完全不同的路——信號指紋克隆,物理層代理,老派但有效。他的動機不在網絡空間裡,在他女兒身上。這使他和数据党的其他人不一樣。法尔汉是為了智力挑戰,阿米娜是為了記憶,数据党的大多數人是為了意識形態——但陆远是為了另一個具體的人。
具體的人是最難預測的變量。
米蘭的筆尖在紙面上停了一下。
我留了那麼多入口,等了那麼多年。現在終於有人走進來了。但走進來的人並不是我認為會走進來的那種。
他合上筆記本,沒有寫最後一行。但他知道那行未落筆的字是什麼——他讓我想起我自己。
米蘭七歲那年,貝爾格萊德的雪下得很大。
他記憶裡的冬天總是灰色的——灰色的天空,灰色的雪,灰色的人臉。那是1989年,南斯拉夫正在解體,空氣中瀰漫著火藥和鐵鏽的氣味,像某種看不見的鏽病正在侵蝕這座城市的骨架。
他的父親亞歷山大·沃伊諾維奇是一名電信工程師,在貝爾格萊德的電話交換局工作了十九年。一米八五的個子,手掌寬大,指關節因為常年擰螺絲和剝線鉗而變得粗大突出。他話不多,但手很穩——米蘭印象最深的是父親的雙手:在修理設備時極度精準,在日常生活中卻有一種笨拙的溫柔,給兒子削蘋果時會把皮削成連續不斷的一條。
1990年的冬天,排隊領麵包的日子。
那一天的氣溫降到零下十二度。米蘭跟在母親身後,站在一條蜿蜒穿過三個街區的隊伍裡。所有人都穿著同一種深色的厚外套——不是統一的制服,是因為所有人都在穿上一代人留下的舊衣服。沒有人說話。孩子們靠在大人腿邊,冷得縮成一團。
米蘭前面站著一個老婦人,她的背駝得很厲害,整個人像一把摺疊過度無法完全展開的舊傘。她手裡攥著一張配給券,手指已經被凍成紫色。當她終於走到發麵包的窗口時,工作人員看了她的配給券一眼,搖了搖頭,說了句什麼。老婦人沒有爭辯。她轉過身,慢慢走回隊伍的末尾,繼續等。
米蘭的母親把自己那份麵包掰了一半,走過去塞進老婦人手裡。老婦人沒有推辭,甚至連"謝謝"都沒說,只是把麵包藏進大衣內側,轉身走了。
"她為什麼不排隊?"米蘭問。
"她排過了,"母親說,聲音很低,"但麵包不夠了。"
"為什麼不夠?"
母親沒有回答。
那天晚上,父親回家時大衣上沾著機油和雪。他在門口站了很久,把靴子上的泥蹭乾淨才進屋。桌上放著半塊麵包和一碗豆子湯。父親坐下來,吃得很慢。
"今天又斷了一條線,"他說,不是抱怨,是陳述,"薩拉熱窩那邊的交換站被炸了。手動切換的冗餘線路也被切了。那邊的人現在打不通電話。"
"那他們是去修了嗎?"米蘭問。
父親看了他一眼。"去了。我去不了。那條線要穿過交火區。"
米蘭當時並不完全理解"交火區"是什麼意思。但他記住了父親說這句話時的表情——不是恐懼,是一種更深層的、像金屬疲勞一樣的東西。他說"我去不了"的時候,嘴角的肌肉繃得很緊,像一個用力咬住什麼的動作。
那一年貝爾格萊德的冬天持續了很久。過完年後雪還在下。街道上的雪沒有人掃,積了將近半米深,人們踩出來的足跡形成了一條條狹窄的通道,像迷宮一樣拐來拐去。兩條街外的公寓樓被炮彈擊中過一次,炸出一個直徑三米的洞,沒有人來修。路過的人只看一眼,然後繼續走路。
1991年春天,貝爾格萊德的街道上出現了第一批武裝平民。
米蘭記得很清楚。那天他放學回家,看見幾個穿著混搭軍服的男人站在街角,手裡端著步槍,槍口朝下。他們不是正規軍——他們的軍服不統一,有人穿迷彩褲,有人穿皮夾克腳下蹬著運動鞋。但他們的眼神是一樣的。
其中一個男人注意到了米蘭,朝他笑了笑。那不是一個惡意的笑,甚至可以說有些友好。但米蘭全身發冷。他不知道為什麼,但他直覺地感到那個人手中槍管的溫度比他笑容的溫度要真實得多。
他跑回了家。
兩個月後,戰爭正式爆發。斯洛文尼亞、克羅地亞、波黑——一個個共和國相繼宣佈獨立,南斯拉夫人民軍開始介入,戰線像乾涸湖底的裂紋一樣迅速蔓延。貝爾格萊德沒有直接成為戰場,但它像一個坐在起火的房子中央的人——四面牆壁都在冒煙,天花板在咯吱作響,你知道什麼時候會塌下來只是時間問題。
米蘭的父親被臨時徵召——不是作為士兵,是作為電信技術支援人員。他的任務是在炮火間隙修復被炸斷的通信線路,確保軍隊和民政部門之間的電話線暢通。
"確保線是通的,"父親出門時說了一句,語氣平淡得像在說"記得關窗"。
那是米蘭最後一次聽到他的聲音。
三天後,兩個穿制服的人敲開了他們家的門。米蘭母親在門口站了很久,沒有哭,只是用一種米蘭從未見過的表情看著門外的來人。她的嘴唇動了幾下,沒有發出聲音。
父親在修復薩拉熱窩附近一條被狙擊手切斷的電話線時被擊中。不是炮擊,不是流彈——是精確瞄準的射擊,來自對面樓層的窗口。狙擊手等待的就是來修線的人。
他們後來聽說,那一槍是故意的。那個狙擊手的目標不是軍事設施,不是政府大樓——他的目標就是切斷通信。如果線路被修好,他就開槍打死修線的人。這樣下一組來修線的人就會猶豫。時間拖得越久,雙方的溝通越困難,衝突就越容易在信息真空中被誤判升級。
這是戰術。把人命當成信號衰減的代價。
米蘭的母親在葬禮上沒有哭。她穿著黑色的喪服,站在墓地裡,手臂僵硬地垂在身體兩側。米蘭站在她身邊,凍得發僵的手指緊緊攥著一朵蔫了的花。
回到家之後,母親在廚房的桌邊坐了很久。米蘭不知道她在想什麼。後來她站起來,打開碗櫃,把裡面唯一一面完整的陶瓷盤子拿出來——那是他們最值錢的餐具——端詳了幾秒鐘。然後她鬆手讓它掉在地上,摔成了碎片。
米蘭站在門口,看著地上的碎瓷片。他沒有去問"媽媽你怎麼了"。他只是蹲下來,一塊一塊地幫母親把碎片撿起來。
那年他七歲。
他花了很長時間才理解父親最後一句話的含義。"確保線是通的"——不是一句叮囑,是一句信仰。父親相信信息的流動是阻止暴力的唯一方式。當人們能聽見對方的聲音時,他們就不會開槍;而當線路被切斷時,誤解、恐懼、仇恨就會找到它們生長的空隙。
米蘭在那年冬天做了一個決定——他自己也說不清是幾月幾號、什麼具體時刻,但這個決定就像一塊沉入水底的石頭,永遠不會再浮起來。
他要成為修線的人。
不是修貝爾格萊德到薩拉熱窩的電話線。是修整個世界的基礎設施——那些讓信息在人與人之間流動的管道。他要讓線路足夠密集、足夠冗餘、足夠強大,強大到沒有任何人能再次切斷它。
三十年後的今天,他成為了全人類最龐大的通信基礎設施的總設計師。
十二萬顆衛星。
每一條星間鏈路都是他親手設計的協議。
沒有任何人能切斷它——因為沒有任何人知道全部的路由拓撲。
米蘭從筆記本中抬起頭來。窗外的天色已經微微泛白。那杯咖啡已經徹底涼了,但他還是端起來喝了一口。
他的目光重新回到屏幕上。法尔汉的加密通信流量他已經在監聽——数据党正在準備一次全球性的協議注入行動,而他們不知道的是,他們用來藏身的那條QKD側信道,是米蘭在固件裡保留了三年的一個定向入口——像一座隨時可以關閉的後門。
但米蘭不會關閉它。
不是因為他不能。
是因為他在那扇門的另一邊,看到了自己女兒的影子。
三年前。
那不勒斯灣的落日是金紅色的,像一個緩慢沉入海面的熔鐵球。米娅坐在碼頭邊的石階上,手裡拿著一臺老式的膠片相機——她喜歡膠片,因為膠片不需要token,不需要網絡,不需要向任何服務器上傳任何東西。膠片只屬於她一個人。
米蘭在她身邊坐下。這對父女已經有一年多沒見面了——上一次是貝爾格萊德的一個短暫的週末,米娅像一隻被關在籠子裡太久的鳥一樣坐立不安,不到四十八小時就走了。這次是他主動提出見面,米娅猶豫了一週才答應。
他們之間的話題是從一個技術問題開始的。這是他們唯一還能順暢交談的領域——技術和工程,因為他們在這方面的語言完全一致。
"你知道星链在做什麼嗎?"米娅問。她的語氣不是問句,是一種帶著引號的問句。
"讓世界連接。"米蘭回答,他知道她在期待什麼樣的回答。
"讓世界連接在你的收費表上。"米娅把膠片相機放在膝蓋上,轉過頭看著他。她的眼睛和她母親一模一樣——灰綠色的,冷的時候很冷,熱的時候很熱,"爸爸,你設計的QKD信道——我找到那個側信道了。"
米蘭的眉毛幾乎不可察覺地動了一下。
"那個光子到達時間差的噪聲分佈不是隨機的。你保留了激光器驅動電流的調製接口。星链固件裡有一條從未被記錄在文檔裡的路徑——它可以從應用層直接訪問激光器的偏置電流控制寄存器。"
她停頓了一下,等父親做出反應。米蘭沒有否認,沒有解釋。他只是看著她,像是在等她說完。
"這個側信道可以用來傳數據。"米娅說,"每秒鐘不到一比特。但對於加密密鑰和指令來說,夠了。"
米蘭沉默了很久。海面上最後一片金紅色正在被深藍吞沒,漁船的馬達聲從遠處傳來,斷斷續續。
"系統不是完美的,"米娅最後說,不再用那種挑戰的語氣,聲音輕了下來,"我知道你不知道那個側信道存在。但你的系統不完美,爸爸。你設計的不是一堵牆——你設計的是一個籠子。而籠子總有縫隙。"
她沒有注意到的是,米蘭的下頜肌肉微微收緊了一下——那個和他父親當年聽到"交火區"時一模一樣的微表情。
他沒有告訴她:那個側信道是他故意留下的。不是因為疏忽,不是因為設計缺陷——是他在星链固件中埋下的數十個測試入口中的一個,是為了觀察誰會找到它、用來做什麼、走多遠。但他也沒有告訴她的另一件事是:在所有發現這個入口的人中,米娅是唯一一個他沒有預料到的。
"也許不是完美的。"米蘭最終說。他的聲音平靜、溫和,像一個父親在跟女兒討論一道數學題,"但它是目前人類擁有的最好的系統。"
"最好的系統?"米娅站了起來。她的身高跟她母親一樣,不到一米六五,但站起來的時候有一種說不出的壓迫感,"你監控著地球上每一個人的每一次呼吸——每一個搜索請求、每一次位置更新、每一次支付、每一次心跳——你都把它轉化成賬單上的一行記錄。你稱之為連接。但這不是連接。這是殖民。"
"殖民需要有一箇中心。"米蘭也站起來。他不是在辯解,他是在陳述,"星链沒有中心。網絡沒有中心。它是去中心化的——"
"去中心化的基礎設施,集中化的控制權。"米娅說,"你比任何人都清楚,控制協議層的人控制一切。"
她彎腰拾起地上的膠片相機,拍了拍石階上的灰,背對著父親站了幾秒鐘。
"媽媽讓我問你回不回家吃飯。"
米蘭沒有回答。
"她說她不做你愛吃的了。你愛吃的東西她已經忘記了。"
米娅說完這句話,頭也不回地沿著碼頭的石階走了。她的腳步不快不慢,像走在一條她已經決定好了的路上。夕陽的最後一縷光把她的影子拉得很長,在粗糙的石板地面上起伏,漸漸變小,消失在碼頭盡頭的拐角處。
米蘭站在石階上,直到漁船的燈光完全取代了天光。他沒有追上去。
後來他回到貝爾格萊德的公寓,在黑暗的客廳裡坐了很久。他沒有開燈,沒有吃飯,沒有查看任何屏幕。他只是坐在沙發上,看著窗外薩瓦河對岸的燈光,手指無意識地在沙發表面上輕輕敲擊著某種節奏——那是父親修電話線時哼過的一首老歌的節拍。
兩個月後,他接到了米娅發來的一封電子郵件——不是通過星链的郵件系統,是通過一個古老到幾乎被遺忘的匿名郵件轉發服務,繞過了星链的網絡。
郵件只有一句話:
"側信道我告訴数据党的人了。對不起。但我不後悔。"
米蘭讀完那封郵件,刪掉了它,沒有回覆。
他花了三天時間去確認米娅在那不勒斯說的那件事情——那個側信道。不是去修補它,是去確認它還能用。他檢查了固件中那個寄存器的訪問日誌。数据党的技術團隊已經在兩週前第一次訪問了它。四天前,第二次。前天,第三次。
他坐在屏幕前,看著那些訪問記錄,表情無法被任何旁觀者解讀。
他從來沒有告訴任何人——包括米娅——那個側信道是他26年前在南斯拉夫戰爭罪法庭檔案室查閱父親死亡案件的卷宗時,在一份北約轟炸通信基礎設施的行動記錄中得到啟發的。當時他讀著那些行動的細節,腦子裡卻想著一件完全不同的事情:如果我是那些轟炸機的目標,我該怎麼在自己造的建築裡藏一條不會被發現的逃生通道?
那個念頭在他腦子裡生長了二十六年,最終變成了一條在星链固件中隱藏的、沒有記錄在任何文檔中的代碼路徑。他藏得太深,深到他自己有時候都懷疑它是否真的存在。
但它是真的。米娅找到了它。
他一直在等有人走進來。但當他聽到那個走進來的人是他女兒的時候,他不知道自己是什麼感受。不是憤怒。不是恐懼。是一種類似黑暗中被人輕輕握住手腕的感覺——不是攻擊,是一種接觸。他設計了這個世界最精密的連接系統,但他和女兒之間最深刻的一次交流,發生在一個被他故意留下的漏洞裡。
米蘭從回憶中抽離。他發現自己已經在書房裡坐了一個小時,面前的第三塊屏幕不知道什麼時候又被他自己打開了。米娅的照片再次出現在屏幕上——這次不是偷拍的街景,是一張更早的照片,拍攝於貝爾格萊德的舊公寓陽臺上。米娅大約十六歲,穿著校服,頭髮被風吹得遮住了半邊臉,正在朝鏡頭笑。
那張照片是用數碼相機拍的,拍攝者是他自己。
米蘭伸出手,關掉了屏幕。
他拿起內線電話,撥了一個號碼。
響了兩聲,對面接通了。
"塞拉斯,"他說,"深圳那個克隆信號——不要碰。讓他跑。"
對面沉默了幾秒。塞拉斯的聲音帶著一種剋制的不滿:"你在保護他。為什麼?"
"因為他在做的事——還沒做完。"米蘭說,頓了頓,"而且他還有一個我沒算到的變量。"
"什麼變量?"
米蘭沒有回答。他掛斷了電話,靠回椅背。
窗外,貝爾格萊德的天際線上泛起第一縷魚肚白。這座城市經歷過太多次黎明,每一次都像是又一次僥倖活了下來。米蘭看著那縷光沿著薩瓦河的方向蔓延,像一條正在被逐步接通的線路。
他想起米娅說的話。
籠子總有縫隙。
米蘭閉上眼睛。在黑暗的眼瞼後面,他看見的不是衛星拓撲圖,不是星間鏈路的綠色光線——他看見的是貝爾格萊德1989年的冬天,一條漫長的人群隊伍在雪地裡蜿蜒,他的母親站在他身邊,握著他的手,那隻手的溫度他還能記得。
她握得那麼緊,好像一鬆開,他就會被某種看不見的力量捲走。
米蘭睜開眼。
他打開日記本,又合上了。今晚不需要再寫什麼了。
他已經在這條路上走了太久。路的盡頭沒有人等著他——他清楚這一點——但他已經無法轉向。
就像父親當年在交火區走向那根斷掉的電話線一樣。
他別無選擇。