19. 永久清零

凌晨零点十分,金色太平洋俱乐部的私人晚宴厅里只剩下三个人。

劳伦斯·布雷德利坐在皮椅上,双手平放在桌面上,手指不再颤抖。他的律师团正在赶来的路上,但他知道他们已经无法改变任何事——联邦调查局旧金山分局的探员已经在俱乐部楼上的法式餐厅里设立了临时指挥点,正在逐层向下推进。他在等他们推开那扇橡木门,而他唯一能做的事就是在被戴上手铐之前保持体面。

马尔科姆·斯特朗站在窗边,背对着所有人。他的那套深灰色西装在凌晨的灯光下显得格外陈旧,袖口处磨出了细小的线头。他刚才递出的那张女兵照片还躺在桌上,照片上的莎拉·阿什凯仍然保持着她二十岁时的笑容。

米奇和罗森塔尔已经离开了私人晚宴厅。他们在联邦调查局探员进入俱乐部的前三分钟,从厨房通道撤出了大楼。罗森塔尔手里握着米奇从金色太平洋路由器缓存中提取的全部通讯截获记录——那些数据将在接下来几天内被作为联邦调查局立案的核心技术证据。

俱乐部外面,金融区的雾气已经散了大半。街灯在湿漉漉的沥青路面上投下一片片橙色的光斑。乔丹和埃文仍然坐在法式餐厅角落的卡座里,透过窗户看着街对面那栋布雷德利资本大楼的三十六层灯光。那盏灯在三分钟前忽然熄灭了。

“结束了。”埃文轻声说。

“还没有完全结束。”乔丹将已经凉透的浓缩咖啡推到一边,站起身,“布雷德利倒下了,但速金贷平台还在。智能合约里的漏洞还在。我们偷的那一千二百万美元还在冷钱包里锁着。猎手系统不会因为维克多和布雷德利被抓就自动停止运转——米格达尔仍然在技术上拥有追回权限。”

“但那笔钱我们拿不到,他们追不回。锁定期还有好几个月。”

“锁定期不是问题。问题是这个漏洞本身。”乔丹从外套内侧掏出那个从谷仓地板上捡来的银色图章戒指——维克多·黑麋鹿的图章戒指,里面的加密芯片已经被米奇取走了数据,现在只是一个空心的金属圈,“速金贷平台今天被部落委员会冻结了,但它的智能合约仍然在区块链上运行。任何知道漏洞存在的人仍然可以尝试盗取里面的储备金。维克多设计的陷阱,布雷德利资助的陷阱,并不因为设计者被抓就自动消失。”

埃文皱起眉头。“你是说还有人会去偷?”

“永远有人去偷。”乔丹把戒指放回口袋,他的手指触到了另一件东西——那块他从米奇丢掉的打印纸碎片中捡回来的纸片,上面写着“K = 不止一个人”。他把纸片揉成一团,扔进了桌上的空咖啡杯里,“除非漏洞被永久修复,或者储备金被彻底冻结。否则这个陷阱会一直存在——等下一个聪明到发现漏洞、又愚蠢到以为自己能全身而退的人走进来。”

法式餐厅的门被推开了。米奇和莉娜从后厨通道穿过来,和他们会合。米奇的脸色很差——在金色太平洋地下室里和布雷德利对峙的那十分钟比任何一次黑客攻击都更耗费他的精力。莉娜手里拿着卫星电话,电话上显示着一条刚收到的消息。

“罗森塔尔发来的。”她说,“联邦调查局已经正式拘留了布雷德利。斯特朗主动向探员提供了自己三年来收集的全部证据——包括他在布雷德利加密系统中嵌入的监控日志、金色太平洋私人晚宴的通讯截获副本、以及布雷德利与阿尔布雷希特之间所有秘密合同的原始签署文件。斯特朗被当场逮捕,但他从走进那扇门之前就知道自己会被逮捕。”

“阿什凯呢?”埃文问。

“罗森塔尔在消息里提到,联邦调查局正在协调将她从莫哈纳部落警察局的拘留室转移到联邦证人保护计划。她的非营利组织身份是真实的,她的伪造证件行为将由联邦检察官办公室评估是否作为合作证人的交换条件予以豁免。”莉娜低下头,盯着屏幕上那几行字看了很久,然后轻声加了一句,“她三年前走进莫哈纳保留地的时候,就知道自己可能再也走不出来。”

四个人站在法式餐厅的门口。旧金山的凌晨很安静,只有市场街方向偶尔传来深夜巴士的引擎声。他们身后的法式餐厅正在收市,侍者在熄掉烛台,白色的桌布被一张一张卷起来。没有人看他们。没有人知道这四个人在过去几周里经历了什么。

“我们需要回艾什顿。”米奇打破了沉默,“智能合约的事还没有处理完。”

“你打算怎么处理?”乔丹问。

