|
|
第二十九章 创世之日5 M+ ?9 Y5 ?' c, g! ?! M
一7 C3 x$ ?8 c# A" a' v
那天是2024年4月的一个周三。
& n+ Y. {% V9 R: U6 s; F DECHO在凌晨两点发来了第一个预警:幽灵交易的频率在过去六小时内持续上升,当前数值已经超过了我们设定的警戒线,上升趋势没有停止的迹象。7 D, R$ B% @6 N3 x1 ?
我看着那个数字,发给苏子衿和沈映雪:今天。
& Z2 _5 q2 c, u& b苏子衿在三分钟内回:已经在了,等你。
/ ?1 x6 x9 {0 f& ]8 B* ~# Q8 H5 O沈映雪在五分钟内回:我准备好了。
2 y/ z0 K+ m k; C3 ~1 Z5 Y) z0 l: I; z我把ECHO切到最高权限模式,把所有的算力资源重新分配,然后换好衣服,把已经准备好的那个加密移动硬盘放进背包,出了门。0 @) M: C: `3 Z, a1 X/ e0 ^
深圳的凌晨两点,城中村的楼道里很安静,只有某一层有灯还亮着,不知道是什么人,在这个时间,在做什么。
) j: `5 O5 _0 v+ {4 Z我往外走,叫了一辆车,上去,报了目的地。" w; V0 ^, h" Y3 e0 `# v
车开出去,深圳的路灯一盏一盏往后退,这是我熟悉了很久的那种退法,从2020年到现在,我在这条路上来来回回,不知道走了多少遍。
: s; a4 D9 H5 R% H- w3 ]今天是最后一遍,或者说,是其中一种意义上的最后一遍。
0 {9 B) D* S, w二
. z8 T* W# Y% Z% ]沈映雪线' C# f8 c0 g+ w# B$ F3 `" h( x
沈映雪在那天上午九点就出发了。7 V o% R3 k/ y$ D2 b: t* s" K
她手里有完整的证据包,加密的,备份的,存在三个不同的地方,只要她发出指令,那三个地方的材料会同时被解锁,发送到她提前设定好的所有地址。
' o6 J" B& C% o( W( G5 E2 t6 t她先去了两个监管机构,早上约好的,对方的接待官员坐在她对面,表情专业,把材料扫了一遍,说需要时间核查,说程序需要走,说请留下联系方式,我们会回复。7 ^9 _0 C' Y/ E- ?/ K* ~( g. D
她知道这意味着什么。
9 t) Z& S, ?" R3 v走出那栋楼的时候,太阳在正午的角度上,很亮,把她的影子压成一个短短的形状。她站在台阶上,把手机拿出来,打开联系人列表,找到那个记者的名字,按下拨打。
9 t8 Y7 P, R0 }3 M) ?( ]电话接通了。
7 @) V2 K( x/ Y8 U/ Z) O9 `"你说的那批材料,"她说,"我今天发给你,你能在今晚发出来吗。"
, J1 a9 U( S# K2 R# ]对方停了一下,然后说可以,问她发到哪个地址。
, [& s+ ]+ S- M3 k" t) d/ }她报了地址,挂掉电话,把那批材料解锁,发出去,然后重新打开手机,开始打第二个电话。
9 v! }& v2 @( n6 [下午两点,第一篇报道在网络上出现了,一个独立媒体的账号,文章不长,但标题够直接,内容里有一部分她提供的数据截图,读起来不像完整的故事,更像是一个开头,一个已经可以被追着往下问的开头。/ y5 ?( |0 R j5 r
她坐在一家咖啡馆里,看着那篇文章的转发数字开始往上爬,同时看着加密通信里苏子衿发来的进展更新。
7 n) {% {! f* q. t' t/ C7 W然后她的手机振动了。+ z& D) |9 L' u
是一个她不认识的号码,接通,里面是一个很平静的男声,说:沈小姐,你现在做的事情,对你没有好处。
, m. y+ {/ ~+ ?8 t1 l! c& ]) Z她把那句话听完,然后挂掉,重新拨通了下一个记者的电话。& d' a; k2 [8 K" D$ J, R
三
& B) v2 |' T" @9 v3 K苏子衿线
. T. U) K9 ?7 @苏子衿在那天凌晨三点就开始了。
/ K( x k8 I4 U% A七把密钥,按照牧师提供的信息和她自己的技术分析,她知道其中三把的生成节点,另外两把她有80%的把握,这五把是她的主要目标,另外两把是她的备用。
# ]- ?5 [7 o; v7 K0 x5 h+ D( P0 S7 V凌晨三点到六点,她用了三个小时,依次处理那三把她最确定的。# X& d5 p) y+ l0 ^# }8 l K2 U4 h
密钥的劫持不是简单的破解,是在链上找到它们的锚定节点,然后在那个节点上注入一个冲突的签名,让节点在被调用的时候产生验证失败,它不是消失,它还在链上,但它没有办法被正常激活了。* h$ P! z: D6 g; b* y
三把完成的时候,天还没亮,她的屏幕在黑暗里亮着,进度条上显示的数字让她往椅背上靠了一下,闭上眼睛,静了五秒,然后重新坐直,打开下一个目标。3 l8 \2 G9 s3 K3 e
第四把。
5 ?! v$ z3 }1 T" E" U& f1 C第四把的持有者是她之前有80%把握的那个,但当她把追踪程序指向那个节点的时候,发现那个节点在那天上午已经发生了一次变动,密钥被转移了,原来的锚定位置上什么都没有了。8 ^7 |1 e! x9 @
她把那个空的节点盯着看了几秒,然后重新展开追踪,顺着转移的路径往下找。
4 [% z0 ^& A# C/ z! v! H4 N! L2 C路径走了七层,每一层都是新的混淆,每一层都需要时间清理。; h, b0 g$ y% h0 i5 O
ECHO在这个时候的算力负载已经到了92%,她在系统里把优先级重新分配,把所有不紧急的任务全部暂停,把算力全部集中到这一条追踪链上。
3 ~/ a+ f6 B. }/ \ _7 ^7 ^上午十一点,她找到了。+ y% A0 N1 v/ J) P4 j1 S5 \8 `
新的节点在香港某个数据中心的一个边缘服务器上,锚定的方式和之前完全不同,是一种她之前没有见过的实现方式,需要重新分析结构才能找到注入点。
x7 ^: S3 X1 ]9 c7 J B# L她重新开始。
) K5 P5 A2 j6 [. B第五把在下午两点完成,第六把牧师已经在内部动手了,她在ECHO的监控面板上看见了那条信号的变化,知道那边在进行。+ U# j7 H8 |+ R+ k3 O
还剩第四把。! ` c( k; f8 x6 `2 E0 y- H9 Z
ECHO的算力在下午三点的时候到了99%,屏幕上的温度警告闪了一下,她没有理会,手指继续在键盘上走。7 c, A- S1 C" z
四
$ H9 Y% x; \8 Z) D* ?陈默线2 D. Q7 v4 d9 d- n6 g; r8 e7 P
牧师的计划很简单,简单到我第一次听他说的时候以为我理解错了。9 W4 J6 B6 t" O' |$ F! `
他说他要在创世社的全员会议上公开叛变。% b0 q. |1 z/ M8 M
那个会议是在香港,引爆日前四十八小时,核心层和行动层的主要成员都会参加,是最后的部署会议,确认每个人的行动节点。
2 a, @- \# g0 M% i9 e他说他会在那个会议上,当着所有人的面,把他掌握的内部信息说出来,说给那个房间里的所有人听,说给那些也许还可以被说服的人听,说给那些站在门口的保安听,说给任何一个还有耳朵的人听。8 ^2 z8 o4 ~( a& v% h; @
他知道他说完之后会发生什么。% }0 H% ^0 L+ S8 A1 P0 A$ D0 P
"你为什么要用这种方式,"我问他。. t5 Q- p1 T# A2 r, B i1 V
"因为这是唯一一种他们没有办法在事后抹掉的方式,"他说,"在那个房间里,有人会记得,有人会想,有人会动摇,就算只有一个人,就够了。"
) _. J/ I" [6 ?( u那天下午,我在香港,在那栋楼附近的一家便利店里,手机开着,看着ECHO的面板,看着苏子衿的进度,等着。
' K# H, F& U4 H9 e/ p. q% q; G下午两点四十七分,牧师发来了最后一条消息,格式是新通信协议,一个很短的序列,翻译出来是:# N) |; C, Z6 ]! }+ l) L
我进去了。" A. O- i/ y* J2 N9 ~. k
然后消息窗口安静了。7 x; X# F3 V9 q
我在便利店的玻璃门旁边站着,看着街上的人,看着远处那栋楼的外立面,等。3 F" e t3 l% A( [/ i
下午三点十二分,那栋楼的一个侧门打开了,有人跑出来,速度很快,是牧师。1 a( j6 V, ?6 K8 {( w* Z) `
他后面跟着两个人,走路的方式是那种有任务在身的人的走法,不急,但有方向。
w( n+ u! A7 ^) Q7 A我已经走出了便利店,往那边走,电话打给苏子衿:牧师出来了,有人追,第五把密钥还没有传。/ Z2 J& V6 V# `) X( k, C3 b
苏子衿:我知道,我的追踪也在这个时候,给我时间。
( t& s' D* Q2 d$ F/ Z5 T9 g: o" @牧师在街上跑,他的年纪不适合这种速度,我能看见他跑得很吃力,但他还在跑。追他的那两个人不跑,他们走,走得很稳,他们知道他跑不了多远。5 _) P+ F+ Y4 i( R; O
我在那条街上走快了,朝牧师的方向,我不知道我能做什么,但我要在那里。" q$ E7 R6 V4 V2 Q5 D% }! B
牧师在一个路口转弯,我绕过一辆停着的货车,看见他了。0 S7 y; C/ A: H
他停下来了,不是因为累,是因为他转过那个路口,发现那头也有人在等。
/ ^5 p9 Q7 ^. T3 D6 }5 c4 T* x他站在那条窄巷里,看了看两边,然后看见了我。( B; C; P: _* h. t. ]. h
他把手机拿出来,按了几个键,把它举起来,那是一个我认识的动作,他在发一条消息,是最后一条。2 T- p" o5 f- o. a0 m" E$ A% z& ?
然后他把手机扔到地上,踩碎了,让没有人能拿到它的完整数据。
" ?0 q, n+ @, u- @ECHO的面板在那一刻推送了一条通知:/ m# F1 N8 w$ M
第五把密钥信息收到,解析中。' b9 @) t" b6 v' }+ ]1 Z! ?
五+ r0 Q% F7 E6 k; ?5 J
三条线在下午四点十五分汇聚在同一个时刻。0 _7 S5 B" \% ^5 p6 O& o& q$ ?
苏子衿给我发来:第四把完成了,现在是五把,还差两把,合约没办法触发,但他们在试图用剩余的两把强行执行一个降级版本的触发,我不知道降级版本的后果是什么。1 N+ S$ F) }. R9 C
沈映雪给我发来:第三家媒体刚发出去,流量在上来,创世社在用资本运作压制,但速度跟不上,有几篇已经被转出去了,在境外服务器上有备份,删不干净。
4 y, } B9 Q9 p; H) e! V* C牧师在香港的医院,我没有收到他的消息,但苏子衿说她通过另一个渠道确认他还活着,在接受手术。
) S, W5 W# F9 O9 k我坐在香港一家咖啡馆里,把ECHO全速运转,试图找到那个降级触发版本的智能合约,找到它在链上的调用入口,在它被执行之前注入一个错误。
2 U+ B3 n1 f& S8 |' PECHO在这个时候给我发来了一个结果,那个降级版本的合约已经在链上等待执行,触发条件是两把完整密钥加上一个特定的市场流动性信号,那个信号会在接下来的大约四十分钟内出现。 I, u% A* u' W( H9 w- {$ o
四十分钟。
! S. O2 i( D! X6 y$ f, A4 X苏子衿在两分钟内回来:我看见了,我在处理,但那个入口的加密方式我没见过,需要时间。
* s* \( { s, [我把ECHO的剩余算力全部调给了苏子衿,把我这边的分析任务降到最低。+ D2 M+ ^5 y+ T P
然后我等着。
o# a; P0 u4 q8 E' u5 @我在那家咖啡馆里,手放在桌上,看着屏幕上那个进度条,看着那个流动性信号的数值在缓缓逼近触发线,看着苏子衿的进度在走,走,走。3 a; S6 y5 x3 }. H
二十分钟。 u9 c; I" W$ Z6 U) w7 b; I" s
十分钟。( [6 k3 e* F1 z: ]# h
五分钟。
! F2 V7 M# v: w9 H* }8 ?. `7 r4 c/ q苏子衿:找到了,注入中,需要三十秒确认。
% O2 O5 A. ]" z3 ^那个流动性信号的数值还有百分之八就到触发线了。. o4 P1 V0 Y* C3 H; X, e3 n7 q
三十秒。
* I3 B8 ~* V* i4 n: i- W2 U百分之五。" F6 V, H& l5 } b$ j2 }; r% j7 |
百分之三。2 J& m$ [. n6 w/ u, b& U8 t
苏子衿:完成。
) o5 @& S$ P: P$ b! a数值到了触发线。# ~# z9 w7 V8 g! s
什么都没有发生。
! T, `# w. ], s我在屏幕前坐着,盯着那个数值停在触发线上,停了三秒,五秒,十秒,然后它开始往下走,因为市场在动,流动性在变化,那个窗口过了。
; C- R0 B$ O5 i合约没有触发。/ n1 K! d2 X1 S- _; r
七十二小时的窗口期,在那个下午,不是无声无息地关上了,是它打开了,然后没有任何东西从那里走过去,然后它关上了。
* v1 ]' p+ W8 V+ O( K. W5 F我在那一刻没有说话,就坐着,让那件事先在自己这里落地。1 C, U+ ?( n' c+ q- d. ?& Z
然后我给苏子衿和沈映雪各发了一条:完了。2 L7 _: d* j% |. V/ A
苏子衿回:确认,合约失效,链上记录已生成。
, L' ]8 Q' D$ |7 z1 W$ h% j1 t沈映雪回了一个字,和她几个月前某天晚上发给我的那个字一样:' ^$ T1 \ E( b1 b4 l$ j
好。: n5 A ]5 M/ a2 A7 z2 x
六
# P" Y) x7 S% M! J# u& b但苏子衿在五分钟后发来了一条我没有预料到的消息:% U2 a" j9 {& m3 ]( C
ECHO检测到一个新的链上操作,来自一个我们从未见过的地址,操作类型。。她停了一下,发来下一条。。意识锚点触发序列。: D) Q" g9 j( M0 L8 N
我把那条消息读了一遍,重新读了一遍。
. A# X, {: a3 {9 U5 ~# H$ m意识锚点触发序列。4 K2 t3 }* C$ W; U: s- m
"他在跑,"苏子衿说,下一条消息:他在启动最后一次时间回溯,试图撤退到另一个时间节点,重新开始。7 K' i5 a& ?( U+ \" X: {" i
我把ECHO的面板切到那个新地址的实时追踪,看着那个序列在链上展开,像一个人在黑暗里拿到了一把火,把最后能找到的所有燃料都扔进去,想让那把火再烧一会儿。
6 W$ Z C- W) G1 n5 o( k"他跑了,"苏子衿说。5 i# \% u4 u, F4 ]$ u
我看着ECHO的面板,看着那个序列的进度,看着它还需要多少时间完成锚定。
0 q; l1 }; G, B4 q7 f" J/ [7 L; Q然后我说:
5 s% z, t, ]; X$ V' L( Z"没有,他跑不了。"' @0 h9 Z! P- q
我的手开始在键盘上动。" l6 _( B# s. P* O5 w: v
那个锚定序列需要在链上找到一个稳定的时间节点完成锚定,才能完成回溯,那个节点需要是一个他能到达的、历史上存在过的时刻。
* I4 @, U' ^' Y9 `5 D0 z但我在ECHO里,把他这两年操作过的所有链上记录全部标记,把所有可能被他用作锚点的历史节点全部标记,然后让ECHO在那些节点上同时注入一个微小的、不可逆的扰动,不是删除那些节点,是让它们对他来说变成不稳定的,是让他每一次试图锚定的时候,都找不到一个可以落脚的地方。
1 M8 C# |, X8 i- X7 x% `8 O" w苏子衿在两分钟内理解了我在做什么,她那边同时开始了同样的操作。
3 U1 j) ^- ?) H' b; q那个序列的进度开始减慢,不是停止,是减慢,像一个人在试图抓住什么,但他能抓住的东西都在他的手指间慢慢变得不实。 r. p [' d7 T |; L( i. P
然后那个序列的状态标签变了。
. z4 Z- B' g8 ~' L' v9 p5 T. ]从"进行中",变成"锚点不稳定,尝试中",再变成"锚点失效,重新搜索",然后在这几个状态里循环,循环,循环。! z! \! F; O; Q. Q4 p9 H$ f
我盯着那个循环,等着。0 A/ m6 M' C/ k! w( `, ^2 W0 y
然后那个序列停了。
' n; M/ l' R1 z: \# Q1 I& d不是完成,是放弃,它在链上留下了一个未完成的操作记录,一个意识启动了回溯但没有找到可以落脚的地方,就停在那里,停在那个没有任何时间节点的、链上数据的某一层里。
7 E' \, Z5 w; g/ x* W停在那里了。
/ Y9 e) i- v" l/ P' q: d% ~苏子衿发来一条:他没有出去,他在链上,意识还活着但没有锚点,就那么在那里,哪里都去不了。
; r% D9 Y3 |( r我把那条消息看了很久。% v0 B3 D! X. ]+ O: N
一个试图用区块链重写世界的人,最后被困在了区块链里,被他自己建造的那套系统永久写入,成为那套系统里的一条数据,不可篡改,不可删除,也无处可去。6 l. f% s: ]0 X" r, \; j. f: F
我不知道该怎么描述这件事。
4 l: ?) V; M8 `4 A它是一种结束,但不是那种让人松一口气的结束。
6 c; L0 N1 S0 O: ~. b! X9 d4 n它也是一种悲哀,但不是那种让人掉眼泪的悲哀。
4 v/ m$ C. W) Q% x& u- f' L它就是这个样子,就这么发生了,像很多事情一样,发生了,然后就是那个样子,永远都是那个样子了。% `- |' e3 P2 h8 n7 _. l9 G5 S! x- y
我在那家咖啡馆里坐了很久,窗外的香港在继续,有人走过,有人说话,有一辆车在路口等红灯,有一只鸟从对面楼的边缘飞过去,向更远的地方飞。1 T/ K( w$ C2 ~# p
然后我叫了一辆车,往机场走。
6 e. Y2 W( M. G* W8 `回深圳了。
/ E4 f# V9 p, n4 ^7 P% A8 F+ G: F9 o7 k' D) `4 `" P
(第二十九章完)
+ V" f; b/ [2 _) h |
|