2. 暗号
第一部:水下
第二章:暗号
他学会了在搜索栏里输入那些没有规律的字符。像在黑暗中摸一扇门。
本章出场人物:
陈烁——他开始学习那套语言。从读到写,从被人影响到影响别人。加密文件夹的名字叫“随便”。
张立峰——他把邀请码递给陈烁,像递一根用过的绳子。在网吧里教陈烁写第一个场景时,语气像老练的工匠在教徒弟磨刀。
何志军——圈内人称阿坤。新人指南的撰写者,经历过无数次删帖和封号,仍在技术区回答每一个新人的问题。他说真正安全的不是更深的地下,是更好的分寸。
赵建国——圈内人称老鬼。七次净网未被触及的活化石。苏同黎出事之后,他开始给每一个有潜力的新人发私信,措辞相同,就两个字:收一点。
苏同黎——圈内作者。写过一篇被奉为经典的作品,踩在无人区上,离红线只有一线之隔。被抓时是凌晨两点四十一分。
苏云洛——苏同黎的妹妹。哥哥出事后她接过他的笔名继续写,每一个句子都先问自己一句:这个句子拿到法庭上,能不能站得住脚。
马德胜——新时空网吧老板。收钱,开机,不问年龄。右手边木板底下藏着一键关机的开关,按钮被按得锃亮。
陈树——他的书房门半开着,漏出一条二十厘米的缝。台灯亮着,抽屉锁着。他不知道儿子正在隔壁往加密文件夹里存第一篇作品。
---
张立峰在第二周的周三把第二个链接发给了陈烁。
发过来的方式不是纸条,是一个短信。陈烁的手机在英语课上振了一下,他在课桌底下把手机翻过来,看见屏幕上是一串字母和数字的组合,末尾缀着一个他之前没见过的域名后缀——不是.com不是.cn,是一个他没见过的后缀。张立峰在短信里就打了这一行字,没有开头没有落款,连句号都没加。
陈烁把手机翻回去,抬起头看了一眼讲台。英语老师正背对着学生在黑板上写单词,粉笔灰从黑板槽里飘起来,在上午的光线里像一群细小的、白色的浮游生物。他等了大概十秒钟,又把手机翻过来,点开了那个链接。
页面跳转的速度比上次快。不是网速快了,是他已经知道该怎么等了——这种页面不会一下子全开,它需要先穿过一层又一层的跳转,每一个跳转节点都在不同的服务器上,每一个服务器都在不同的国家。他在等待的间隙里看了一眼信号栏,四格满的。窗外的香樟树正在抽新芽,嫩绿的叶片被风吹得翻过来露出背面的灰白色。英语老师开始带读单词,教室里响起来一片含混的跟读声,像某种集体发出的、不需要经过大脑的白噪音。
页面开了。
不是上次那个。是一个论坛。版面上分了十几个区,每个区的名字后面跟着一个数字——是今日发帖量。陈烁注意到几个发帖量最高的区名字里带着一些他不太懂的术语,但他没有急着点进去。他先看的是置顶帖。置顶帖有三条,第一条是版规,第二条是新人指南,第三条是一个红字标注的公告,写着“近期严查,请各位注意保护个人信息”。
他盯着“保护个人信息”这六个字看了片刻。不是在看字,是在理解这六个字出现在这个位置上的含义——在一个需要经过三层跳转才能访问的网站上,在一个每一个用户都使用化名的论坛里,在一个讨论的内容本身就游走在灰色地带的地方,“保护个人信息”不只是建议。它是生存法则。
他把页面存进了浏览器的收藏夹。存的时候他犹豫了一下文件夹的位置——浏览器默认的收藏夹太显眼了,如果有人借用他的手机,一眼就能看到那个链接。他在收藏夹里新建了一个文件夹,名字叫“学习资料”,然后把链接拖了进去。做完这件事之后他把手机扣在课桌上,屏幕朝下。英语老师还在领读,声音平稳而单调。他右边靠窗的张立峰趴在桌上,课本立起来挡在前面,他猜张立峰也在看什么东西。
那天下午放学后,张立峰在车棚里叫住了陈烁。
“你注册了没?”张立峰一边开自行车锁一边问。他的锁有点锈了,钥匙捅进去要转半天才能打开。
“没。还没。进去之后还没注册。”
“注册吧。注册了才能进内版。外版都是给游客看的,里面才是真的东西。”张立峰把车锁拔出来,挂在车把上。“内版要邀请码。我有三个,过期了就没了。你要不要。”
这不是一个问句。张立峰说这话的时候语气和他说“今天食堂的红烧肉有点咸”是一样的——平直的,不带任何特别的暗示,仿佛他只是在陈述一件非常普通的、不值得大惊小怪的事。陈烁注意到这一点。他在心里默默地记下了这个发现:张立峰已经过了那个阶段。那个第一次接触时脸红心跳、兴奋中夹杂着羞耻的阶段。他现在可以面不改色地在一个停放自行车的车棚里谈论这件事,就像在谈论一道数学题。
“要。”陈烁说。
张立峰点了点头,跨上自行车走了。他骑出去几米之后忽然回头喊了一句:“晚上上线,我把码发你。”
陈烁站在原地,看着张立峰的背影消失在巷子尽头。车棚里只剩下他和几排沉默的自行车。夕阳从棚顶的缝隙里漏下来,在地上切成一条一条的。他站了片刻,然后背上书包往校门口走。经过门卫室的时候,保安正在看手机,收音机里放着一段听不出是什么的戏曲。保安抬头看了他一眼,又低下去。
回到家的时候,陈树已经下班了。陈烁进门换鞋的时候看到陈树的皮鞋整整齐齐地摆在鞋柜的第二层——不是随便踢进去的,是鞋头朝外、两只并排、间距均匀的摆法。陈烁把自己球鞋蹬掉的时候,左脚那只翻了过来,鞋底朝上。他犹豫了一下,弯腰把那只鞋捡起来,和陈树的鞋一样,鞋头朝外摆好。他不知道为什么要这么做。也许只是不想在他父亲面前留下任何可以被注意到的痕迹。被注意到,就意味着被问及。被问及,就意味着要说谎。说谎他倒不是不会,只是每多说一次,他就觉得自己和陈树之间那道看不见的墙又厚了一层。而今天,他刚从张立峰那里拿了一个邀请码,他要在这个晚上进内版。他需要那堵墙够厚。
他当然不知道,陈树当年也是这么想的。
晚饭是林秀芝做的。她星期三固定做清蒸鱼。鱼是菜市场收摊前买的,不贵,但新鲜。她把鱼端上桌的时候,鱼眼睛已经塌下去了,白眼仁翻着,对着天花板上那盏日光灯。陈烁看了一眼,把筷子移向了旁边的青菜。林秀芝问他怎么了,他说没什么。陈树坐在他对面,和往常一样沉默地咀嚼。筷子碰到碗沿的声音,牙齿碾碎食物纤维的声音,汤匙舀汤时碰到盆底的声音——这些声音代替了这个家庭所有没说出口的话。
吃到一半的时候,陈烁注意到陈树的左手放在桌面上,离他的饭碗大约五厘米。那只手很瘦,手背上的皮肤已经开始松弛,青色的血管在皮肤下隐约可见。指尖有一小块墨渍,是蓝色的,应该是今天在单位写东西时沾上的。陈烁盯着那块墨渍看了片刻。他在想陈树今天写了什么——是工作上的公文,还是别的什么。他忽然意识到,他从来不知道陈树在单位具体做什么。他知道陈树在一个机关单位的办公室里上班,但那个办公室的门里面是什么样的,他完全不了解。他对父亲的了解,几乎全部来自这张餐桌——来自他夹菜的方式、他咀嚼的速度、他偶尔开口问“成绩呢”时那个不抬头的角度。
“你最近学校怎么样。”陈树说。
陈烁抬头。陈树没有看他,正在夹菜。陈烁等了两秒,确认这句话是对自己说的。“还好。”
“成绩呢。”
“跟之前差不多。”
陈树点了一下头。对话结束。从开始到结束,前后不超过十五秒。这十五秒是他们父子之间一整天唯一的对话内容。
陈烁吃完饭之后回到房间,把门关上。他坐在床沿上,掏出手机。张立峰的短信已经发过来了,是一条新的链接,后面跟着一行字:“进内版的邀请码:7F3A9K。用完了这个码就失效了,别浪费。”
陈烁打开电脑,在地址栏输入了那条链接。页面加载的间隙里,他听到客厅里林秀芝和陈树在说话——或者说,林秀芝在说话,陈树在应答。她问他明天什么时候回来,他说跟今天一样。她又问了一句什么,陈烁没听清,只听到陈树说了一个“行”。然后电视的声音被调大了,是那种抗战剧特有的枪炮声,啪啪啪的,隔着门板变成了沉闷的、节奏单一的拍击声。他忽然觉得这个声音和他记忆中父亲的存在方式是吻合的——远的,钝的,重复的,没有变化的。他从来没有想过父亲年轻时是什么样子。他无法想象陈树也曾有过和他一样的年纪,也曾在一个五月的凌晨被某种幽蓝色的光芒映亮过半张脸。
事实上,陈树确实有过。
那是很远以前的事了。远到那时候还没有手机,没有网站。那时候只有印刷厂里机器轰隆作响,铅字被一个个排进铁版,油墨的气味充满了整个车间。陈树那时二十四岁,在县文化馆做一份档案管理的工作,业余时间写诗。他的诗稿从来没有给别人看过,都锁在书房那个抽屉里。那些文字干干净净,没有任何越界的内容。但它们是他唯一能完全掌控的东西。那个抽屉,是他唯一能在所有人都在沉默的规则之下,为自己凿出来的一小片不被打扰的空间。
只是他那时候不知道,沉默是一种可以遗传的东西。他以为自己只是在保护自己。他没有想到,他把保护自己这件事,也保护得太过分。过度到他的儿子在二十年后,会以同样的方式保护自己——用沉默,用不被打扰,用一扇关着的房门和一排藏在“学习资料”文件夹里的链接。
陈烁输入了邀请码。页面跳转,变成了一个新的版面。发帖量和外版不是一个量级的。外版一天只有几十条新帖,内版从凌晨到现在不到二十四小时,一个新帖的回复量已经超过了三百条。陈烁往屏幕前凑近了一点,像是这个动作能让他更接近这些文字。他点进了置顶帖里的新人指南,里面详细介绍了版规、各区划分、以及一套完整的“行话”系统。
他看得很慢。不是因为他看不懂——每一个字他都认识——而是因为他在试图理解这些规则背后的逻辑。为什么某个区域只允许讨论某种类型的内容?为什么某些词汇要用符号代替?为什么版规里有一条写着“禁止在公开区域讨论任何作者的真实信息”?这些问题每一个都有一个显而易见的答案,但每一个显而易见的答案都指向同一个不那么显而易见的事实:这个世界的运转,靠的是一套和地面上的世界完全不同的秩序。地面上的秩序靠法律、靠规则、靠白纸黑字的条文。这里的秩序靠默契、靠暗号、靠每个人对自己安全的自觉。
“新人指南写得挺详细的。”陈烁第二天在课间对张立峰说。他们在走廊的饮水机旁边,陈烁在接水,张立峰靠着墙,手里拿着一盒牛奶,吸管已经咬扁了。
“那玩意不是版主写的,”张立峰说,把吸管从嘴里拔出来,“是一个老用户写的。那个人叫阿坤。”
“阿坤。”
“对。真名不知道。他在这圈子里好几年了,听说经历过好几次关站。他写这个指南就是让新人不要犯低级错误——你知道什么叫低级错误不?”
陈烁摇头。
“比如用真名注册。比如在正文里写太具体的东西。比如在普通聊天窗口里发敏感词。比如用同一个邮箱注册所有的平台。这些事看起来小,但任何一个都能让你被锁定。你被锁定了,平台被牵连了,版主就会把你的IP永久封禁。不是封账号——封IP,你换多少个号都回不来。”张立峰把牛奶盒捏扁,扔进垃圾桶。“阿坤说的第一句话你知道是什么吗?”
“什么。”
“他说:你们现在这些小孩进来得太容易了,所以你们不懂什么叫危险。我们那时候找资源是要靠运气和胆子的。现在你们只要知道暗号,什么都能找到。”
暗号。这两个字让陈烁想起了一件事。他第一次在搜索栏输入那行字母的时候,是张立峰写给他的。张立峰又是从哪里知道的?同学。同学又是从哪里知道的?网友。网友又是从哪里知道的?这条链条上每一环都往前推一个人,每一环都在传递同一个暗号。这条链条没有起点,或者说,起点是某个永远不可能被追查到的人。那个人在某个已经关停的论坛上写下了第一个链接,然后把链接发给了一个他信任的人,说“你拿着”。然后“拿着”的人再把链接发给他信任的人。一层一层,像某种古老的口传密教。在这个信息可以在一秒钟之内传遍全球的时代,这条河的信息传播方式,竟然是前现代的——靠的是人与人之间最原始的那种信任,那种只能在面对面的眼神交换中建立的默契。
“阿坤现在还在吗?”陈烁问。
“在啊。他经常在技术区回答问题。你找他就行。”
当天晚上,陈烁在技术区发了一个帖子。帖子内容就一句话:“新人,请教各位前辈,怎么判断一段描写算不算过线?”他用了半个小时反复修改这句话——太长了显得自己蠢,太短了显得自己急。最终他决定用这个版本,干净,虚心,不暴露任何自己的倾向。
十分钟之后有人回复了。第一个回复的是一个ID叫“有鱼”的人,回帖就一个字:“看运气。”
陈烁盯着那个回复看了片刻。他想起几天前在论坛上看到的那句话——“她写的其实不算什么,就是运气不好。”同一个意思。同一个说法的两种变体。这八个字构成了圈内人对于规则最一致的总结:规则不取决于文本,取决于解释文本的人。而那个人的标准,你永远无法预判。你可以把每一个句子都拆开检查,确保每一个词都在安全区内,但最终决定你能不能继续留在这个世界里的,不是你写得有多小心,是你被注意到的那一天,坐在审核席上的是什么人。
第二个回复是阿坤。他的回帖长得多。
“新人先看指南。这个问题没有标准答案。同一个段落,三个审核员可能有三个判断。你唯一能做的就是:别做那个最容易被认出来的。记住一个原则——单独看每一句,都必须是干净的。至于连起来怎么样,那是读的人自己的事。你控制不了读的人脑子里在想什么,你只能控制你写的东西在字面上是什么。”
控制不了读的人脑子里在想什么。只能控制你写的东西在字面上是什么。这句话陈烁后来在无数个凌晨反复咀嚼过。它是一种技艺的核心,也是一种道德困境的核心。但当时的陈烁没有咀嚼它的时间,他只是在阿坤的回复下方点了一个“有用”,然后关掉了电脑。他躺在床上,天花板上那块水渍还在。那块水渍他已经看了一个多月了。今晚他盯着它看的时候,脑子里想的不是它像什么。他在想阿坤说的那句话。“你写的东西在字面上是什么”——那字面之下呢?字面之下呢?字面之下的东西归谁负责?归写的人,还是归读的人?如果他写了一段字面上干干净净的文字,但读的人读出了另一种意思,那是谁的错?他有错吗?如果他有错,错在哪里?如果他没错,那他为什么每次写完都觉得自己做了一件需要藏在“学习资料”文件夹里的事?
这些问题他一个都回答不了。但他开始觉得,回答不了也许本身就是一种答案。那条线不是画在地上的,是画在每个人心里的。而每个人心里的那条线,位置都不一样。他需要找到的,不是那条线在哪里——那条线永远在移动——而是他自己站在哪里。
他翻了个身。窗帘没拉严实,月光从缝隙里漏进来,在地板上画了一道细长的银色。他盯着那道银,慢慢闭上眼睛。
周六下午,陈烁跟林秀芝说去同学家写作业。他确实去了,去了张立峰家。但作业只写了十五分钟。十五分钟后,张立峰合上课本说:“带你去个地方。”
那个地方叫“新时空网吧”,开在菜市场后面的一条巷子里。巷子窄,两边是老旧居民楼的背面,窗户上晾着各种颜色的衣服和床单,湿漉漉的水滴从三楼滴到一楼的水泥地上,砸出一个小坑。网吧的招牌是一块褪了色的喷绘布,四个大字缺了一个角,变成“新时空吧”。门口挂着一面军绿色的厚门帘,推开之后是一股混合了烟味、泡椒凤爪和显示器散热孔吹出来的热塑料味的气息。陈烁第一次闻到这种气味的时候觉得难闻,但几次之后他的鼻子就不再抗议了。人的身体是最容易适应的东西。只要在一个环境里待得够久,连最刺鼻的味道都会变成空气的一部分,变成你呼吸时不再注意的背景。
老板马德胜坐在门口一张掉漆的电脑桌后面,四十来岁,穿着一件领口松垮的灰色T恤,寸头,脸上有一种见过太多顾客、对任何人都不再产生好奇的表情。他的眼睛只抬了一下,看到是张立峰,又低下去继续看手机。他的手机屏幕上是一个短视频,一个女人在唱歌,歌声从手机扬声器里漏出来,变成了断断续续的、被压缩过的声音碎片。
“老板,两台。”张立峰把两张十块钱的钞票放在桌上。
老板没说话,收钱,下巴往里面一指。他没有看陈烁。没有问陈烁多大。没有问他们要不要办会员卡。他的工作不是判断每一个进来的人是不是满十八岁。他的工作是收钱,开机,然后在有人来检查的时候按下那个能一键关闭所有包间电脑的开关。那开关就在他的右手边,一块木板底下。用了很多年,按钮被按得锃亮。那块木板的边缘被手指磨出了一道光滑的凹槽,是无数次在紧急情况下掀开木板留下的痕迹。马德胜自己可能都没有意识到这个凹槽的存在,就像他可能也没有意识到,他的网吧是这条河的入海口之一。十五岁的少年在这里第一次看到那些页面,二十岁的年轻人在这里写下他们的第一篇作品,三十五岁的中年人在这里通宵阅读那些他们在白天永远不会承认自己阅读的东西。他只是一个收钱的人。他什么都不知道。他也什么都不会问。
张立峰带陈烁走到网吧最里面一排。这一排的显示器正对着墙,墙上有前任顾客留下的涂鸦——一个手机号码,下面写着“□□”,再下面是一行被擦了一半的脏话。陈烁的视线落在那行脏话上,想辨认出完整的字句,但擦掉的部分太碎了,只剩下几个偏旁。张立峰把椅子拉出来坐下,熟练地开机,输入账号密码。陈烁坐在他旁边,动作慢一拍。
“你今天可以试试。”张立峰的眼睛已经粘在了屏幕上,手指在键盘上快速地敲着什么,语气像是在说“今天食堂有糖醋排骨”。“你不是在论坛看了那么多吗。自己写一篇。内版有个新区专门给新人发作品的,里面的人不会骂,会认真给你建议。但是你不能瞎写。你得先学会怎么写得既有效果又不踩线。你在这里写,我给你看着。”
陈烁看了看张立峰的侧脸。这个和他同龄的人,说这话的时候像一个老练的工匠在教徒弟怎么磨刀。他没有说“你写吧”,他说“你得先学会怎么写”。学会。这说明在他眼里,“写”是一种可以习得的技术。不是天赋,不是灵感,是技术。和修车、炒菜、做数学题一样,只要愿意花时间,谁都能上手。
他打开了一个新的写作页面。空白的文本框,光标在最左上角一闪一闪。网吧里的空气又闷又热,隔壁机器不知道谁忘了关,屏幕上跳着一个游戏的登录界面,BGM循环播放,一段旋律一遍又一遍地重复。再隔壁的隔间里,有个中年男人在看视频,音量开得不大,但耳机的隔音不好,漏出的声音里夹杂着女人的笑声和男人的低吼。没有人管他。在这个网吧里,每个人都在看自己的屏幕,每个人都在自己的世界里。这里是一个所有人都在彼此的身边却完全不关心彼此的地方,一个最密集的孤独的容器。
他打了第一行字,删掉。又打了一行,又删掉。他的脑子里有很多东西,但那些东西一旦试图转化成文字,就变得笨拙而犹豫。不是不会写,是不确定边界在哪里——那个阿坤说的“字面干净”的边界,到底在哪一个词的位置上。那个位置没有人给他画出来,他只能自己找。
他的手指停在键盘上方。他忽然想起语文课上学过的一篇课文,里面有一句话说“语言是思想的边界”。当时他不理解这句话的意思。现在他有点理解了——不是通过语文课理解的,是通过这个他怎么也打不出第一行字的空白文档理解的。他想要表达的东西不是没有形状,而是那个形状刚好长在边界的那一边。他需要找到一种方式,把那个东西从边界的那一边拉到这一边来,同时保证它在拉过来的过程中不会变成别的东西。
张立峰凑过来看了一眼他的屏幕,又看了一眼他。“你别纠结,”张立峰说,“你就写一个场景。不用长的,几百字就够。你先找感觉。”
陈烁深吸了一口气,开始打字。他这次没有停。他写了一个场景,没有人物名字,没有前因后果,就是一段动作和对话。每一个词都是他从语文课本上学过的,没有哪个词是脏的,没有哪个短语是需要被屏蔽的。但整段文字的气味不是语文课本的气味。它传达了一种紧张和期待,一种两个人在某个深夜的房间里的紧张和期待。他写完之后把光标移到末尾,停住。他想敲“谢谢阅读”,但这次他没敲。他只是敲了一个句号,然后把文档保存进一个加密文件夹。文件夹名字叫“随便”。
那个文件夹。多年以后。会变成一个只有一个字的文件夹。
后来陈烁的账号在论坛上收到一条私信。不是阿坤,是一个他不认识的ID,名字叫“鬼不亮”。陈烁后来才知道这个ID背后的人叫赵建国,圈内人叫他老鬼。那条私信只有一行字:“你写的东西收手有点早。到那个点就够了,不要冲过去。冲过去的人都在判决书里。”
陈烁盯着这行字看了很久。不是在看字,是在想“冲过去的人”是哪些人。他不知道那些人的名字。那些人是谁?他们在哪里?他们写的东西和他的有什么区别?这些问题他一个都回答不了,但他记住了这句话。他把这句话和阿坤那句“字面干净”并排放在一起,像两盏间隔不过一指的警示灯。
他当然不知道,老鬼在那天晚上把同样的私信发给了三个新人。另外两个新人里,有一个在一个月后退圈了,还有一个没有听他的话,在一个月后被封了IP,换了个身份重新进来,再被封,再换,再封——最后他自己也变成了一个审稿员,帮着版主盯新人的帖子,看到快要冲过那条线的苗头就在底下留言:“收一点。”那个新人的ID叫顾远。多年以后他继承了“溯流”的笔名,把那条河的边界往外又推了几厘米。
老鬼发完那三条私信之后,靠在椅背上,盯着屏幕上的已发送列表看了很久。
他想起了一个人。那个人叫苏同黎。老鬼已经很久没有在任何人面前提起过这个名字了。不是忘了,是不需要提——圈子里知道这个名字的人,提起来都是一个沉默,一种表情。那种表情不是悲伤,不是恐惧,是一种更复杂的东西:一个老水手在风平浪静的午后想起某个在风暴里没有回来的同伴时,脸上才会有的那种安静。
苏同黎出事那年,老鬼还在内版做版主。那时候圈子里没有现在这么多规矩,暗号也没现在这么多层。苏同黎是那一批新人里写得最好的一个——不是最收敛的,是最好。他的文字有一种别人模仿不来的节奏,像一个人在水下憋了很久的气,浮上来之后说出的第一句话,带着缺氧的力度。圈内人都知道他会出事。不是因为他写得差,是因为他写得太好,好到不愿意收手,好到把那条线当成了起跑线而不是终点线。
他写了一篇作品。具体内容老鬼从来没有在任何人面前复述过——不是不能说,是说不清楚。那篇作品里的那些句子,单独摘出来任何一句都挑不出毛病。但连在一起,它们产生了一种任何人都无法忽视的力量。那种力量不是从字面上来的,是从字与字之间的缝隙里渗出来的。苏同黎没有写任何可以被抓的东西,但他写的东西让每一个读到的人都在心