3. 暗网联络人

奥托的暗网课程安排在三天后的午夜。柯林对具体时间没意见,但选在周末前夜让他有种不好的预感——周末是湾景市警力最松懈的时候,对犯罪者有利,对受害者也同样有利。

前三天他过得像一台被拧紧发条的钟。白天去船厂拆解海蛇号剩余的船体,麦克斯分配了三个新来的临时工给他打下手,那三个人一看就不是干拆船的料。其中一个叫赫斯特的年轻人,手上连老茧都没有,操作切割机的时候像在拿手术刀。柯林问他以前做什么的,他说“物流”,然后立刻转移话题问船上的电子设备都拆哪儿去了。

“电子设备?”柯林用扳手指了指船台角落堆积如山的废料,“自己翻去,能找到完整的算你走运。”

赫斯特真的去翻了。他在废料堆里蹲了一个下午,像一只在垃圾场觅食的野狗,翻出几截烧焦的电缆和一台被海水腐蚀得看不出原貌的导航仪,拿在手里反复端详,最后一无所获地把东西扔回去。

柯林站在远处看着这一幕,把扳手握得指节发白。麦克斯派来盯着他的人,或者是那个发加密邮件的人派来的。不管是谁,都说明了一件事:对方越来越没有耐心了。

他把这个发现说给戴克听,戴克的反应出乎意料的冷静。“让他们找。他们越是在废料堆里浪费时间,越说明他们还没确定东西在我们手里。”

“万一他们确定了呢?”

戴克从电脑屏幕后面抬起头,推了推眼镜:“那他们就不会派人来翻废料堆了。会直接来敲我们的门。”

这句话逻辑上没问题,但柯林听出了一层没说的意思——戴克在假设对方是理性的。而柯林在海军的经历告诉他,当一笔数额巨大的钱和一个能让人消失的动机同时存在时,没有人能保持理性。

第三天晚上十一点,奥托的加密邮件准时到达。邮件里只有一个暗网会议室的入口地址和一串临时访问密钥。柯林把地址输入专用浏览器,屏幕上弹出一个界面:纯黑色背景,中央是一个圆形等待图标,缓缓旋转,像一颗电子心脏在跳动。

“要用摄像头和麦克风,”戴克在旁边提醒,“他会要求全程录音录像,作为合约执行的存证。”

柯林看了一眼坐在客厅角落的莉娜。她今晚没去上班,请了病假,窝在沙发里抱着一个抱枕,面前的茶几上放着一杯凉透了的速溶咖啡。她的目光落在电视机的黑屏上,像是在看什么只有她自己能看到的画面。

“我也要参加,”莉娜突然开口,声音比平时低了很多,“这笔钱是三个人的事,我不能只在厨房煮面等你们回来。”

柯林看向戴克。戴克犹豫了一下,从技术层面提出顾虑:“会议室最多只能同时接入三个节点。我的、柯林的、奥托的。”

“那就用你的,”莉娜指着戴克的笔记本电脑,“我坐在你旁边看。”

戴克张了张嘴,最后只说了句“随你”,把电脑搬到茶几上,调整屏幕角度,让三个人都能看到。柯林把一把椅子拉到茶几对面,莉娜坐在戴克左手边,靠得很近,胳膊几乎贴在一起。柯林注意到她换过衣服了,不再是常穿的那件褪色的连帽衫,而是一件深绿色的高领毛衣,领口遮住了她脖子上的荆棘纹身。

他从来没有见她穿过这件毛衣。

十一点五十九分,戴克输入访问密钥。屏幕上的圆形图标碎裂成无数像素碎片,重新组合成一个房间界面。画面分成四个窗口:三个黑色空白框,一个显示着奥托·施拉姆。

奥托坐在一间灯光昏黄的房间里,身后是一整面墙的嵌入式服务器机柜,绿色的指示灯排成密集的矩阵,像夜空中某种人造的星座。他换了一件藏青色的法兰绒衬衫,头发梳得整整齐齐,看起来比那天在数据中心更加像一个真正的大学教授。

“晚上好,先生们,还有女士。”奥托看着镜头的方向,那双灰色的眼睛似乎穿透了屏幕,准确无误地找到了莉娜的位置,“莉娜·哈特,欢迎加入。”

莉娜的身体明显绷紧了一下。柯林没说话,但他记住了这个细节——戴克给奥托介绍过莉娜,或者说,他们之间的沟通比柯林知道的要多。

