比特币钱包的余额变动通知,在三天后的深夜弹出。
林默刚调试完一个爬虫脚本,正准备关机。屏幕右下角,那个简陋的在线钱包客户端闪烁了一下。他点开。
“收到来自地址:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 的转账:2.00000000 BTC。”
他盯着那串数字,瞳孔微微收缩。
约定的报酬是五千元人民币,或等值比特币。按当前约6.5美元/BTC的市价,五千元约合769美元,能买118个BTC左右。对方直接转了2个BTC,价值……大约13美元。
远远低于约定。
但下一秒,另一条通知弹出。
“收到来自地址:1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF 的转账:100.00000000 BTC。”
林默的手指僵在触摸板上。
100 BTC。按市价,约650美元,折合人民币四千三百多元。加上先前的2个BTC,总额102 BTC,价值约663美元,人民币四千四百元左右——与约定的五千元基本吻合。
但问题不在这里。
问题在于,对方分了两笔转账。第一笔2 BTC来自那个著名的、据说是中本聪的创世区块地址(当然更可能是模仿或巧合)。第二笔100 BTC来自另一个完全不同的地址。
这种支付方式……不像单纯的报酬结算。
更像某种测试,或者展示。
他刷新页面,确认交易记录。两笔转账间隔不到十秒,备注栏都是空的。但就在他准备关掉钱包时,加密邮箱提示新邮件。
发件人:Observer_01。
标题:无。
正文只有一行字:
“合作愉快。代码优化效果超出预期,尾款已付。持续关注。”
林默的后背瞬间爬满寒意。
“持续关注”。
这三个字像冰冷的针,扎进他的视线。不是“保持联系”,不是“期待再次合作”,而是“持续关注”。一种居高临下的、观察者姿态的表述。
他立刻检查那两笔转账的区块链记录。102个BTC,对于一个刚完成五千元外包的学生来说,是一笔“横财”。但对方支付得如此干脆,甚至带着一种随意展示实力的意味——看,我可以从不同的、可能具有象征意义的地址给你打钱。
这笔钱此刻安静地躺在他的在线钱包里,总计102.5 BTC(加上之前买的0.5个)。按记忆中的峰值,这将是未来一笔惊人的财富。但此刻,林默感觉不到任何喜悦。
他只感到自己被放在了某个显微镜下。Observer_01不仅付了钱,还用这种带有暗示意味的支付方式,和那句“持续关注”,明确传递了一个信息:我知道你是谁,我在看着你。
关掉钱包和邮箱,林默靠在椅背上,宿舍里只有陈浩熟睡后平稳的呼吸声。窗外的夜色浓稠,路灯的光晕在玻璃上模糊成团。
他需要做点什么,来分散这种如芒在背的寒意。不能停下来,停下来就会被那种被窥视的焦虑吞噬。
《TODO LIST》在脑海里自动展开。下一项:“移动开发实践(入门级应用)”。
对。写代码。用具体的、可控制的逻辑,对抗那种模糊的、来自暗处的注视。
他看向上铺。陈浩睡得正熟,微胖的侧脸在手机充电器微光下显得憨实,头顶的【+65】在昏暗中也稳定可见。
一个念头浮现。
第二天下午,没课。陈浩正戴着耳机打游戏,键盘敲得噼啪响。
林默走过去,拍了拍他的椅背。
陈浩吓了一跳,猛地摘掉耳机:“默哥?咋了?我声音太大了?”
“不是。”林默拉过旁边赵峰的椅子坐下,斟酌着开口,“有个想法,想问问你有没有兴趣一起做。”
“啥想法?”陈浩眼睛亮了,头顶的【+65】轻微浮动了一下。
“做一个简单的Android应用。”林默尽量让语气听起来像在讨论一个普通课程项目,“课程表。功能很简单:录入课程信息(时间、地点、老师),按周显示,可以设置上课提醒。技术上,我用Java写后端逻辑和数据存储,你负责UI界面和布局。”
陈浩张着嘴,愣了几秒,然后猛地坐直身体:“我靠!真的假的?做App?上架那种?”
“先做出来,自己用。上架……以后再说。”林默谨慎地说,“主要是练手。移动开发是趋势,早点接触没坏处。而且——”他顿了顿,“做出来了,也算是个作品,以后找实习或许有用。”
“有用!太有用了!”陈浩兴奋地搓手,头顶的数字开始变化——【+65】像被注入了能量,数值向上跳动:【+66】、【+67】……最终稳定在【+70】。旁边的情绪符号也从简单的😊,变成了一个闪烁的✨(兴奋)。“默哥你太够意思了!这种好事能想到我!我前端是还行,但Android没碰过啊……”
“UI设计原理是相通的。XML布局,你学起来很快。”林默看着那个跃升到【+70】的数字,心里微微松了口气。陈浩的热情是真实的,这种正向的、可合作的人际互动,此刻像一剂解毒剂,缓解着Observer_01带来的阴冷感。“我可以先搭框架,把数据结构和后台逻辑写好。你边学边做界面,有问题随时问我。”
“没问题!包在我身上!”陈浩一拍大腿,“那咱们啥时候开始?现在?我需要装啥软件?Android Studio是吧?我这就下!”
看着陈浩手忙脚乱地开始搜索下载,林默嘴角无意识地弯了一下。很短暂,随即又恢复平静。
“不急。你先了解环境。我今晚把需求文档和基础框架写出来。”
“好嘞!”
接下来的几天,宿舍里多了另一种节奏。
白天各自上课,晚上就成了小型开发讨论会。林默用几个晚上就搭好了基础框架:定义了Course类(包含名称、教师、周次、节次、地点),用SQLite实现本地存储,写好了数据的增删改查逻辑。他把代码打包,连同简单的接口说明,一起发给了陈浩。
陈浩如获至宝,立刻埋头研究。他确实有前端天赋,对色彩和布局有不错的直觉。虽然第一次接触Android,但查文档、看教程,进度比林默预计的还快些。
“默哥,你看这个课程卡片的设计行不行?”深夜一点,陈浩顶着黑眼圈,把笔记本屏幕转过来,“我用CardView做的,阴影是不是太重了?颜色我想用学校主题的蓝色,但怕太死板……”
林默凑过去看。界面虽然粗糙,但结构清晰,课程信息排列得有模有样。他点点头:“阴影可以调淡。颜色……试试浅蓝渐变到白色?或者根据课程类型区分颜色,比如专业课深蓝,选修课浅绿。”
“有道理!我试试!”陈浩灵感迸发,立刻动手修改。他一边敲代码,一边絮叨:“哎,要是真能做出来,给班里人都装上,多方便。现在大家都用纸质的课表,老是忘带……”
林默“嗯”了一声,目光落在陈浩头顶。那个【+70】一直很稳定,偶尔在他给出关键建议时,还会轻微跃动一下。这种通过具体合作建立起的、可观测的正面关系,让他感到一种久违的、类似程序运行无误的踏实感。
但下一秒,陈浩那句“给班里人都装上”像一根细针,刺破了他短暂的平静。
如果App普及,他和陈浩的关联就会更公开。Observer_01会不会注意到这个项目?林绍辉呢?这个简单的课程表,会不会成为新的观察窗口?
他下意识地开口:“先别急着分享。我们做个匿名测试版,功能跑通再说。”
陈浩愣了一下,随即点头:“也是,万一有bug多丢人。先内部测试。”
两人经常讨论到后半夜,泡面、零食包装袋堆在桌上。关系在键盘敲击声和偶尔的技术争论中,悄然升温。陈浩不再只是“友善的室友”,更像是一个可以并肩攻克具体问题的“临时战友”。
一天晚上,凌晨两点多,陈浩终于调通了一个复杂的网格布局,兴奋地伸了个懒腰,抓起薯片咔嚓咔嚓吃起来。
“对了默哥,”他嚼着薯片,声音含糊,“你最近……是不是还躲着苏晴呢?”
林默敲代码的手指一顿,没抬头:“怎么突然问这个。”
“就……八卦一下呗。”陈浩压低声音,“我听说啊,苏晴最近好像跟一个特别厉害的学长走得挺近。”
林默的心脏猛地一沉。他缓缓抬起头:“哪个学长?”
“好像叫……林绍辉?对,就那个开了家公司,经常回学校做宣讲的牛人。金融学院那边传的,说有人在咖啡馆看到苏晴和他一起,讨论什么‘大学生创业项目’,聊得挺投入。”陈浩没注意到林默瞬间绷紧的嘴角,继续道,“啧啧,那可是真·大佬。听说他家背景硬,自己公司也做得风生水起。苏晴要是跟他搭上线,以后实习工作啥的,还不轻轻松松?”
林默没说话。手指无意识地摩挲着食指侧边。
林绍辉。表哥。他果然已经把手伸进了校园,而且……直接接触了苏晴。
“创业项目”?以林绍辉的风格,绝不会做无谓的投资。他接近苏晴,是因为苏晴本身的能力和背景,还是……因为苏晴与自己之间的那根“-99”的连线?
寒意顺着脊椎爬上来。Observer_01的注视还在脑后,表哥的触角已经探到了他刻意回避的区域。
“默哥?你咋了?”陈浩终于察觉到他脸色不对。
“……没事。”林默听见自己的声音有些干涩,“早点睡吧。明天再弄。”
几天后,食堂。
林默刻意选了最靠边的位置,面对墙壁,低头快速吃饭。这是他规避人群和数字干扰的习惯姿势。
吃到一半,他忽然感到周围隐约的骚动,以及几道视线落在他背上。
他抬起头。
苏晴正端着餐盘,径直朝他所在的这片区域走来。她不是路过,目标明确——附近只有林默这一桌还有空位,但并非唯一空位。她完全可以选更远、更空旷的地方。
林默全身肌肉瞬间绷紧。他低下头,假装没看见,加快扒饭的速度。
脚步声在对面停下。餐盘放在桌上的轻响。
林默不得不抬起头。
苏晴就坐在他对面隔一个座位的位置,没有看他,正优雅地将一缕栗色长发别到耳后,然后拿起筷子。她的侧脸在食堂明亮的灯光下,无可挑剔。
林默的视线不受控制地扫向她头顶。
深蓝色的【-99】。依旧刺眼。
但就在他目光触及的瞬间,那个数字旁边的情绪符号,从一贯的❄️(冰冷),极其短暂地闪烁了一下,变成了一个❓(困惑)。
真的只有一瞬。快得像错觉。随即又变回了❄️。
苏晴就在这时,转过头,目光平静地看向他。
然后,她极其轻微地,点了一下头。幅度小到几乎看不见,但确实是朝着他的方向。
一个礼节性的、近乎漠然的致意。
林默僵住了。大脑有一瞬间的空白。前世今生,苏晴从未主动对他有过任何形式的招呼。回避策略执行以来,他们更是毫无交集。
他喉咙发紧,几乎是本能地,也极其僵硬地点了一下头作为回应。动作笨拙得像生锈的机器人。
然后他立刻端起几乎没吃完的餐盘,站起身,转身就走。步伐快得近乎逃离。
走出几步,他强迫自己用眼角余光,快速扫了一眼苏晴那边。
苏晴已经收回视线,继续吃饭,侧脸平静。她头顶的【-99❄️】稳定如常。
但她旁边坐着的几个闺蜜,其中一人——林默记得之前她的数值是【-30】——此刻正盯着他离开的背影。
她头顶的数字,变成了【-45】。
而且,她看他的眼神,不再是之前那种随意的、带着点优越感的漠视,而是明确的、带着审视和一丝不善的冷意。
林默心头一凛,加快脚步离开了食堂。
当晚,宿舍。
陈浩打完游戏,洗漱完爬上床,忽然又探出头,压低声音:“默哥,睡没?”
“没。”
“那个……今天食堂,你是不是碰到苏晴了?”
林默在黑暗中睁开眼:“你怎么知道?”
“赵峰说的,他当时也在。”陈浩声音更低了,“他还说,看见刘薇——就苏晴旁边那个短头发、挺傲气的——一直盯着你背影看,脸色不太对。”
刘薇。那个头顶【-30】变成【-45】的闺蜜。
“然后呢?”林默问。
“我后来打听了一下。”陈浩的语气带着点分享秘密的兴奋,“你猜怎么着?刘薇她男朋友,就在你表哥——就那个林绍辉的公司实习!好像是技术岗,刚进去没多久。”
黑暗里,林默静静地躺着,盯着上铺床板的纹路。
所有的点,在这一刻被一根线串了起来。
他刻意回避苏晴,减少一切接触。这种行为本身,或许在苏晴那个被林绍辉影响的认知圈子里,被解读成了某种“异常”或“心虚”。林绍辉可能通过刘薇的男友,传递或暗示了什么。于是,苏晴今天反常的“主动致意”,可能是一次试探。而刘薇对他的负面观感加剧(-30→-45),并投来不善的目光,则是因为她接收到了来自男友(或者说,来自林绍辉公司)的某种信息或态度。
他的回避策略,没有让他消失在对方的雷达上。
反而,因为他突兀的、违背“常理”(一个曾经试图搭讪的暗恋者突然彻底消失)的行为,引起了苏晴背后那个圈子的注意。
人际关系的数据网,因为他这个“异常变量”的介入,开始产生预料之外的扰动。
Observer_01在暗处“持续关注”。
表哥林绍辉的触角已经通过苏晴的圈子,感知到了他的“异常”。
而他自己,试图用代码和项目构筑的理性堡垒,真的能隔绝这些越来越清晰的窥探吗?
林默翻了个身,面向墙壁。
窗外的夜色,似乎比往常更加深沉了。
他悄悄摸出枕头下的手机,屏幕的冷光照亮他紧绷的下颌。他打开那个简陋的比特币钱包应用,盯着那102.5 BTC的余额看了几秒,然后退出,点开一个加密笔记应用。
新建文档。
标题:【观察者支付模式分析_01】
内容:
- 时间:三天前深夜
- 支付方:Observer_01
- 方式:分两笔,间隔<10秒
- 地址A(2 BTC):1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa(创世区块地址/模仿)
- 地址B(100 BTC):1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uF(未知)
- 备注:空
- 附言:“合作愉快。代码优化效果超出预期,尾款已付。持续关注。”
- 初步推测:展示实力/资源?暗示知晓身份?支付行为本身含信息(地址选择)。
保存,加密。
他又新建一个文档。
标题:【人际扰动记录_刘薇关联】
内容:
- 对象:刘薇(苏晴闺蜜)
- 初始数值:-30
- 事件:食堂偶遇苏晴,苏晴主动点头致意(异常)
- 扰动后数值:-45(恶化)
- 关联情报:其男友在“辉耀资本”(林绍辉公司)实习
- 推测:林绍辉触角已通过此渠道施加影响。我的回避行为可能被标记为“异常”,引发试探。
保存,加密。
做完这些,他关掉手机,塞回枕头下。
黑暗重新吞没视野。
但那些数字——鲜红的、深蓝的、跳动的、稳定的——却像烙印一样,留在视网膜的残影里。
他需要更多信息。需要主动厘清这团开始弥漫的迷雾。
而厘清的第一步,或许是更仔细地观察,记录每一次微小的数据波动。
从明天开始。