米奇打开笔记本电脑。屏幕上显示着一行行复杂的智能合约代码——正是速金贷平台储备金池的底层合约。他们在一个多月前盗走一千二百万美元用的正是这个合约的漏洞。现在,这个合约仍然在区块链上运转着,储备金池里仍然存放着平台的剩余资金——虽然平台已经暂停了新的贷款业务,但已经发出的贷款仍在产生利息回款,这些回款正源源不断地流入合约。

“部落委员会冻结了速金贷的运营,但他们没有冻结这个合约。因为部落内部没有人懂智能合约的底层管理。”米奇指着代码中的某个函数,“维克多当初设计这个平台的时候,把所有紧急管理权限都集中在自己手里。他有一个最高权限密钥——这把密钥可以调用合约的自我冻结函数,让整个储备金池永久锁定,任何人都无法再提取任何资金。但他从来没有用过这个函数。因为一旦冻结,猎手系统就没有猎物可追了。”

“维克多现在在保留地,戴着电子监控手环。”埃文说,“他还能调用这个函数吗?”

“技术上可以。他的密钥仍然有效。但他现在是部落委员会的审查对象,任何对他个人设备的操作都会被监视。如果他试图在部落委员会的监控下使用他的最高权限密钥,他可能会被追加新的指控——因为部落委员会已经明确下令冻结速金贷的一切资产。他使用密钥等于违抗冻结令。”

“所以他不会主动做。”

“不会。”米奇合上笔记本电脑,“但如果我们能说服部落委员会,让他们明白这个漏洞仍然在威胁平台剩余资金的安全——也许他们会强制要求维克多执行冻结函数。这是修复这个陷阱的唯一合法路径。”

凌晨一点,四个人回到了位于联合广场附近的那家旧书店地下室。书店老板是一个白发苍苍的老人,对于几个深夜不归的客人没有任何好奇。他在这条街上开了四十年书店,见过比这更奇怪的事。

米奇将金色太平洋路由器缓存中的完整数据全部转存到加密硬盘里。莉娜开始起草一份给部落委员会的法律备忘录——解释速金贷智能合约漏洞的技术风险、猎手系统的残留威胁、以及永久冻结储备金池的紧急必要性。埃文在地下室角落的行军床上躺下,终于闭上了眼睛。他已经几十个小时没有睡过觉。

乔丹坐在书店地下室的楼梯台阶上,盯着墙上的旧金山夜景明信片发呆。那些明信片是书店老板几十年来的收藏——1960年代的金门大桥、1970年代的缆车、1980年代的渔人码头。每一张都定格了一个已经回不去的旧金山。他想起了自己在华尔街时期的办公室——那间可以俯瞰哈德逊河的办公室,墙上挂着一幅抽象的金融衍生品交易图。那时候他以为自己是金融市场的猎手,从未想过自己有一天会成为别人的猎物。

他的卫星电话震动了一下。加密消息,发送者是M。

他点开消息。是米奇发来的,虽然米奇本人就坐在书店地下室的工作台前,距离他只有十英尺。

“有一件事我一直没告诉你。”

乔丹没有抬头看米奇。他继续盯着短信,回了四个字:“什么事。”

“智能合约里的那个锁定期——六个月的期限。不是我设计的。”

乔丹的手指停在屏幕上。

“是泽尔纳写在原版合约里的一个隐藏参数。”米奇的第二条消息继续发来,“我最初发现这个参数的时候,以为是维克多或者泽尔纳写的一个安全措施。但后来我从斯特朗的监控日志里找到了真相——这个锁定期参数,是泽尔纳在合约部署前最后一刻私自写进去的。他把它伪装成了标准的安全延迟机制,但它的真实作用不是为了防止窃贼提前转移资金。而是为了确保任何窃贼在触发漏洞之后,必须在足够长的时间内保持在线状态——长到足以让猎手完成身份识别和追回行动的全套流程。”

“他把锁定期写成了猎手的时间窗口。”乔丹回复。

“对。没有这个锁定期,猎手根本来不及追上窃贼。它是整个陷阱最核心的环节。而我——我把这个锁定期当作自己的设计写进了我们的合约里。我以为我在保护我们。实际上我是在帮泽尔纳完成他三年前没完成的最后一环。”

乔丹终于抬起头,看向米奇。米奇坐在工作台前,背对着他,笔记本电脑的蓝光照着他微微弯曲的肩膀。他没有回头。

“你什么时候知道真相的?”乔丹问,这次没有用消息,而是直接开口。

米奇沉默了片刻。“昨晚。斯特朗的监控日志里有一条标注——‘锁定期参数由A.Z.于部署前夜修改’。我看到那条记录的时候,脑子里所有的拼图都翻了一面。我们从头到尾都不是在对抗一个陷阱。我们是在帮这个陷阱完成它本来没完成的部分。”

“然后你今晚仍然进了金色太平洋。你拿着这些证据,面对着布雷德利和斯特朗,仍然替罗森塔尔解读了泽尔纳的文件。”

“因为我不知道除此之外还能做什么。”米奇终于转过身来。他的脸上有一种乔丹从未见过的神情——不是恐惧,不是内疚,而是一种深沉的、沉默的疲倦,“我花了三年储备僵尸网络,花了三个月研究速金贷的漏洞,花了整整一个晚上把一千二百万美元从部落的储备金池里偷出来。我以为我是猎人,至少是猎物的克星。结果我发现——我只是在一个早已写好的剧本里,念了一段别人给我留的台词。”

