第9章 第 9 章
走廊的感應燈像喘不過氣的心臟,一亮一滅。白光從工作室門口洩出來,照在地上那堆被踩碎的樣品塑封片上,反光像碎冰,刺得人睜不開眼。
沈越被扣住手臂往外帶,稽核臂章在他視線裡晃,對講機裡的電流聲還沒停,一句句短促的指令像鉚釘敲在牆面上。
他沒掙。他把力氣省下來,省在看,省在記。
剛跨出門檻那一瞬,他眼角掃到地上那個被撕開一角的物流標籤。標籤底下露出的不是普通黑膠,而是一段極細的鏡頭邊緣,像一隻半閉的眼。那眼的冷意穿過塑封、穿過鞋印,直直落到他心口上。
那不是今晚才出現的東西。那是早就埋好的。
沈越的耳朵裡忽然傳來一陣很細的嘶聲,不是人聲,是「物」在白光裡被逼出來的情緒。那堆樣品本來只是沉默的道具,現在卻像被人拽住喉嚨,一個個發出短促的、帶著恐懼的回音:藏著、藏著、別讓他們拿走。
他心裡一沉,立刻把那點異樣壓下去,面上仍舊冷。稽核助理的平板在他面前抬起來,屏幕亮得晃眼,界面上是標準的「現場驗簽」流程。
「沈越同學。」對方語氣依舊公事公辦,「請你在這裡完成硬簽比對。你可以選擇使用個人硬體錢包或平台提供的臨時簽名器。驗證內容包括:七月二十一日鏡像合約初始化簽名、分潤權限授予簽名,以及清算模組授權樹來源。」
沈越看著那行日期,喉頭像吞了鐵屑。七月二十一,那天他還在跌落谷底的灰燼裡翻找喘息,他以為自己把舊鑰封存了,把過去的榮光和污名都一起鎖住。可現在這把鎖被人用他的指紋打開,還反過來咬他一口。
「我剛才要求調取合作方C的節點操作日誌。」沈越聲音不高,但字句乾脆,「你們驗簽可以,我也配合。但我只在同一個流程裡驗,不接受你們先寫結論再補證據。」
稽核助理的目光微微一滯,像在衡量。走廊裡有人往前一步,是校方安保,手按在腰間的束帶上,姿勢不算威脅,但足夠讓人明白:這裡的秩序由誰說了算。
稽核助理低頭點了幾下,平板上彈出一個提示框:合作方節點日誌屬於合作方商業機密,需申請權限。下面一行灰字:授權方錢包C拒絕共享。
沈越嘴角扯了一下,像笑,又不像。「拒絕共享?」他抬眼看向稽核助理,「你剛才說是聯合稽核。聯合是誰聯合誰?如果合作方可以直接拒絕,你們叫什麼稽核?叫配合他們寫劇本?」
稽核助理的臉色一瞬間沉下來,卻又很快把情緒收回去。他看起來確實不是許燦的人,那種冷不是算計的滑,而是制度裡磨出來的硬。他把平板翻到另一頁,讓沈越看到一串權限說明:「合作方已依規提交合約快照與簽名紀錄。你若質疑,可在驗簽後走申訴流程。」
「申訴?」沈越看著那兩個字,像看著一條拖人入水的繩子。他語氣更冷了,「申訴要幾天?清算倒計時要幾分鐘?你們要我把脖子伸過去,再教我怎麼喊冤?」
安保的手更緊了些,扣在他臂上的力道也加重。沈越沒皺眉,只把肩微微一沉,讓那力道不至於扭到關節。
他知道自己不能在這裡被激怒。對方要的就是他失控,最好在鏡頭前、在走廊監控下,留下「拒不配合」「情緒激動」的片段,然後輿論就能被許燦捏成他想要的形狀。
沈越把視線落回驗簽界面,指尖貼上臨時簽名器的感應面。冰涼的觸感讓他清醒了一點。他一邊操作,一邊低聲說:「我簽,但我有兩個條件。第一,全程錄屏,上鏈存證。第二,你們必須允許我同步向公眾端播報驗簽結果,避免事後被剪輯成我單方面認罪。」
稽核助理眼神銳了一下:「你要直播?」
「我不賣貨。」沈越說,「我只賣真相。」
走廊另一端忽然傳來一陣更大的喧鬧,像有人把一個直播間的音量開到最大。遠處校園主屏方向的光從窗縫灌進來,映得牆面一片淡藍。有人在喊某個主播的名字,聲浪像潮。
稽核助理也聽到了,眉心微皺。他抬手按了按對講機,電流聲裡夾著一句:「主屏有人插播,身份不明,正在調流。」
沈越的內袋終端又震了一下,像被人用指尖敲了敲心口。Y的訊息還停在那句:我在下方。走你店鋪的鏡像出口。
他沒回。現在回一句,就等於把自己的心跳交給未知的手。
但他必須判斷。Y如果是真的,那江行曜就在下方,用自己的方式把「視線」撐住;如果是假的,那就是要把他從亮處拽到暗處,讓他消失在無監控的角落。
沈越深吸一口氣,讓自己的聲音仍然平。「我先驗七月二十一的鏡像初始化簽名。」他盯著屏幕,像盯著一條蛇的七寸,「你們不是說簽名者是我嗎?那就讓鏈上驗。」
稽核助理點頭,指尖滑動。屏幕跳出簽名比對的細項:簽名算法、設備指紋、時間戳、發起節點。
沈越的眼神在「設備指紋」那一欄停住。
不是他現在用的設備指紋,也不是他後來換過的任何一台。那是一串舊到幾乎被他忘了的硬體標識,尾碼帶著他當年店鋪的縮寫:S-YUE。
他胸口像被什麼猛地撞了一下。舊鑰。
他當年用來簽大額供應鏈協議的硬體錢包,後來被他封進「標準樣箱」裡,跟當年的原版貨樣、合同紙本、以及一堆用來證明自己清白的瑣碎證據放在一起。他以為那箱子早被捲款的合夥人帶走,或被許燦的人抄走,成了消失的墳墓。
原來沒消失。原來它一直在某個地方,被人反覆打開、複用、再鎖回去。
而現在,那把鑰匙被人用來簽下鏡像初始化,等於在鏈上造了一個「沈越的影子」,讓影子替他做髒事,再把責任推回他身上。
沈越的指尖在簽名器上停了一秒,然後按下確認。
比對結果跳出:簽名有效。與S-YUE舊鑰公鑰匹配。簽名者標識:沈越。
走廊裡幾個稽核人員交換了一下眼神,像在等他崩。安保的手又收緊,像怕他突然暴起。
沈越卻只是抬眼,平靜得近乎可怕:「有效,對。我不否認這把鑰的公鑰是我的。」他頓了頓,像把刀磨到最薄,「但你們要證明的是『我本人』在七月二十一操作了它,而不是有人持有我的舊鑰。驗簽只能驗鑰,驗不了手。」
稽核助理的眼神動了一下,像第一次把他當成對手而不是被稽核的學生。他沉聲:「那你要怎麼證明不是你?」
「看發起節點。」沈越把屏幕往前推了推,「這裡寫的發起節點,請你們念出來。」
稽核助理視線掃過,眉頭更深:「校園治理委員會關聯節點……」
沈越接過他的話:「我七月二十一在校園?」他冷笑,「我那天甚至沒資格進校門。我被全網抹黑,平台封店,學校的創業資源中心都把我踢出名單。你們覺得我能用校園治理委員會的關聯節點發起合約初始化?」
走廊的感應燈又滅了一下,黑暗短暫吞掉每個人的表情。再亮起時,稽核助理的臉上多了一絲不易察覺的裂縫。
他不是許燦的人,但他被規則捆住。規則說簽名有效,規則說節點關聯。可規則沒說,節點關聯可以被誰借用。
沈越把話說得更直:「要證明我本人操作,就把當晚那個節點的操作者日誌拿出來。你們拿不出,或者合作方C拒絕,那就意味著有人在用合作方的權限借壳,拿校園節點當遮羞布。」
稽核助理沉默了兩秒,像在做一個很艱難的決定。他按住對講機,低聲說了句什麼,電流聲嘶了一下,回了一句:「合作方不配合。上面要求先完成流程,把人帶走。」
沈越聽見了「帶走」兩個字,心裡那根弦繃到發痛。他知道,一旦被帶走,話語權就會被剪碎,剩下的只有通告與結論。許燦最擅長的,就是讓人「在規則裡死」。
遠處主屏的喧鬧忽然像被推到更近,透過窗戶、透過牆,滾進走廊。有人在喊:「那個主播說要放鏈上證據!」有人在笑:「校草也能寫合約?太離譜了!」更多人只是在尖叫,像嗅到一場翻盤的血腥味。
沈越的內袋終端又震,這次不只是震,像有人直接打了一通加密語音進來。屏幕在衣料下發熱,他能感到那個來電標識仍是一個字母:Y。
他忽然明白主屏是誰點燃的。
江行曜。
那個白天站在講台邊像雪一樣冷的人,那個夜裡把代碼寫成情書的人,此刻正在用匿名的聲音把戰場搬到所有人看得見的地方。
沈越抬頭看稽核助理,語氣忽然放緩了一點,不是示弱,是給對方一個台階,也給自己爭一口氣:「你不是他的人,我看得出來。你也不想當幫兇。」他把平板上那個「拒絕共享」提示點開,「把這一行拒絕結果,同步上鏈,作為稽核流程的一部分。讓所有人知道,是誰拒絕提供日誌。」
稽核助理看著他,像在衡量一個學生怎麼敢把稽核反過來稽核。他的手指停在「上鏈存證」的按鈕上,指節微微泛白。
安保低聲提醒:「別節外生枝。」
稽核助理的眼神終於冷下來,卻不是針對沈越,而是對某種無形的壓迫。他按下按鈕。
提示音很輕,卻像一記槍栓拉響:存證成功。哈希已生成。
沈越在那一瞬間,幾乎想笑。他把笑壓下去,改成更冷的平靜。「謝了。」他說,「你今天做的這一步,會救你自己。」
稽核助理沒有回,只把平板翻到下一項:「分潤權限授予簽名。授權方:沈越。受權方:合作方C。」
沈越的眼神一沉。這一項如果被坐實,就會被寫成他主動把權限交出去的證據。訂單反噬的清算模組之所以能被調用,就是因為授權樹上那根枝被人嫁接到了C上。
「驗。」沈越說得乾脆。
他按下比對。結果同樣跳出:有效。設備指紋仍是S-YUE舊鑰。發起節點仍顯示校園關聯。
沈越沒有立刻開口。他的耳邊忽然響起一個很細、很尖的情緒回音,來自走廊地上的那堆樣品。那枚藏在標籤底下的鏡頭像被白光燙醒,傳出一段模糊的「記憶」——不是畫面,是情緒的殘影:有人用手套翻箱,有人用力撕標籤,有人低聲罵了一句「快點」,還有一個很熟的香水味,甜得發膩。
許燦常用的那款。
沈越喉結滾了一下,硬把那股惡心壓回去。他不能在這裡喊出名字,沒有實體證據,只會被寫成情緒化指控。
他需要那個鏡頭。
他需要林聿找到冷庫裡的箱子,拿到原片,拿到那把舊鑰被誰拿過的證據鏈。他需要江行曜在主屏把「視線」撐住,把輿論的刀從他脖子上撥開一寸。
沈越忽然抬腳,像不經意往前一步,鞋尖擦過地上那張被撕開的物流標籤。那標籤被他鞋底帶得翻了個面,鏡頭邊緣更清晰了一點,露出一點微型鏡片的反光。
他又像不小心一樣,把旁邊一個碎掉的透明塑封片踢過去,剛好蓋住鏡頭反光,只留下一點邊角。從遠處看,它只是垃圾堆裡更不起眼的一片。
稽核助理的視線沒落在地上,他在看屏幕。安保也在看沈越的手和臉,防他耍花樣。沒人注意到那一腳。
沈越把那位置記在心裡:門檻外第三塊地磚邊,裂縫像一道斜月。
他還需要一個人知道它在那裡。
內袋終端又震,這次是一條短訊,沒有署名,但加密層級和Y一樣,像同一條管道裡不同的聲音。
訊息只有一句:鏡像出口在B2物流梯。五分鐘後封控。
沈越瞳孔微縮。
這不像江行曜會用的語氣,太像冷冰冰的告警。空地址?還是另一個在暗處推棋的人?但「B2物流梯」這個信息太具體,具體到不像誘餌,反而像救生繩上的結。
稽核助理把平板收回去,語氣恢復制度的硬:「流程完成。你已驗證簽名有效。後續由平台與合作方核對,暫時對你採取限制措施,直到你提供反證。」
「限制措施是什麼?」沈越問。
「暫扣通訊設備。」稽核助理說,「帶回稽核室。」
沈越心口一緊。他不能讓終端被扣走。那裡有江行曜的線,有林聿的去向,有他唯一能把證據送到公眾端的脈絡。
他看著稽核助理,忽然低聲說:「我配合你們去稽核室。但我有權在扣押前,將個人財產清單列明,並對扣押物封存上鏈。否則我回頭只要說你們調包,你們說得清?」
稽核助理眼神一冷:「你在威脅稽核?」
「我在保護流程。」沈越說得毫不退讓,「你剛才敢把拒絕共享上鏈,就代表你知道什麼叫清白。那就把封存也上鏈。別讓合作方C有機會在你們手裡把我的證據拿走。」
這句話像戳到稽核助理某個不得不承認的現實。他沉默兩秒,抬手示意旁邊的稽核人員拿出封存袋。
封存袋透明,貼著鏈碼。沈越把自己的手機、硬體簽名器一樣樣放進去。輪到終端時,他手指微不可察地一頓。
他知道自己只有一次機會。
沈越把終端拿出來,屏幕朝上,像在確認型號。他的拇指在側邊輕輕一滑,啟動了一個預設快捷動作。那是江行曜很早以前幫他寫的「鏡像備份」——把最近十分鐘的關鍵訊息、定位與存證哈希打包,推送到一個只讀的鏈上郵箱。郵箱的私鑰被拆成多簽,沈越自己只有其中一份,另一份……在江行曜那裡。
他曾經嘴硬說過不需要。江行曜只回他一句:你不需要,但我需要。
備份完成的提示在屏幕角落一閃即逝,像一粒光屑落進深井。
沈越把終端放入封存袋,封口被貼上鏈碼。稽核助理掃碼上鏈,封存哈希生成。
安保押著他往走廊另一端走。感應燈一路忽明忽滅,像把他送進更深的制度腹腔。
就在轉角處,窗外校園主屏的聲浪突然拔高,像有人把麥克風推到極近。那聲音清冷、克制,卻在每個字上都踩得很穩,像一行行代碼敲進夜裡。
「各位晚上好。」那聲音說,「我是Y。也是你們口中的匿名帶貨主播。今晚我不帶貨,我帶一個人的清白。」
走廊裡的人都下意識停了一瞬。稽核助理也抬了下頭,像被迫聽見了外面那場不受控的審判。
那聲音繼續:「七月二十一的鏡像初始化簽名,使用的是S-YUE舊鑰公鑰。公鑰屬於沈越,但簽名發起節點關聯校園治理委員會。這代表什麼?代表有人持有舊鑰,並借用校園關聯節點完成初始化。這是典型的權限嫁接。」
沈越的呼吸在那一刻停了半拍。
江行曜真的在撐線。他把最難懂的鏈上邏輯,拆成所有人都能聽懂的句子,像當初拆給沈越一樣。
主屏那邊傳來彈幕般的喧嘩,像雨點砸在玻璃上。
那聲音又說:「合作方C拒絕共享節點操作日誌的拒絕結果,已被現場稽核上鏈存證。你們不需要相信我,相信鏈。」
沈越的眼眶熱了一下,立刻被他壓回去。他不允許自己在這裡失態。可那股熱像火星,落在他胸口最冷的地方,燙出一個活著的洞。
安保催促:「走。」
沈越被推著往前,卻在下一次感應燈亮起時,忽然側過頭,看向走廊那扇半掩的清潔間門。門縫裡有一點黑影晃了一下,像有人在裡面藏著聽。
他不知道那是誰。斷鏈隊的人?合作方的人?還是許燦的眼線?
但他知道,自己必須把那枚藏在標籤底下的鏡頭留給能拿到的人。
沈越低聲對稽核助理說:「你們工作室門口地上,有非法偷拍設備。物流標籤底下。你們若真要查清楚,就封存它。否則明天它就會消失,然後你們只剩一串有效簽名和一個被寫死的共犯故事。」
稽核助理腳步一頓,眼神一沉:「你確定?」
沈越不看他,只看前方那段忽亮忽滅的路:「我確定。你不封存,你就是在替合作方擦屁股。」
稽核助理的喉結動了一下,像吞下某種不情願。他按住對講機,語速很快:「回收現場物證,門口地面物流標籤疑似藏匿攝錄裝置,立即封存上鏈。」
對講機那頭沉默一秒,回了一句含糊的「收到」。
沈越心裡那口氣終於落下一點,卻也更急。因為他不知道「收到」之後,拿到那枚鏡頭的是稽核,還是先一步伸手的許燦。
他被帶進電梯間,門關上的瞬間,外面主屏的聲浪被隔絕,只剩電梯井裡低沉的嗡鳴。白光打在金屬牆上,映出他蒼白的臉,也映出安保臂章上冷硬的字。
電梯往下走。
B2物流梯。
鏡像出口。
終端已封存,他只能靠腦子記住剛才那條訊息。五分鐘後封控。江行曜說他在下方,那下方是不是就是B2?他要怎麼在被押著的情況下,從制度的手裡拐進那個出口?
電梯到達的提示音像一把鈍刀落下。門開,冷氣裡帶著潮濕的紙箱味和消毒水味,地下層的燈更白,照得人像在手術台上。
走廊盡頭是一排物流梯,旁邊貼著「封控倒計時」的紅字提示。數字正在跳:04:12。
沈越的心跳跟著那數字一起跳。他看見物流梯旁有一扇灰色的維修門,門上貼著一張褪色的「鏡像備援通道」標識,像某個早就被人遺忘的系統後門,現在卻成了唯一的生路。
安保推他往前,稽核助理在旁邊低聲說:「你別亂來。你要的反證,你可以走流程。」
沈越側過頭,眼神冷得像刀:「流程會救我嗎?流程只會救合作方C。」
稽核助理的臉色一沉,卻沒有反駁。
倒計時:03:58。
就在這時,地下層另一端忽然傳來一聲金屬碰撞的輕響,像有人用硬幣敲了一下欄杆。很短,很克制,卻像某種暗號。
沈越的視線猛地抬起。
那邊站著一個穿著黑帽衫的人,帽沿壓得低,身形修長,手裡拎著一個平平無奇的物流箱。那人抬起頭的瞬間,地下白光落在他下頜線上,清冷得像雪。
江行曜沒有說話,只抬起手,指尖在空中比出一個很短的手勢,像在寫代碼裡的某個符號:確認。
沈越的喉嚨一緊,所有壓著的焦灼幾乎要破口而出。他硬生生把那句「你還活著」吞回去,只用眼神回了他一句:你來得太慢。
江行曜的目光落在沈越被扣住的手臂上,眼底的冷意像裂開一道縫,露出更深的怒。他沒有衝動,只是把物流箱放到地上,箱蓋掀開,裡面是一台小型節點設備,屏幕亮著,顯示一個正在跳動的多簽請求。
他開口,聲音低到只有這一段走廊能聽見:「鏡像出口需要雙簽。你一簽,我一簽,門就開。」
倒計時:03:21。
沈越的呼吸變得很慢。他知道,這一步踏出去,就等於把自己從「配合稽核」推到「擅自脫離」。許燦一定會抓住這一點,把他寫成逃犯,把共犯敘事釘死在他身上。
可如果不踏,他就會被帶進稽核室,失去所有能說話的窗口。江行曜在主屏撐住的視線,也會被制度的牆擋住。
沈越看向稽核助理,忽然說:「你想做對的事,就別攔我。你攔我,明天合作方C就會把這件事寫成你『依法處置』,你永遠別想再查到日誌。」
稽核助理的眼神劇烈波動了一下。他像在制度與良知之間被撕扯。安保已經皺眉,要上前。
就在那一秒,稽核助理抬手,攔住安保,語速很快:「我帶他去封存地下物證。你們去支援上層封控。」
安保愣了一下:「你確定?」
「確定。」稽核助理的聲音冷硬得像命令,「聯合稽核,我負責。」
安保遲疑,終究還是轉身走了兩步去呼叫支援。那一瞬間的空隙,像天花板掉下一條窄縫的光。
江行曜已經把節點設備推近。沈越被扣著手,無法操作太多,只能用指尖在感應面上迅速觸一下。江行曜的指尖緊跟著落下,像兩個人把同一段誓言按進鏈上。
設備屏幕跳出一行字:多簽完成。鏡像通道解鎖。
灰色維修門上的指示燈從紅轉綠,輕輕一聲咔哒,像某個長久沉睡的出口終於醒來。
倒計時:02:47。
沈越抬眼,第一次在這一整晚的白光裡,清晰地看見江行曜的眼睛。那裡有冷,有火,也有他不肯說出口的、壓了好多年的喜歡。
江行曜只說了一句,像把浪漫藏進最簡短的指令裡:「走。我帶你回到能說話的地方。」
沈越的嘴角動了一下,終究沒說謝。他只低聲回了一句,冷硬得像他一貫的樣子:「別拖後腿。」
江行曜的眼神卻像被這句話點亮了一點,伸手扣住沈越的手腕,力道穩得驚人。他帶著他踏進那扇門。
門後是一條更冷的通道,牆上貼滿舊的物流鏈碼與備援指示,像城市的神經末梢。遠處隱約傳來主屏的聲浪,像海潮還在外面拍岸。
沈越在跨過門檻的一刻,腦子裡卻閃過另一個畫面:林聿抱著硬碟鑽進暗格,去城西冷庫;那把舊鑰所在的標準樣箱,可能就在那裡;還有那枚被藏在標籤底下的鏡頭,究竟能不能被封存到他們手上。
他知道,真正的翻盤不在逃,而在把每一個「他們以為你看不見」的細節,變成全網都看得見的證據。
通道深處的燈光忽然一閃,一段訊號提示在江行曜的節點屏幕上跳出。
來自林聿,只有一行字,像咬著牙發出來的:
我找到冷庫的門了,但箱子不只一個。有人比我先到。
沈越的心猛地沉下去。
江行曜的手指在屏幕上停了一瞬,抬眼看沈越,聲音比地下的冷氣還低:「許燦要收尾了。」
沈越看著通道盡頭那片更深的黑,忽然覺得自己終於站在了故事真正的刀口上。他把所有恐懼都壓成一句話,像把自己釘住,也把江行曜釘住。
「那就讓他收。」沈越說,「收進我們的直播裡。」
沈越被扣住手臂往外帶,稽核臂章在他視線裡晃,對講機裡的電流聲還沒停,一句句短促的指令像鉚釘敲在牆面上。
他沒掙。他把力氣省下來,省在看,省在記。
剛跨出門檻那一瞬,他眼角掃到地上那個被撕開一角的物流標籤。標籤底下露出的不是普通黑膠,而是一段極細的鏡頭邊緣,像一隻半閉的眼。那眼的冷意穿過塑封、穿過鞋印,直直落到他心口上。
那不是今晚才出現的東西。那是早就埋好的。
沈越的耳朵裡忽然傳來一陣很細的嘶聲,不是人聲,是「物」在白光裡被逼出來的情緒。那堆樣品本來只是沉默的道具,現在卻像被人拽住喉嚨,一個個發出短促的、帶著恐懼的回音:藏著、藏著、別讓他們拿走。
他心裡一沉,立刻把那點異樣壓下去,面上仍舊冷。稽核助理的平板在他面前抬起來,屏幕亮得晃眼,界面上是標準的「現場驗簽」流程。
「沈越同學。」對方語氣依舊公事公辦,「請你在這裡完成硬簽比對。你可以選擇使用個人硬體錢包或平台提供的臨時簽名器。驗證內容包括:七月二十一日鏡像合約初始化簽名、分潤權限授予簽名,以及清算模組授權樹來源。」
沈越看著那行日期,喉頭像吞了鐵屑。七月二十一,那天他還在跌落谷底的灰燼裡翻找喘息,他以為自己把舊鑰封存了,把過去的榮光和污名都一起鎖住。可現在這把鎖被人用他的指紋打開,還反過來咬他一口。
「我剛才要求調取合作方C的節點操作日誌。」沈越聲音不高,但字句乾脆,「你們驗簽可以,我也配合。但我只在同一個流程裡驗,不接受你們先寫結論再補證據。」
稽核助理的目光微微一滯,像在衡量。走廊裡有人往前一步,是校方安保,手按在腰間的束帶上,姿勢不算威脅,但足夠讓人明白:這裡的秩序由誰說了算。
稽核助理低頭點了幾下,平板上彈出一個提示框:合作方節點日誌屬於合作方商業機密,需申請權限。下面一行灰字:授權方錢包C拒絕共享。
沈越嘴角扯了一下,像笑,又不像。「拒絕共享?」他抬眼看向稽核助理,「你剛才說是聯合稽核。聯合是誰聯合誰?如果合作方可以直接拒絕,你們叫什麼稽核?叫配合他們寫劇本?」
稽核助理的臉色一瞬間沉下來,卻又很快把情緒收回去。他看起來確實不是許燦的人,那種冷不是算計的滑,而是制度裡磨出來的硬。他把平板翻到另一頁,讓沈越看到一串權限說明:「合作方已依規提交合約快照與簽名紀錄。你若質疑,可在驗簽後走申訴流程。」
「申訴?」沈越看著那兩個字,像看著一條拖人入水的繩子。他語氣更冷了,「申訴要幾天?清算倒計時要幾分鐘?你們要我把脖子伸過去,再教我怎麼喊冤?」
安保的手更緊了些,扣在他臂上的力道也加重。沈越沒皺眉,只把肩微微一沉,讓那力道不至於扭到關節。
他知道自己不能在這裡被激怒。對方要的就是他失控,最好在鏡頭前、在走廊監控下,留下「拒不配合」「情緒激動」的片段,然後輿論就能被許燦捏成他想要的形狀。
沈越把視線落回驗簽界面,指尖貼上臨時簽名器的感應面。冰涼的觸感讓他清醒了一點。他一邊操作,一邊低聲說:「我簽,但我有兩個條件。第一,全程錄屏,上鏈存證。第二,你們必須允許我同步向公眾端播報驗簽結果,避免事後被剪輯成我單方面認罪。」
稽核助理眼神銳了一下:「你要直播?」
「我不賣貨。」沈越說,「我只賣真相。」
走廊另一端忽然傳來一陣更大的喧鬧,像有人把一個直播間的音量開到最大。遠處校園主屏方向的光從窗縫灌進來,映得牆面一片淡藍。有人在喊某個主播的名字,聲浪像潮。
稽核助理也聽到了,眉心微皺。他抬手按了按對講機,電流聲裡夾著一句:「主屏有人插播,身份不明,正在調流。」
沈越的內袋終端又震了一下,像被人用指尖敲了敲心口。Y的訊息還停在那句:我在下方。走你店鋪的鏡像出口。
他沒回。現在回一句,就等於把自己的心跳交給未知的手。
但他必須判斷。Y如果是真的,那江行曜就在下方,用自己的方式把「視線」撐住;如果是假的,那就是要把他從亮處拽到暗處,讓他消失在無監控的角落。
沈越深吸一口氣,讓自己的聲音仍然平。「我先驗七月二十一的鏡像初始化簽名。」他盯著屏幕,像盯著一條蛇的七寸,「你們不是說簽名者是我嗎?那就讓鏈上驗。」
稽核助理點頭,指尖滑動。屏幕跳出簽名比對的細項:簽名算法、設備指紋、時間戳、發起節點。
沈越的眼神在「設備指紋」那一欄停住。
不是他現在用的設備指紋,也不是他後來換過的任何一台。那是一串舊到幾乎被他忘了的硬體標識,尾碼帶著他當年店鋪的縮寫:S-YUE。
他胸口像被什麼猛地撞了一下。舊鑰。
他當年用來簽大額供應鏈協議的硬體錢包,後來被他封進「標準樣箱」裡,跟當年的原版貨樣、合同紙本、以及一堆用來證明自己清白的瑣碎證據放在一起。他以為那箱子早被捲款的合夥人帶走,或被許燦的人抄走,成了消失的墳墓。
原來沒消失。原來它一直在某個地方,被人反覆打開、複用、再鎖回去。
而現在,那把鑰匙被人用來簽下鏡像初始化,等於在鏈上造了一個「沈越的影子」,讓影子替他做髒事,再把責任推回他身上。
沈越的指尖在簽名器上停了一秒,然後按下確認。
比對結果跳出:簽名有效。與S-YUE舊鑰公鑰匹配。簽名者標識:沈越。
走廊裡幾個稽核人員交換了一下眼神,像在等他崩。安保的手又收緊,像怕他突然暴起。
沈越卻只是抬眼,平靜得近乎可怕:「有效,對。我不否認這把鑰的公鑰是我的。」他頓了頓,像把刀磨到最薄,「但你們要證明的是『我本人』在七月二十一操作了它,而不是有人持有我的舊鑰。驗簽只能驗鑰,驗不了手。」
稽核助理的眼神動了一下,像第一次把他當成對手而不是被稽核的學生。他沉聲:「那你要怎麼證明不是你?」
「看發起節點。」沈越把屏幕往前推了推,「這裡寫的發起節點,請你們念出來。」
稽核助理視線掃過,眉頭更深:「校園治理委員會關聯節點……」
沈越接過他的話:「我七月二十一在校園?」他冷笑,「我那天甚至沒資格進校門。我被全網抹黑,平台封店,學校的創業資源中心都把我踢出名單。你們覺得我能用校園治理委員會的關聯節點發起合約初始化?」
走廊的感應燈又滅了一下,黑暗短暫吞掉每個人的表情。再亮起時,稽核助理的臉上多了一絲不易察覺的裂縫。
他不是許燦的人,但他被規則捆住。規則說簽名有效,規則說節點關聯。可規則沒說,節點關聯可以被誰借用。
沈越把話說得更直:「要證明我本人操作,就把當晚那個節點的操作者日誌拿出來。你們拿不出,或者合作方C拒絕,那就意味著有人在用合作方的權限借壳,拿校園節點當遮羞布。」
稽核助理沉默了兩秒,像在做一個很艱難的決定。他按住對講機,低聲說了句什麼,電流聲嘶了一下,回了一句:「合作方不配合。上面要求先完成流程,把人帶走。」
沈越聽見了「帶走」兩個字,心裡那根弦繃到發痛。他知道,一旦被帶走,話語權就會被剪碎,剩下的只有通告與結論。許燦最擅長的,就是讓人「在規則裡死」。
遠處主屏的喧鬧忽然像被推到更近,透過窗戶、透過牆,滾進走廊。有人在喊:「那個主播說要放鏈上證據!」有人在笑:「校草也能寫合約?太離譜了!」更多人只是在尖叫,像嗅到一場翻盤的血腥味。
沈越的內袋終端又震,這次不只是震,像有人直接打了一通加密語音進來。屏幕在衣料下發熱,他能感到那個來電標識仍是一個字母:Y。
他忽然明白主屏是誰點燃的。
江行曜。
那個白天站在講台邊像雪一樣冷的人,那個夜裡把代碼寫成情書的人,此刻正在用匿名的聲音把戰場搬到所有人看得見的地方。
沈越抬頭看稽核助理,語氣忽然放緩了一點,不是示弱,是給對方一個台階,也給自己爭一口氣:「你不是他的人,我看得出來。你也不想當幫兇。」他把平板上那個「拒絕共享」提示點開,「把這一行拒絕結果,同步上鏈,作為稽核流程的一部分。讓所有人知道,是誰拒絕提供日誌。」
稽核助理看著他,像在衡量一個學生怎麼敢把稽核反過來稽核。他的手指停在「上鏈存證」的按鈕上,指節微微泛白。
安保低聲提醒:「別節外生枝。」
稽核助理的眼神終於冷下來,卻不是針對沈越,而是對某種無形的壓迫。他按下按鈕。
提示音很輕,卻像一記槍栓拉響:存證成功。哈希已生成。
沈越在那一瞬間,幾乎想笑。他把笑壓下去,改成更冷的平靜。「謝了。」他說,「你今天做的這一步,會救你自己。」
稽核助理沒有回,只把平板翻到下一項:「分潤權限授予簽名。授權方:沈越。受權方:合作方C。」
沈越的眼神一沉。這一項如果被坐實,就會被寫成他主動把權限交出去的證據。訂單反噬的清算模組之所以能被調用,就是因為授權樹上那根枝被人嫁接到了C上。
「驗。」沈越說得乾脆。
他按下比對。結果同樣跳出:有效。設備指紋仍是S-YUE舊鑰。發起節點仍顯示校園關聯。
沈越沒有立刻開口。他的耳邊忽然響起一個很細、很尖的情緒回音,來自走廊地上的那堆樣品。那枚藏在標籤底下的鏡頭像被白光燙醒,傳出一段模糊的「記憶」——不是畫面,是情緒的殘影:有人用手套翻箱,有人用力撕標籤,有人低聲罵了一句「快點」,還有一個很熟的香水味,甜得發膩。
許燦常用的那款。
沈越喉結滾了一下,硬把那股惡心壓回去。他不能在這裡喊出名字,沒有實體證據,只會被寫成情緒化指控。
他需要那個鏡頭。
他需要林聿找到冷庫裡的箱子,拿到原片,拿到那把舊鑰被誰拿過的證據鏈。他需要江行曜在主屏把「視線」撐住,把輿論的刀從他脖子上撥開一寸。
沈越忽然抬腳,像不經意往前一步,鞋尖擦過地上那張被撕開的物流標籤。那標籤被他鞋底帶得翻了個面,鏡頭邊緣更清晰了一點,露出一點微型鏡片的反光。
他又像不小心一樣,把旁邊一個碎掉的透明塑封片踢過去,剛好蓋住鏡頭反光,只留下一點邊角。從遠處看,它只是垃圾堆裡更不起眼的一片。
稽核助理的視線沒落在地上,他在看屏幕。安保也在看沈越的手和臉,防他耍花樣。沒人注意到那一腳。
沈越把那位置記在心裡:門檻外第三塊地磚邊,裂縫像一道斜月。
他還需要一個人知道它在那裡。
內袋終端又震,這次是一條短訊,沒有署名,但加密層級和Y一樣,像同一條管道裡不同的聲音。
訊息只有一句:鏡像出口在B2物流梯。五分鐘後封控。
沈越瞳孔微縮。
這不像江行曜會用的語氣,太像冷冰冰的告警。空地址?還是另一個在暗處推棋的人?但「B2物流梯」這個信息太具體,具體到不像誘餌,反而像救生繩上的結。
稽核助理把平板收回去,語氣恢復制度的硬:「流程完成。你已驗證簽名有效。後續由平台與合作方核對,暫時對你採取限制措施,直到你提供反證。」
「限制措施是什麼?」沈越問。
「暫扣通訊設備。」稽核助理說,「帶回稽核室。」
沈越心口一緊。他不能讓終端被扣走。那裡有江行曜的線,有林聿的去向,有他唯一能把證據送到公眾端的脈絡。
他看著稽核助理,忽然低聲說:「我配合你們去稽核室。但我有權在扣押前,將個人財產清單列明,並對扣押物封存上鏈。否則我回頭只要說你們調包,你們說得清?」
稽核助理眼神一冷:「你在威脅稽核?」
「我在保護流程。」沈越說得毫不退讓,「你剛才敢把拒絕共享上鏈,就代表你知道什麼叫清白。那就把封存也上鏈。別讓合作方C有機會在你們手裡把我的證據拿走。」
這句話像戳到稽核助理某個不得不承認的現實。他沉默兩秒,抬手示意旁邊的稽核人員拿出封存袋。
封存袋透明,貼著鏈碼。沈越把自己的手機、硬體簽名器一樣樣放進去。輪到終端時,他手指微不可察地一頓。
他知道自己只有一次機會。
沈越把終端拿出來,屏幕朝上,像在確認型號。他的拇指在側邊輕輕一滑,啟動了一個預設快捷動作。那是江行曜很早以前幫他寫的「鏡像備份」——把最近十分鐘的關鍵訊息、定位與存證哈希打包,推送到一個只讀的鏈上郵箱。郵箱的私鑰被拆成多簽,沈越自己只有其中一份,另一份……在江行曜那裡。
他曾經嘴硬說過不需要。江行曜只回他一句:你不需要,但我需要。
備份完成的提示在屏幕角落一閃即逝,像一粒光屑落進深井。
沈越把終端放入封存袋,封口被貼上鏈碼。稽核助理掃碼上鏈,封存哈希生成。
安保押著他往走廊另一端走。感應燈一路忽明忽滅,像把他送進更深的制度腹腔。
就在轉角處,窗外校園主屏的聲浪突然拔高,像有人把麥克風推到極近。那聲音清冷、克制,卻在每個字上都踩得很穩,像一行行代碼敲進夜裡。
「各位晚上好。」那聲音說,「我是Y。也是你們口中的匿名帶貨主播。今晚我不帶貨,我帶一個人的清白。」
走廊裡的人都下意識停了一瞬。稽核助理也抬了下頭,像被迫聽見了外面那場不受控的審判。
那聲音繼續:「七月二十一的鏡像初始化簽名,使用的是S-YUE舊鑰公鑰。公鑰屬於沈越,但簽名發起節點關聯校園治理委員會。這代表什麼?代表有人持有舊鑰,並借用校園關聯節點完成初始化。這是典型的權限嫁接。」
沈越的呼吸在那一刻停了半拍。
江行曜真的在撐線。他把最難懂的鏈上邏輯,拆成所有人都能聽懂的句子,像當初拆給沈越一樣。
主屏那邊傳來彈幕般的喧嘩,像雨點砸在玻璃上。
那聲音又說:「合作方C拒絕共享節點操作日誌的拒絕結果,已被現場稽核上鏈存證。你們不需要相信我,相信鏈。」
沈越的眼眶熱了一下,立刻被他壓回去。他不允許自己在這裡失態。可那股熱像火星,落在他胸口最冷的地方,燙出一個活著的洞。
安保催促:「走。」
沈越被推著往前,卻在下一次感應燈亮起時,忽然側過頭,看向走廊那扇半掩的清潔間門。門縫裡有一點黑影晃了一下,像有人在裡面藏著聽。
他不知道那是誰。斷鏈隊的人?合作方的人?還是許燦的眼線?
但他知道,自己必須把那枚藏在標籤底下的鏡頭留給能拿到的人。
沈越低聲對稽核助理說:「你們工作室門口地上,有非法偷拍設備。物流標籤底下。你們若真要查清楚,就封存它。否則明天它就會消失,然後你們只剩一串有效簽名和一個被寫死的共犯故事。」
稽核助理腳步一頓,眼神一沉:「你確定?」
沈越不看他,只看前方那段忽亮忽滅的路:「我確定。你不封存,你就是在替合作方擦屁股。」
稽核助理的喉結動了一下,像吞下某種不情願。他按住對講機,語速很快:「回收現場物證,門口地面物流標籤疑似藏匿攝錄裝置,立即封存上鏈。」
對講機那頭沉默一秒,回了一句含糊的「收到」。
沈越心裡那口氣終於落下一點,卻也更急。因為他不知道「收到」之後,拿到那枚鏡頭的是稽核,還是先一步伸手的許燦。
他被帶進電梯間,門關上的瞬間,外面主屏的聲浪被隔絕,只剩電梯井裡低沉的嗡鳴。白光打在金屬牆上,映出他蒼白的臉,也映出安保臂章上冷硬的字。
電梯往下走。
B2物流梯。
鏡像出口。
終端已封存,他只能靠腦子記住剛才那條訊息。五分鐘後封控。江行曜說他在下方,那下方是不是就是B2?他要怎麼在被押著的情況下,從制度的手裡拐進那個出口?
電梯到達的提示音像一把鈍刀落下。門開,冷氣裡帶著潮濕的紙箱味和消毒水味,地下層的燈更白,照得人像在手術台上。
走廊盡頭是一排物流梯,旁邊貼著「封控倒計時」的紅字提示。數字正在跳:04:12。
沈越的心跳跟著那數字一起跳。他看見物流梯旁有一扇灰色的維修門,門上貼著一張褪色的「鏡像備援通道」標識,像某個早就被人遺忘的系統後門,現在卻成了唯一的生路。
安保推他往前,稽核助理在旁邊低聲說:「你別亂來。你要的反證,你可以走流程。」
沈越側過頭,眼神冷得像刀:「流程會救我嗎?流程只會救合作方C。」
稽核助理的臉色一沉,卻沒有反駁。
倒計時:03:58。
就在這時,地下層另一端忽然傳來一聲金屬碰撞的輕響,像有人用硬幣敲了一下欄杆。很短,很克制,卻像某種暗號。
沈越的視線猛地抬起。
那邊站著一個穿著黑帽衫的人,帽沿壓得低,身形修長,手裡拎著一個平平無奇的物流箱。那人抬起頭的瞬間,地下白光落在他下頜線上,清冷得像雪。
江行曜沒有說話,只抬起手,指尖在空中比出一個很短的手勢,像在寫代碼裡的某個符號:確認。
沈越的喉嚨一緊,所有壓著的焦灼幾乎要破口而出。他硬生生把那句「你還活著」吞回去,只用眼神回了他一句:你來得太慢。
江行曜的目光落在沈越被扣住的手臂上,眼底的冷意像裂開一道縫,露出更深的怒。他沒有衝動,只是把物流箱放到地上,箱蓋掀開,裡面是一台小型節點設備,屏幕亮著,顯示一個正在跳動的多簽請求。
他開口,聲音低到只有這一段走廊能聽見:「鏡像出口需要雙簽。你一簽,我一簽,門就開。」
倒計時:03:21。
沈越的呼吸變得很慢。他知道,這一步踏出去,就等於把自己從「配合稽核」推到「擅自脫離」。許燦一定會抓住這一點,把他寫成逃犯,把共犯敘事釘死在他身上。
可如果不踏,他就會被帶進稽核室,失去所有能說話的窗口。江行曜在主屏撐住的視線,也會被制度的牆擋住。
沈越看向稽核助理,忽然說:「你想做對的事,就別攔我。你攔我,明天合作方C就會把這件事寫成你『依法處置』,你永遠別想再查到日誌。」
稽核助理的眼神劇烈波動了一下。他像在制度與良知之間被撕扯。安保已經皺眉,要上前。
就在那一秒,稽核助理抬手,攔住安保,語速很快:「我帶他去封存地下物證。你們去支援上層封控。」
安保愣了一下:「你確定?」
「確定。」稽核助理的聲音冷硬得像命令,「聯合稽核,我負責。」
安保遲疑,終究還是轉身走了兩步去呼叫支援。那一瞬間的空隙,像天花板掉下一條窄縫的光。
江行曜已經把節點設備推近。沈越被扣著手,無法操作太多,只能用指尖在感應面上迅速觸一下。江行曜的指尖緊跟著落下,像兩個人把同一段誓言按進鏈上。
設備屏幕跳出一行字:多簽完成。鏡像通道解鎖。
灰色維修門上的指示燈從紅轉綠,輕輕一聲咔哒,像某個長久沉睡的出口終於醒來。
倒計時:02:47。
沈越抬眼,第一次在這一整晚的白光裡,清晰地看見江行曜的眼睛。那裡有冷,有火,也有他不肯說出口的、壓了好多年的喜歡。
江行曜只說了一句,像把浪漫藏進最簡短的指令裡:「走。我帶你回到能說話的地方。」
沈越的嘴角動了一下,終究沒說謝。他只低聲回了一句,冷硬得像他一貫的樣子:「別拖後腿。」
江行曜的眼神卻像被這句話點亮了一點,伸手扣住沈越的手腕,力道穩得驚人。他帶著他踏進那扇門。
門後是一條更冷的通道,牆上貼滿舊的物流鏈碼與備援指示,像城市的神經末梢。遠處隱約傳來主屏的聲浪,像海潮還在外面拍岸。
沈越在跨過門檻的一刻,腦子裡卻閃過另一個畫面:林聿抱著硬碟鑽進暗格,去城西冷庫;那把舊鑰所在的標準樣箱,可能就在那裡;還有那枚被藏在標籤底下的鏡頭,究竟能不能被封存到他們手上。
他知道,真正的翻盤不在逃,而在把每一個「他們以為你看不見」的細節,變成全網都看得見的證據。
通道深處的燈光忽然一閃,一段訊號提示在江行曜的節點屏幕上跳出。
來自林聿,只有一行字,像咬著牙發出來的:
我找到冷庫的門了,但箱子不只一個。有人比我先到。
沈越的心猛地沉下去。
江行曜的手指在屏幕上停了一瞬,抬眼看沈越,聲音比地下的冷氣還低:「許燦要收尾了。」
沈越看著通道盡頭那片更深的黑,忽然覺得自己終於站在了故事真正的刀口上。他把所有恐懼都壓成一句話,像把自己釘住,也把江行曜釘住。
「那就讓他收。」沈越說,「收進我們的直播裡。」
— 本章完 —
🎉 恭喜!您已讀完本書全部章節
讀者留言 (0)
還沒有留言,來當第一個吧!