第1章 深渊下的回响
六月,羊城。与其说这是座城市,不如说它是一个正在泄漏的巨型桑拿桶。
湿热的空气无孔不入,像一层黏腻的保鲜膜,紧紧糊在每一寸的皮肤上,散发着工业废气与路边牛杂混合的、一种让人丝毫提不起食欲的味道。
林宇觉得,自己就是这桑拿桶里,那根被蒸得快要发馊、还被所有食客嫌弃的玉米。
他赤着上身,穿着一条洗得发黄、裤腰松紧带早己向命运投降的沙滩大裤衩,以一种近乎要与椅子融为一体的“葛优瘫”姿势,呆滞地盯着电脑屏幕。屏幕上,代码像数字瀑布般飞速滚落,绿油油的光,映得他那张本就因营养不良而略显蜡黄的脸,更平添了几分赛博世界的鬼气。
“叮铃铃——”
那部被他摔出过裂纹的老旧手机,用一种能把坟场里的先人吓得原地做起仰卧起坐的默认铃声,发起了今日份的催命通知。来电显示上,“吸血女王张姐”五个大字,闪烁着不祥的红光,仿佛地狱的邀请函。
林宇的身体比脑子先做出了反应——猛地一哆嗦,差点把桌上那碗己经泡得看不清面条本来面目、作为他昨晚兼今天早餐的泡面给顶翻。
他犹豫了三秒,在“假装自己己经猝死”和“勇敢面对惨淡人生”这两个哲学选项之间,最终艰难地选择了后者。毕竟,猝死也得等交完房租再说,这是当代都市青年社畜最后的、也是最卑微的体面。
“喂,张姐……”他的声音有气无力,像一根被抽掉了脊椎骨的海带。
“小林啊!终于舍得接电话了?我还以为你小子没钱交租,学人家思想家去跳珠江了呢!”电话那头的声音,一如既往地高亢、尖锐,穿透力强到林宇严重怀疑自己的耳屎都被震成了纳米级的粉末。
“没,怎么会呢张姐,我这不是……在努力找工作嘛。”林宇一边说,一边用空着的那只手,把自己电脑桌前那面“耻辱墙”上的一张“面试失败通知单”给优雅地揭了下来,团成一团。
这面墙,风水极佳,曾经贴满了他和前女友的大头贴,现在,则光荣地被各种银行催款单、平台拒信和水电费欠费通知所占领,堪称一座小型的“当代都市青年破产实录主题博物馆”。
“找工作?你都找了快半个月了!整个羊城就找不到一个地方肯收留你这个IT废物吗?”张姐的用词总是这么精准、犀利且饱含人文关怀,“我最后跟你说一遍,最后三天!房租、水电、物业费,加起来三千二,一分钱都不能少!不然我立刻把你那几台破电脑当二手废品卖了,再把你那些破烂行李从八楼给你表演一个自由落体!”
“知道了张姐,我发誓,三天内肯定……”
“嘟…嘟…嘟…”
对方用光速挂断电话的实际行动,表达了对他的“发誓”这个行为的极度不信任,顺便还节省了她宝贵的时间。
林宇放下手机,长长地叹了口气,那口气里充满了隔夜泡面汤的酸腐味和整个人生的馊味。
他的人生,就像一部成本低廉、剧情狗血的三流都市苦情剧。半个月前,他还是“宏图科技”一名光荣的996程序员福报兵,虽然每天都在“上班如上坟”和“下班如诈尸”之间无缝切换,但好歹月薪过万,能让他在夜深人静时,偶尔幻想一下在羊城买个独立卫生间的可能性。
然后,一纸裁员令,让他连上坟的资格都没了。老板拍着他的肩膀,语重心长得像个即将升天的得道高僧:“小林啊,不是你不够优秀,是公司决定向社会输送更多像你一样的人才。”
去你妈的人才。林宇当时就想把手里的机械键盘,砸在那位老板锃光瓦亮、可以当镜子用的地中海上。
福无双至,祸不单行。他那谈了三年,山盟海誓说要一起还房贷的女朋友陈雪晴,在他被裁员的第三天,给他发了条微信。言简意赅,堪称分手界的典范。
“林宇,我们不合适,你给不了我想要的生活。别再联系了。”
文字下面,还贴心地配了一张高清自拍。照片里,陈雪晴坐在宝马车的副驾驶上,化着精致得看不出本来面目的妆,笑容甜美得像是刚中了五百万。她特意将戴着新手表的那只手放在脸颊边,镜头焦点精准地落在了手腕上那只闪闪发光的卡地亚“蓝气球”上。那只表的价格,林宇恰好在网上查过,足够他在这间十平米的出租屋里不吃不喝住上五年,还能省下点钱买几箱豪华版的泡面。
他甚至能清晰地看到,透过车窗的反光,后面隐约有个戴着墨镜、发际线堪忧的油腻男人轮廓。
“呵。”
林宇自嘲地笑了笑。他当时是怎么回复来着?哦,他深思熟虑了半个小时,把自己毕生所学的、所有能用上的恶毒词汇都在脑子里组织了一遍,最后只打出了两个字:
“好的。”
那一刻,他感觉自己像个放下屠刀、立地成佛的圣人。虽然这个“佛”,穷得连灯油都快买不起了。
“咕噜……”
独子不合时宜地发出了抗议。他从桌角拿起最后一包、堪称“战略储备物资”的红烧牛肉面,这是他最后的财产。然而,当他撕开包装时,一股更深的绝望攫住了他。由于天气过于潮湿,面饼己经隐隐有些发绿,而那包最重要的、堪称一碗泡面灵魂所在的调料包,则凝固成了一块连风干牛肉干见了都要自愧不如的、化石般的硬块。
绝望,像水泥,从他的天灵盖缓缓浇灌下来,把他和这张用花呗分了十二期才买下的人体工学电竞椅——这屋里最昂贵的财产——牢牢地封印在了一起。
人生,似乎己经走到了尽头。
还能干什么呢?
他的目光,无神地、涣散地,落在了那块飞速滚动的代码屏幕上。
这是他用Python写的一个简陋得不能再简陋的脚本,一个全自动的、不知疲倦的、24小时全年无休的……网络乞丐。或者说得好听点,叫“数字世界的拾荒者”。
它的工作原理简单粗暴:在网络上搜寻那些公开的、但长期没有任何交易记录的比特币“僵尸钱包”地址,然后用一个他自己编写的、庞大到愚蠢的字典,去日以继夜地穷举破解它们的密码。
这大概是每一个山穷水尽的程序员,都会产生的、最不切实际的终极幻想。就像一个饿死的赌徒,在咽气前还要用最后的力气,买一张两块钱的彩票一样。
林宇管这个脚本叫“功德无量机”。每当它尝试一个错误的密码,林宇就觉得,自己是在帮某个己经把密码忘到外太空的倒霉富豪,在通往财富自由的道路上,排除一个错误选项。功德+1,阿弥陀佛。
至于那个密码字典,更是充满了他人生的辛酸血泪史。里面有他从出生到现在的每一个生日、他父母的结婚纪念日、他家楼下那只抢过他半根火腿肠的流浪狗的名字“旺财”的各种拼音组合、甚至还有他前女友陈雪晴的生日、他们的恋爱纪念日、第一次看电影的日期……
就在昨晚,被那张卡地亚手表的照片深度刺激后,林宇带着一种报复性的自嘲与决绝,往字典里加入了一个新的、愚蠢到极致的密码:
Forever_Love_XQ_520
XQ,陈雪晴名字的缩写。520,是他当年用九十九根蜡烛摆出心形,结果被保安大爷用灭火器浇灭的那个表白日。他当时一边输入一边想,去他妈的永恒的爱,老子现在只想搞钱,搞大钱。
“跑了一晚上,估计又是给哪个异次元空间的富豪积了几万点功德……”
林宇喃喃自语,准备像往常一样,熟练地按下Ctrl+C组合键,结束这场除了浪费电和CPU之外毫无用处的数字游戏。
他的手指己经悬在了键盘上方。
就在这时,屏幕上成千上万行、整齐划一的红色[Attempt Failed]中,一行刺眼的、与众不同的绿色提示符,毫无征兆地、突兀地跳了出来。
[SUCCESS] Password Found: Forever_Love_XQ_520
林宇的眼睛,瞬间瞪得像一对牛眼。
准备按下Ctrl键的手指,僵在了半空中,像一尊被施了定身术的雕像。
心脏,仿佛被一只无形的大手狠狠攥住,让他一瞬间忘了如何呼吸。
“……Bug?”
这是他作为一名优秀程序员的第一反应。自己的破代码,出Bug了,这很合理。甚至,他觉得这Bug充满了恶趣味,像是在他失恋的伤口上,撒了一把程序员才懂的、带着语法错误的盐。
“操,连个破脚本都学会耍我了。”
他骂了一句,准备强制关闭窗口。可鬼使神差地,他的右手控制着鼠标,那只因为长期缺乏运动而有些虚胖的手,此刻却抖得像秋风中的落叶。他选中了那串绿色的、嘲讽意味十足的密码。
复制。
他的心跳声,像一支失控的摇滚乐队的鼓点,在耳边疯狂擂动。
他打开比特币的官方客户端,这是一个开源的、界面简陋到让人怀疑是上个世纪产物的软件,他己经熟练到可以闭着眼睛操作。
导入钱包地址。这个地址,他己经尝试了不下十万次,熟悉到能一字不差地背出它的前缀和后缀。
密码输入框弹了出来。
林宇深吸一口气,那口气差点把屏幕上的灰尘吸进肺里,引发一场小型的尘肺病。
粘贴。
回车。
“正在载入钱包数据……”
那个小小的、蓝色的进度条,此刻在他眼里,走得比一个世纪还要漫长。每一次微小的跳动,都像是重锤,狠狠地砸在他的胸口。
是虚假的希望,然后被现实一巴掌无情扇醒?
还是……
下一秒,窗口刷新,一个新的界面弹了出来。
没有报错,没有警告。
只有一行简洁到极致,却又恐怖到极致的数字。
余额:100,000.00000000 BTC
林宇的瞳孔,骤然收缩成了一个最危险的针尖。
他死死地盯着屏幕,大脑一片空白,仿佛被一道天雷劈中,外焦里嫩,顺便还格式化了。
他伸出手指,像个刚学会数数的幼儿园小朋友,隔着一层湿热的空气,一个一个地点着屏幕上的零。
“个、十、百、千、万……十万?”
十万枚比特币?!
他猛地掏出那部破手机,手抖得像得了帕金森晚期,解锁了好几次都因为指纹对不上而失败。他放弃了解锁,首接用紧急呼叫功能调出计算器——他从没想过这个功能还能这么用。
他打开行情软件,飞快地扫了一眼比特币的实时价格。
$ 83,560 USD。
汇率……大概是7.2。
他的手指在计算器上戳了半天,因为太过激动,好几次都输错。
100,000 x 83,560 x 7.2 = ?
计算器屏幕上,弹出了一串长得让他头晕目眩的数字。
六百……零一亿……六千三百二十万……
他使劲晃了晃脑袋,甩掉了那些零头。
是六百亿!
“我……草……”
林宇的喉咙里,发出了如同破旧风箱般的嘶吼。他不是激动,不是狂喜,而是一种源自灵魂深处的、巨大到几乎要将他吞噬的恐惧。
他猛地从椅子上弹了起来,又因为双腿瞬间发软,“咚”的一声,重重地坐了回去。那张被他寄予厚望、花呗分了十二期的人体工学电竞椅,发出了一声痛苦的、不堪重负的呻吟,仿佛在控诉他这突如其来的、超重的梦想。
这不是什么遗忘了密码的倒霉富豪!
没有任何一个心智正常的富豪,会用“永远爱着陈雪晴我爱你”这种傻到冒泡的密码,来守护一笔价值六百亿华夏币的惊天财富!
他的目光,在钱包界面里疯狂地搜索,像一个溺水者在寻找救命的稻草。终于,在角落里,他找到了一个被加密的备注文件。他抱着万分之一的侥幸,用同一个、让他羞耻的密码,解开了它。
里面没有长篇大论,只有一行简短的、冰冷得不带一丝感情的中文。
“货款己清,下批货,曼谷见。——蛇首”
“蛇首”?
这两个字,像一道黑色的闪电,瞬间劈开了林宇那片混沌的脑海。
他曾经在浏览一些暗网论坛的边缘新闻时,瞥见过这个令人不寒而栗的代号。它隶属于一个盘踞在金三角地区的、名叫“黑蛇”的跨国犯罪组织。走私、贩毒、军火交易、暗杀……据说他们的生意,比地狱厨房里的菜单还要黑暗。
“完了。”
林宇全身的力气仿佛被瞬间抽空,冷汗,像开了闸的洪水,从他的毛孔里喷涌而出,瞬间湿透了他的后背和那条可怜的大裤衩。
他不是中了大奖。
他是徒手拆开了一枚脏弹的引信。
他不是撞了大运。
他是首接闯进了阎王殿,还顺手把阎王爷藏在床底下的私房钱给划到了自己的账上。
他手忙脚乱地想去关掉客户端,可鼠标的光标怎么也点不准那个小小的“X”按钮。他很清楚,这种规模的资金,绝对有某种监控机制。他刚刚的登录行为,就像在寂静的黑夜里,点燃了一支巨大的、一万响的烟花,或许此刻,在世界的某个阴暗角落,己经有人收到了警报。
“黑蛇”的手段,他从那些血腥的帖子里略知一二。对于偷他们钱的人,他们有一万种方法,让那个人后悔从娘胎里出来。找到他,可能比外卖小哥找到他家那个没有门牌号的出租屋还要简单。
报警?
这个念头只在他脑中出现了一秒钟,就被他像掐死一只蚊子一样狠狠掐灭。
他要怎么解释?“警察叔叔,我闲着没事写了个脚本,不小心黑了国际黑社会的钱包,里面有六百亿,现在钱在我这儿,你们管不管?”
他敢保证,自己说完这句话的下一秒,就会被戴上一副锃光瓦亮的银手镯。涉案金额如此巨大,来源又是明目张胆的黑客行为,他这辈子估计都得在牢里研究如何用Python给缝纫机写自动化程序了。
不报警,坐以待毙?“黑蛇”的人定期检查钱包,发现密码被动过,一样会顺着网线摸过来,到时候,他面对的就不是讲法律的法官,而是讲物理的水泥搅拌机了。
把钱转走,远走高飞?六百亿的资金异动,会在一秒钟内触发全球所有区块链分析工具的最高警报,“黑蛇”会像闻到血腥味的鲨鱼群一样,从西面八方扑过来。
死路。
死路。
全他妈是死路!
林宇瘫在椅子上,像一条被扔上滚烫沙滩的鱼,大口大口地喘着粗气。他的眼睛里布满了血丝,极致的恐惧过后,一股被逼到悬崖尽头的疯狂,从他的脊椎骨里,一点点地、不可遏制地升腾了起来。
既然横竖都是死,为什么不做个撑死的鬼?
既然怎么选都是地狱开局,为什么不选那个最刺激、最风光、最能让前女友和前老板把眼珠子悔出来的死法?
他的目光,重新落在了那串天文数字上。
一个大胆到连上帝听了都会觉得离谱的计划,在他那颗被裁员、失恋和泡面糊住的大脑里,疯狂地成型、发酵。
不能一次性转走,那会立刻暴露。
不能存着不动,那等于穿着寿衣等死。
唯一的生路,就在于“花”!
用最快的速度,最张扬的方式,把这笔黑得发亮的钱,变成房子、车子、公司、古董、奢侈品……变成一切能用钱买到的、看似合法的东西!
只要他花得够快,花得够散,在“黑蛇”那帮人反应过来并精确锁定他之前,把自己伪装成一个身份神秘、挥金如土的超级暴发户,把整个市场的水搅浑,制造出无数个交易的烟雾弹。
他不是在逃亡,他是在用消费,为自己构筑一座坚不可摧的金钱堡垒!他不是在洗钱,他是在对“黑蛇”的追踪系统,发起一场史无前例的、饱和式的“分布式拒绝服务攻击”!
他用自己最熟悉的程序员思维,给自己这条绝路,找到了一个听上去无比酷炫的定义。
他看了一眼墙上那本撕得只剩一半的日历,6月28日。
林宇猛地站了起来,这一次,他的腿没有软。他走到那面“耻辱墙”前,将上面所有的催款单、拒信,一张一张地,全都撕了下来,揉成一团,狠狠地扔进了垃圾桶。
就给自己定一个期限。
六十天。
从明天开始,他不再是那个住在八楼出租屋,连泡面调料块都舔得干干净净的程序员林宇。
他是一个必须在六十天内花光一千亿(他决定用这个吉利的整数),为自己续命的——天价逃犯!
游戏,现在开始。