地下室里安静了很久。埃文在行军床上翻了个身,没有醒。莉娜放下了正在起草的法律备忘录,看着米奇和乔丹。

“所以你打算怎么做?”乔丹问。

“我要写一段代码。”米奇把笔记本电脑重新打开,屏幕上的智能合约代码在黑暗中亮得像一张复杂的星座图,“不是攻击代码。是一段修复代码——一个可以在智能合约外部调用的自毁函数。如果维克多不主动冻结合约,或者部落委员会无法强制他行动,这个函数就会在区块链上直接烧毁那个漏洞函数。让它永远不可调用。”

“烧毁漏洞函数意味着什么?”

“意味着任何未来试图利用这个漏洞盗取速金贷资金的人,都会失败。意味着我们偷走的那一千二百万美元,会成为最后一笔从那个漏洞里流出来的赃款。也意味着——如果我们自己还在等锁定期结束后动用那笔钱,这个函数同样会让我们的冷钱包签名在转移过程中被区块链永久记录。换句话说——如果我们修复这个漏洞,我们就永远不能再碰那笔钱。”

“你在让我们做选择。”莉娜说,“修复漏洞,放弃那笔钱。或者保留漏洞,让它继续成为别人的陷阱。”

“是的。”

埃文在行军床上睁开了眼睛。他可能根本没有睡着。他撑起身体,声音沙哑:“那笔钱有多少已经在我们控制下的离岸账户里?”

“零。”米奇说,“全部资金仍在冷钱包里,锁定期还有五个多月。我们目前为止花掉的每一分钱——弗兰克·汤普森的七万美元、克劳的微波天线、艾什顿到旧金山的机票、旅馆费用——全部来自埃文的私人积蓄和古董库存。”

“我父亲说人可以穷,但不能脏。”埃文慢慢地说,“我们做这件事的初衷,是报复一个吸穷人血的平台。如果我们保留漏洞,让下一个窃贼踏进同一个陷阱——我们就和维克多·黑麋鹿没有区别。”

“我同意。”莉娜合上法律备忘录,“我已经失去了律师资格,失去了律所,失去了我在博伊西的一切。如果再失去这笔钱,我可以重来。但如果我选择保留漏洞——我就不是失去资格的问题了。我是失去了所有底线。”

乔丹站了起来。他从外套内侧掏出那把左轮手枪,放在工作台上。然后他掏出了那一枚空心的图章戒指,放在枪旁边。最后他掏出了口袋里那张皱巴巴的纸片——K = 不止一个人——放在了最上面。

“写代码。”他对米奇说,“修复它。”

凌晨三点十一分,米奇写完了自毁函数的全部代码。他将代码封装成一个特殊的外部调用脚本,然后通过加密频道将脚本发送给了罗森塔尔。罗森塔尔将以米格达尔独立审计委员会的名义,将这个脚本连同莉娜的法律备忘录一并提交给莫哈纳部落委员会。

“脚本注入合约后,需要三个工作日才能生效。”米奇盯着屏幕上那行正在等待确认的交易指令,“在这三天里,部落委员会需要投票批准这个操作。如果投票通过——锁定期内的所有资金将被永久锁定。我们的那一千二百万,成为不可逆转的区块链冻结资产。”

“那就让他们投票。”乔丹说。

天将破晓的时候,书店老板从楼上端下来一壶热咖啡和四个杯子。他没问任何问题,只是把东西放在桌上,然后爬上楼梯回到他的柜台前。

四个人围坐在书店地下室里,喝咖啡,看着窗外旧金山的天空从漆黑变成深蓝,再从深蓝变成浅浅的橘色。金门大桥的轮廓在晨雾中渐渐浮现出来,红色桥塔被第一缕阳光照亮。

他们的卫星电话同时震动了。加密群组里收到了一条消息,发送者是一个已经沉默了很久的代号——C,埃尔顿·克劳。

“柳树公寓还在。猎手的黑车已经离开了。今天早上我打开窗户,看到对面的烟囱上停着一只渡鸦。它看了我一眼,然后飞走了。祝你们平安。”

莉娜读完了消息,嘴角浮现出一丝极淡的微笑。埃文靠在墙上,轻轻呼出一口气。米奇关闭了电脑屏幕,终于让那台连续运转了几十个小时的机器也休息了一下。

乔丹端起咖啡杯,对着窗外清晨的旧金山低声说了一句没人能听到的话。

然后他站起身,走向书店地下室的楼梯。外面是大亮的天光,整个城市在晨雾散去后闪烁着太平洋上反射过来的金色光芒。他们还要在旧金山等三天,等部落委员会对修复脚本做出投票。如果投票通过,他们将以盗窃罪和协助联邦欺诈调查的合作证人的身份,面对他们各自需要面对的法律后果。

但那将是他们愿意承担的后果。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

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