“设备已经就位,”奥托从画面外拿起一个银色的长方形盒子,大小和一本精装书差不多,上面连接着密密麻麻的彩色导线,导线另一端接在一个示波器模样的设备上,“电压调制器和时序分析芯片,从医学成像设备上拆下来的二手货,花了四万七千新克朗。费用从总资产里抵扣。”

“成功率多少?”柯林问。

“冷启动漏洞的捕捉窗口大概在零点三毫秒左右,如果时序校准没有误差,一次成功。”奥托顿了一下,“如果有误差,试三次。三次失败,钱包自毁。”

客厅里的空气突然变得稠密起来。莉娜无意识地捏紧了抱枕的边缘,戴克的手指悬在键盘上方一动不动。

“所以你现在要做的是在零点三毫秒之内,完成一套比开保险柜复杂一万倍的操作?”柯林的声音很平稳,但他放在膝盖上的手已经攥成了拳头。

“比喻恰当。”奥托微微一笑,把银色盒子连接到另一个设备上,开始进行时序校准,嘴上却没有停,“但既然提到了保险柜,我想在正式操作开始之前,再确认一下我们的合约条款。这不仅是对我的保护,也是对你们的。”

他把一份电子文档投屏到会议室的共享画面上。文档是一份更新过的智能合约,比他们在数据中心签的那份详细得多,增加了七个附件条款,每一个条款都附带着区块链上的执行代码哈希值。

“第二条,资产转移成功后的三十秒内,自动拆分合约将把总资产的百分之十五打入我的钱包地址,不可逆。第三条,如果操作失败导致钱包自毁,各方互不追究,投入的押金和前置成本由乙方承担。第四条,任何一方在合约生效期间试图绕过拆分协议、单独转移资产,智能合约将自动执行永久冻结。”

柯林一条一条往下看,看到第七条的时候停了下来。

“第七条:合约生效后,所有参与方的设备将接入一个临时的去中心化监控网络,持续监控各方链上行为,为期一百八十天。被监控方不得移除或屏蔽监控权限。”

“这什么意思?”

“就是互相盯着的意思。”奥托的语气轻描淡写,像在讲解一个无伤大雅的技术细节,“六个月之内,谁也别想偷偷转移资产。谁动,谁触发冻结。”

“这也意味着你也在被监控?”莉娜问。

“当然。公平,透明,这就是区块链的美妙之处。”奥托张开双手,掌心向上,姿态像在做一个科学实验的演示,“我不信任你们,你们也不信任我。不如让代码来信任所有人。”

戴克用几乎不可察觉的幅度点了点头。柯林知道他动心了——不是因为信任,而是因为他对“用代码代替人做决策”这件事有一种近乎宗教般的信仰。

柯林没有点头。他觉得第七条的措辞过于精巧,每一句话都像是经过了法律和技术双重打磨。而奥托是那个做打磨的人。打磨者总是会在工具上留下只有自己知道的缺口。

但他没有反对。因为他们已经签过了初步合约,已经投入了时间,已经暴露了身份。在这个阶段退出,代价比继续走下去更高。而奥托一定算准了这一点。

“开始吧。”柯林说。

奥托在屏幕那头点了点头,把加密钱包连接到电压调制器上,调整示波器的参数旋钮。画面放大到钱包和设备的特写,金属外壳在仪器灯的照射下反射出冷硬的光。

“第一次尝试,时序校准零点二八毫秒。”奥托按下一个按钮。

示波器上的波形突然剧烈跳动,所有值瞬间归零。钱包的电子墨水屏闪了一下,显示出一行红字:验证失败。剩余尝试次数:2。

“电压过了零点二伏。”奥托自言自语地调整旋钮,手指稳定得像一台机器。柯林注意到他的额头上没有一滴汗。

“第二次尝试,时序校准零点三一毫秒。”

示波器再次跳动。红字再次出现:验证失败。剩余尝试次数:1。

戴克把眼镜摘下来,用衣角擦了擦镜片上的雾气。莉娜的手不知什么时候搭在了戴克的手腕上,两个人同时盯着屏幕,像在等待一场审判的最终宣判。

“第三次,也是最后一次。”奥托的声音依然平静,但他没有立刻按下按钮。他把手从设备上移开,交叠在桌面上,十指相扣,像是在做一个短暂的祈祷——或者仅仅是让手指的肌肉放松一下。

“在按下去之前,我想确认一件事。”他看着镜头,更准确地说,是看着柯林,“如果钱包打开,里面的资产足额转移,你们会遵守合约的每一个条款吗?”

“我们已经签了。”柯林说。

“签名是一串代码,遵守合约是一种行为。这是两回事。”奥托的镜片反射着示波器的绿光,“我想听到口头承诺。”

柯林沉默了两秒。“会。”

“莉娜女士?”

“会。”莉娜的声音比柯林轻了很多,几乎被冰箱的压缩机噪音盖过去。

“戴克先生?”

“当然。”戴克回答得最快,快到听起来像是在抢答。

奥托满意地点了点头,重新把手放在触发按钮上。“第三次尝试,时序校准零点三零毫秒,精准匹配。”

他按下了按钮。

屏幕上没有出现红字。示波器的波形在一瞬间跳到了峰值,然后缓缓回落,像一条濒死的心电图突然恢复了跳动。钱包的电子墨水屏闪烁了三下,然后变成了一块稳定发光的淡绿色。

屏幕中央显示出一行黑色的字符。

屏幕上的数字被放大投射到共享画面上。戴克的嘴巴张开又合上,莉娜捂住了嘴,发出一声介于惊讶和恐惧之间的闷哼。柯林感觉自己后脑勺的血管突突跳了两下。

那行数字是:余额:3,247,816.00 新克朗。

三百二十四万七千八百一十六新克朗。按湾景市的人均收入计算,这是一笔需要普通人不吃不喝工作八十年的钱。按黑市汇率计算,足够买下整栋他们租住的公寓楼,外加楼下停着的那辆黑色轿车,以及轿车里的人。

“智能合约生效。”奥托的声音像是一道判决书,“资产拆分将在三十秒内自动执行。”

屏幕上出现了四个钱包地址,分别标注着“W”“H”“S”“V”。代表万斯、哈特、施拉姆,以及V——柯林猜V是留给监控合约的中转地址。数字开始跳动,从总余额中按比例自动划转,像是在进行一场无声的电子分尸。

三十秒后,跳动停止。

“你的份额已经打入了三位各自的钱包。我的也已经到账。”奥托合上示波器,开始有条不紊地拔掉导线,“一百八十天监控窗口已经开始计时。祝各位合理使用。”

他的窗口变黑,只留下三个空白的窗口和一行字:会议结束,录音已保存。

戴克合上电脑的盖子,靠在沙发靠背上,长长地呼出一口气。那口气像在他的肺里憋了一整年。

“三百多万。”他盯着天花板,嘴唇无声地重复着那几个数字。

莉娜站起来,走到厨房,打开水龙头接了一杯水,一口气喝完。她把杯子放在水槽边缘,杯子没放稳,滚落在地砖上摔成了四片。她低头看着碎片,没有弯腰去捡。

“我们分钱了。”她的声音背对着他们,对着那扇蒙着油污的窗户,“然后呢?”

这个问题没有人回答。冰箱压缩机嗡嗡响了十几秒,停下来之后,客厅陷入了一种巨大的、只有三个人能感知到的寂静。

柯林站起来走进自己房间。他打开藏在衣柜里的笔记本电脑——那是他之前花五百新克朗从二手市场买来的旧机器,从来没有连接过出租屋的共用路由器。他把自己的钱包地址导入了电脑里的一个离线钱包软件,屏幕刷新出来的余额,和奥托的界面上显示的一模一样:八十万新克朗多,精确到小数点后两位。

钱已经在了。可他的手指放在键盘上,没有下一步动作。他忽然想到一个问题:奥托的设备是二手的,花了四万七;奥托的合约是智能的,会自动拆分;奥托的监控会持续一百八十天。

但奥托没有说过一句话——那些买二手设备、设计合约、搭建监控网络的技术,是从哪里来的?他只是一个被解聘的大学教授,他哪来的钱和资源?

电脑屏幕上忽然弹出了一条提示,来自加密邮件系统。发件地址依然是乱码,正文只有一行:

“施拉姆做过的不止你这一单。上一个合作的客户,在分钱之后第四十七天,死于心肺复苏设备参数被远程修改。尸体在医院里被发现,死因鉴定为自然死亡。祝你好运。”

柯林盯着屏幕。客厅里传来戴克和莉娜低低的说话声,听不清具体内容,只能听出语气很急,像是在争论什么。

他没有出去问他们在讨论什么。他关掉了电脑,把枕头下面的弹匣拿在手里,铜壳在掌心里温热了一会儿,又被他的体温捂成了和皮肤一样的温度。

窗外,那个穿连帽卫衣的人还在路灯下站着。雨停了两天,地上已经干了,但那个人依然没有离开,像是这条街上新生长出来的一棵不会动的树。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注