最后一班地铁
最后一班地铁
一、老屋里的新神
县城东边那条老街,叫槐安巷。巷口有一棵三百年的老槐树,树干粗到三个男人合抱不过来。树干上钉着一块蓝底白字的路牌,写着”槐安巷”三个字,漆已经剥落了一半,露出底下更早的红色漆痕——那是很久以前”破四旧”时候留下的。
每年三月,槐树会开一种淡黄色的小花,香气在整条巷子里弥漫开来,像一句被说了无数遍的祝词。花落的时候,满地金黄,像铺了一层薄薄的碎纸钱。老一辈的人说,那是给地下的人看的——给那些没有后代的孤魂野鬼一点光亮,让它们记得回家的路。
二〇二五年秋天,槐安巷迎来了它三百年来最奇异的一件事。
巷子深处那户姓周的人家,老屋突然”亮”了。
不是灯亮——是整座老宅的外墙,在夜里发出一种幽蓝色的光,像手机屏幕贴在皮肤上那种冷光。住在隔壁的李婶半夜起来上厕所,看见那光,吓得跌坐在门槛上,以为周家那个去世五年的老爷子回来了。她叫来了街坊,大家围在周家门口议论纷纷,有人拍照发朋友圈,有人打电话给社区居委会。
最后来的是周家的儿子,周盐。
周盐今年三十四岁,在省城做了七年程序员,人瘦得像根竹竿,戴着一副厚眼镜,说话时眼睛总往下看,不看人。那天晚上他从省城赶回来,穿着一件皱巴巴的格子衬衫,拖着一个行李箱,神情疲惫。他用钥匙打开那扇斑驳的木门,在众人期待的目光中走进去,片刻后又走出来。
“没事。“他说,声音干涩,“是服务器的光。”
“啥服务器?“李婶问。
周盐犹豫了一下,像是在组织语言。“我在……做了一个项目。用老家的房子当机房。”
没有人真的听懂。但那种蓝色的光确实在几天后熄灭了,像一只闭上了眼睛的萤火虫。槐安巷恢复了它应有的寂静,只有槐树还在秋风里沙沙作响,像是在重复一个谁也听不懂的句子。
没有人知道,那个秋天,周盐带回老宅的,是一台运行着去中心化信用评分系统的矿机。
也没有人知道,那台矿机连着一条链——一条记录着整个县城三万户家庭信用数据的链。而周盐,是那条链上唯一的验证者。
他后来成了整个故事的讲述者,也成了整场灾难的守门人。
二、信用县
故事要从两年前说起。
二〇二三年,省里搞了一个”数字普惠金融示范县”的试点项目,选中了云台县——一个离省城三百公里的农业县,工业基础薄弱,唯一的亮点是有一家上市酒厂和一个据说很有背景的县委书记。
项目的核心是引入一家叫”信链科技”的公司,在云台县建设一套基于区块链技术的农村信用评分系统。这套系统的官方名称很长,叫”云台县农村数字普惠金融信用平台”,但老百姓私下叫它”信用县”。
信用县的玩法是这样的:每家每户的信息都被登记上链——户口本、房产证、耕地面积、农机具、存款流水、子女教育支出、甚至吵架记录和邻里评价。链上的算法会根据这些数据给每户人家打一个信用分,0到1000分,分数越高,能享受的金融服务越多。
600分以上,可以在农村信用社获得低息贷款;700分以上,可以申请县里的”乡村振兴专项基金”;800分以上,子女升学可以加分;900分以上,看病挂号可以走绿色通道。
反过来说,分数低了——
550分以下,贷款申请会被自动拒绝;500分以下,你的名字会出现在村委会门口的电子屏上,滚动播放;450分以下,你的银行卡会被系统监控,每一笔超过500元的支出都会触发人工审查。
刚推行的时候,村里人觉得新鲜。槐安巷的王大爷,六十多了,第一次去村委会登记信息的时候,还专门换了一件没有补丁的中山装。他一辈子没欠过谁的钱,第一次听说自己的信用可以被”打分”,觉得像古时候皇帝派下来的科举考试,又庄严又荒唐。
“打分就打分,“他后来跟我说,“只要公平就行。”
但问题在于,这套系统从一开始就不是公平的。
信链科技派来的项目经理叫方晓,是个三十出头的女人,长着一张削尖的瓜子脸,说话语速极快,像打字机。她来槐安巷考察那天,坐着一辆黑色的大众帕萨特,车牌是省城的”浙A”开头。村委会的人敲锣打鼓地在村口迎接,方晓从车里下来,脚踩一双细高跟,鞋跟陷进泥地里,拔出来时发出”啵”的一声。
她看了看脚下的泥巴,又看了看两旁夹道欢迎的锣鼓队,眉头皱了皱,然后很快舒展开来,脸上挂上了一种职业性的微笑。
“很好,“她说,“很有乡土气息。”
后来槐安巷的人才知道,“很有乡土气息”这句话在方晓嘴里,是骂人的话。
但那是后话了。
三、周盐的归来
周盐回云台县,不是自愿的。
准确地说,他是被迫的——被算法”劝返”的。
二〇二四年十一月,他突然收到了一个来自”云台县农村信用平台”的推送通知,内容是:“您父亲的信用档案出现异常波动,请尽快处理。”
周盐的父亲周德清已经在二〇二〇年去世了。
周盐盯着那条推送看了很久,以为是诈骗信息。他点开详情,发现父亲的名字确实在系统里,信用评分是523分——比三个月前低了47分。系统标注的异常原因是”资产数据与实际不符”。
周盐打电话给云台县农村信用社,信用社的人说,系统显示周德清名下有一块两亩的水田,但实际登记只有八分。“可能录入的时候搞错了,“柜台的小姑娘说,“你得本人来一趟更正。”
“我爸已经死了。“周盐说。
电话那头沉默了几秒。“那您得拿死亡证明来一趟。”
周盐请了假,坐了三个小时高铁从省城回到云台县。他带着父亲的死亡证明、户口注销证明、墓地的土地使用证,跑了信用社、统计局、测绘局、村委会四个地方。每一个地方都告诉他,不归他们管。
“信用社说你这个归统计局管。”
“统计局说测绘的事找测绘局。”
“测绘局说变更登记要去不动产中心。”
“不动产中心说,得先让村委会出具权属证明。”
“村委会说,你得先让信用社撤销异常标记,我们才能开证明。”
周盐在那个十一月的寒风里跑了整整三天,最后在村委会副主任老吴的帮助下,才把事情办妥。老吴是周德清的老朋友,退休前是村小的语文老师,写得一手好字。周德清下葬的时候,墓碑上的字就是老吴写的。
“系统这东西,“老吴看着周盐在各种表格上签字,叹了口气,“有时候比人还不讲理。”
周盐点点头,心里却在想另一件事:父亲的数据是怎么被录入系统的?
他查了一下,发现二〇二三年云台县搞信用评分的时候,录入方式有两种:一是农户自己到村委会登记,二是网格员上门采集。周德清去世的时候户口还没注销,网格员不知道他去世的事,直接把他家的数据报了上去。
“录入的时候,我们也不知道他已经走了。“网格员是个二十出头的小姑娘,姓张,刚毕业,说话时一直在搓手,“系统又没有和公安联网……”
周盐问方晓,系统为什么不和公安联网。
方晓的回答是:“技术层面的问题。”
但周盐知道真正的原因——不是技术问题,是利益问题。公安的死亡数据涉及户籍注销,而户籍注销意味着补贴停发、耕地收回、集体资产重新分配。每一个环节都有人盯着,链条太长了,谁也不想第一个动。
从云台县回到省城之后,周盐做了一个决定。
他要用自己的方式,“修正”这套系统。
四、盐与链
周盐在省城一家中型互联网公司做后端开发,税后月薪一万三,租住在城西一个老小区的隔断房里。他没有女朋友,唯一的爱好是看科幻小说,尤其是刘慈欣的作品。他书架上摆着一套《三体》,书脊已经被翻得发白。
他知道自己想做的事有风险。
信用评分系统是政府项目,背后站着信链科技和云台县委县政府。动这个系统,就等于同时得罪政府和资本。轻则丢工作,重则——他不敢想。
但每次想起父亲那张被系统标记为”异常”的档案卡,他就觉得喉咙里堵着一块东西。
父亲一辈子老实巴交,卖豆腐供他读完大学,舍不得吃舍不得穿,攒的钱全用来给他交首付。他买第一套房子的时候,父亲从云台县坐了十二个小时的绿皮火车来省城,背了一蛇皮袋的土特产,有花生、红枣、芝麻,还有自家磨的豆腐干。蛇皮袋太重了,父亲的腰都压弯了。
周盐去车站接父亲的时候,父亲站在出站口的人群里,身形佝偻,踮着脚尖往里张望。周盐喊了一声”爸”,父亲转过头,脸上绽开了一个笑容。那个笑容,周盐一辈子都忘不了。
父亲去世的时候,周盐不在身边。他接到电话的时候正在加班写代码,赶到医院的时候,父亲已经没有意识了。医生说,是脑溢血,走得很安详。
周盐不知道什么叫”走得很安详”。他只知道,他欠父亲一顿饭。
现在,一个冷冰冰的算法把父亲标记为”异常”。他没办法接受。
他花了两个月时间研究信链科技的系统架构。
方法是注入。他们那套系统号称”去中心化”,但实际上,验证节点只有三个:信链科技的公司服务器、县政府的数据中心和村里那个挂着”农村信息化服务站”牌子的铁皮柜子。铁皮柜子里是一台工控机,由村委会的电工负责维护,电工的密码是”123456”。
周盐写了一个脚本,挂在矿机上,趁着深夜的流量低谷,悄悄接入那条链。他的目的不是破坏系统——他知道自己没有那个能力——他只是想看看,数据到底是怎么流动的。
结果,他发现了一个他早就猜到但不愿面对的事实:
数据是假的。
大部分农户的信用档案都是网格员编的。网格员为了完成任务,随意填写耕地面积、收入水平、负债情况。张大爷的儿子其实在外打工欠了二十万,但网格员给他填的负债是零;李婶的儿子其实在镇上开了一家石材厂,但网格员给他填的职业是”务农”。
假数据喂给算法,算法输出假评分。假评分驱动真贷款。贷款流向——周盐顺着资金流向上游追溯,发现有一部分钱绕了几个弯,最后进了一家叫”云台金服”的投资公司的账户。
云台金服的大股东,是县委书记的小舅子。
周盐把他发现的东西整理成了一份文档,没有发到网上,也没有举报。他知道,在中国,举报是一条走不通的路——你举报到省里,省里批转到市里,市里批转到县里,县里的人给你打电话说”正在调查”,然后就没有然后了。
他选择了另一条路。
他要把真相,告诉那些被系统伤害的人。
五、金大壮的分数
金大壮是槐安巷的传奇。
他今年四十二岁,身高一米八五,虎背熊腰,以前在县城的建筑队干活,后来攒了点钱,和朋友合伙开了一家小型食品加工厂。厂子做真空包装的卤味,专门给县里的超市和饭馆供货。生意最好的时候,他雇了八个工人,每天能卖出三百包卤牛肉。
二〇二三年信用评分系统上线的时候,金大壮的初始分是647分——在槐安巷算是中上水平。他用这个分数从信用社贷了三十万,扩大了生产规模,买了新的包装设备和冷链车。
二〇二四年六月,他的分数突然被系统下调到了512分。
原因是:系统检测到他的食品加工厂有一笔”异常资金流动”——他的一个供应商,在一次凌晨的交易中,向他的账户转了一笔钱,金额是886元,系统认为这是”洗钱行为”。
金大壮懵了。
他打电话给信用社,信用社说系统判定的,他们没有权限修改。他打电话给信链科技的客服,客服让他在线提交申诉材料。他提交了,材料显示”审核中”,然后就再也没有然后了。
分数降了,信用社的贷款额度也跟着降了。金大壮的三十万贷款还没还完,信用社就把他的账户冻结了,要求他提前还款。他拿不出钱,信用社就向法院申请了强制执行。法院的查封令下来的那天,金大壮的食品加工厂被贴上了封条。
八个工人一夜之间失业。
金大壮的老婆王芳哭了整整一夜。她骂金大壮:“你说你招惹那个破系统干什么!老老实实种地不行吗!”
金大壮不说话,只是抽烟。他抽烟很凶,一根接一根,烟灰缸很快就满了。凌晨三点,他站在院子里,看着天上的星星,突然开口:
“那个供应商,是李村的老赵。我们合作了五年。他那天转给我的886块钱,是还我的货款。他不会打字,发微信只能发语音,语音里他说’盐汽水’——就是我们老家的方言,意思是’收到了,谢谢’。”
“但系统不懂’盐汽水’。系统只知道,一个人在凌晨给另一个人转了一笔钱。它不懂人情世故,不懂方言,不懂五年合作伙伴之间的信任。”
“它只懂数字。”
王芳哭得更厉害了。
金大壮不知道的是,那个凌晨的”异常转账”,其实是系统的一次”压力测试”。信链科技为了测试风控模型的灵敏度,在后台模拟了一批”可疑交易”,金大壮和老赵的那笔货款,被随机选中成为了测试样本。
测试结束后,没有人在乎测试结果对现实生活造成了什么影响。方晓的团队只关心风控模型的准确率提升了几个百分点。
准确率提升的背后,是金大壮的工厂倒闭,是八个工人的失业,是王芳哭肿的眼睛,是槐安巷那条街上一户人家的倒塌。
而这一切,在系统的日志里,只留下一行代码:
[ALERT] Anomaly detected in transaction 2024060312XXX. Risk score updated.
金大壮后来去找过方晓。
他去了信链科技在县城的办公室——那是一间临时租用的门面房,门口挂着一块白色的牌子,上面印着公司的logo和一句标语:“让信用创造价值。”
方晓不在。前台的小姑娘说他要预约。他说他在网上预约了三次,每次都被拒绝。小姑娘说那您再约一次。金大壮说我不约了,我就在这等。
他从早上八点等到下午五点,方晓始终没有出现。
下午五点十分,办公室的灯灭了。保安从后门出来,看见金大壮还坐在门口的石墩上,吓了一跳。
“你怎么还在?”
“等方总。”
“方总走了。她从后门走的。”
金大壮站起来,拍了拍裤子上的土。他没有骂人,也没有闹。他只是点点头,转身走了。
走出十几步,他回头看了一眼那块写着”让信用创造价值”的牌子。傍晚的阳光斜斜地照在上面,“信用”两个字被照得发亮。
他突然想起了小时候,爷爷给他讲的故事。说是有一种妖怪,专门吃人的影子。被吃了影子的人,就会变成行尸走肉,每天活着,但没有灵魂。
他不知道信用评分系统会不会吃人的影子。但他知道,有什么东西,正在被一点一点地吃掉。
六、吴老师的手
老吴全名吴清源,今年六十八岁,退休前是槐安小学的语文老师。他写得一手好字,每年春节前,槐安巷的人都会拿着红纸来他家请他写春联。他从不收钱,但来的人都会带点东西——一袋花生、一盒点心、或者一瓶县城酒厂出的高粱酒。
他有一个儿子,叫吴明,在省城做律师,娶了一个城里的姑娘,生了一个女儿。吴明每年春节回来一次,待两天就走,待久了媳妇不高兴。吴明媳妇是省城本地人,嫌弃农村的条件,每次回来都住县城的酒店,吃在县城最好的饭馆。
吴清源和老伴住在槐安巷的老宅里,两层的小楼,门前有一个小院子,种着月季和石榴。老伴三年前查出了糖尿病,每天要打胰岛素,费用不低。吴清源的退休金每个月三千二,刚好够老伴的药费和两个人的生活费,存不下什么钱。
二〇二四年,信用评分系统给吴清源打出的分数是571分。
按理说,一个退休教师,有房产,有退休金,没有负债,邻里关系和睦,分数不应该这么低。问题出在哪里呢?
问题出在他儿子吴明身上。
吴明在省城买房子的时候,用了商业贷款,每个月还一万二。银行在审批贷款的时候,查了吴明的信用记录——这是标准流程。但银行的系统不仅查了吴明的信用,还自动关联了他父母的档案,因为”存在直系亲属关联风险”。
吴清源就这样被关联上了。他的信用档案里多了一栏:“关联人员负债情况——吴明,商业贷款本金剩余约180万元”。
系统认为,一个六十八岁的退休教师,有义务为儿子的巨额贷款”承担连带责任”。虽然法律上他没有这个义务,但算法不在乎法律。
571分意味着什么?意味着吴清源去信用社咨询”有没有针对老年人的存款产品”时,柜台的小伙子会用一种奇怪的眼神看他;意味着他去县医院开药时,被系统标记为”高风险用户”,需要多做一个”财务能力评估”;意味着他走在街上,手机会突然收到一条推送:“您已被云台县纳入’重点关注老年群体’名单。”
吴清源不知道”重点关注老年群体”是什么意思。他只是觉得,自己一辈子清清白白,老了老了,突然变成了一个”有问题的人”。
他去找村委会,想问问能不能把自己的档案和儿子分开。村委会的人说,分不了,系统就是这么设计的。他又去找信用社,信用社的人说,系统显示您儿子负债太高,我们也是按规则办事。
“什么规则?“吴清源问。
“就是规则啊,“信用社的小伙子说,“系统定的规则。”
吴清源想不明白,一个人辛辛苦苦工作一辈子,老了老了,怎么就被一台机器定了性?
他想给儿子打电话,但又不知道该说什么。说”儿子,你的贷款影响我的信用分了”?这话听起来像是在要钱,他说不出口。
最后,他选择了一个最原始的办法。
他用手写了一封信,十六页纸,写了三天,用的是他退休前备课用的那种方格纸。他把信寄到了省里的信访局。信的内容很长,讲了他的情况,讲了他对信用评分系统的困惑,讲了他想问的一个问题:
“我想知道,一个人的信用,到底是应该由他做过的事来决定,还是应该由他儿子做过的事来决定?”
信寄出去之后,石沉大海。
省信访局的自动回复说:“您的信访件已收悉,我们将在十五个工作日内予以回复。”
十五个工作日后,吴清源收到了一条短信:“您好,您的信访件已被转交至云台县信访局处理,请等待进一步通知。”
然后就再也没有然后了。
但他不知道的是,那封信其实被一个省里的记者看到了——记者是他的学生,教过的,姓林,后来去了省报当记者。林记者看完信,给吴清源打了一个电话,说”吴老师,我要把这件事写出来”。
吴清源说”别写,会给你惹麻烦”。
林记者说”吴老师,我学的就是您教的——人活着,要有脊梁骨”。
然后,这篇稿子就被毙了。
总编辑的原话是:“这个稿子涉及地方政府和科技企业,背景太复杂,不宜报道。”
林记者在电话里沉默了很久,最后说:“吴老师,对不起。”
吴清源说:“没关系。我早就知道会是这个结果。”
那天晚上,他坐在院子里看月亮,月亮被一层薄云遮住了,模模糊糊的,像一个看不清的脸。
他想,人这一辈子,到底在追求什么呢?年轻的时候,他追求公平——当老师的,公平对待每一个学生;当父亲的,公平对待自己的骨肉;当公民的,公平对待这个社会。
可是,公平是什么呢?
公平是一台机器上的一个参数吗?是一串区块链上的一个哈希值吗?是0到1000之间的一个数字吗?
他想不明白。
他拿起毛笔,写了一幅字。是苏轼的《定风波》:
“莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。”
写完之后,他把字挂在墙上,看了很久。
然后,他把字取下来,叠好,放进了抽屉里。
他想,这幅字,不该挂在这里。这幅字应该挂在那些制定规则的人——那些坐在空调房里设计算法参数的人——的办公室里。
让他们好好看看。
什么叫”一蓑烟雨任平生”。
七、算法与盐
二〇二五年三月,云台县发生了一件小事。
准确地说,是一件说大不大、说小不小的事。槐安巷的周盐,在他父亲的老宅里,运行了一台”矿机”。这台矿机不挖比特币,也不挖以太坊——它挖的是”真相”。
周盐做的事,用技术术语说,叫”数据镜像”。他在那条链上部署了一个观察节点,把所有链上的数据都同步复制了一份。他没有篡改任何数据,也没有发起任何交易,他只是——看着。
看着数据是怎么流动的,看着分数是怎么计算的,看着那些真实的、虚假的、半真半假的数据,是如何被喂进那台叫”算法”的黑箱子里,然后吐出一个个决定人们命运的分数。
他把这些数据整理成一个数据库,放进了那台矿机里。矿机运行的时候,会发出一种低沉的嗡嗡声,像一只蜂箱。住在隔壁的李婶说,她半夜听见那声音,总觉得像是有成千上万只蜜蜂在老宅里飞。
“你养蜜蜂了?“她问周盐。
“算是吧。“周盐说。
他养的当然不是蜜蜂。他养的是一条链上的数据,是整个云台县的信用生态,是一台正在缓慢运转的、记录真相的机器。
他等着有人来问他,等着有人来敲门,等着有人对他说”周盐,我知道你在做什么,我来帮你”。
没有人来。
槐安巷的人不知道他在做什么。他们只知道他回来了,带着一台奇怪的机器,夜里也不睡觉,盯着电脑屏幕看。他们以为他是在”做电商”或者”搞直播”,这个年代,年轻人做什么的都有,不稀奇。
周盐也不着急。他知道,真相需要时间发酵。
他开始写日记。不是给自己看的——是给未来的人看的。他假设,总有一天,会有人来读这些文字,会有人想知道,云台县到底发生了什么,那些被信用评分系统伤害的人,到底经历了什么。
他在日记里记录了金大壮的工厂倒闭事件。
他记录了吴清源的信被转来转去、最终石沉大海的故事。
他记录了网格员小张——那个录入数据的姑娘——有次喝醉了哭着给他打电话,说她其实知道自己录入的数据是假的,但网格员就她一个人,每家每户都要录入,她不造假,根本完不成任务。
“系统说数据质量要达到95%以上,“小张在电话里哭,“我要是都填真的,合格率连60%都不到。我没办法……”
周盐问:“那你填假数据的时候,心里不愧疚吗?”
小张沉默了很久,说:“习惯了。”
这三个字让周盐心里发寒。一个刚毕业的二十二岁的姑娘,说”习惯了”。习惯造假,习惯填假数据,习惯用谎言去喂饱一台机器,然后看着机器用谎言去决定别人的命运。
这不是小张的问题。这是整个系统的问题。
二〇二五年六月,周盐做了一个决定。
他要把矿机里的数据公开。
不是全部公开——那样会被删帖,会被封号,会被请去喝茶。他选择了一种更隐蔽的方式:他把数据做成了一个去中心化的文档,任何人都可以下载,但没有人可以删除。他把文档的访问密钥拆成了三份,分别藏在三个地方:槐安巷的老槐树下、云台县汽车站候车厅的第三排座椅底下、以及省城那家公司附近的24小时便利店门口的擦鞋机里。
谁想看真相,就去这三个地方找密钥。
这是他在刘慈欣的《三体》里学到的方法——黑暗森林法则。你不知道谁是朋友谁是敌人,所以你只能把信息藏在黑暗里,等待那个有缘人来发现。
然后,他做了一件更疯狂的事。
他用那台矿机,给云台县每一个信用评分低于500分的人,发了一条匿名短信。
短信的内容是:
“您的信用档案可能存在错误。如需核实,请前往槐安巷17号了解详情。——一个关心你的人。”
短信发出去的那天晚上,周盐坐在老宅的门槛上,看着天上的星星。
他没有开灯。蓝色的光从矿机的缝隙里透出来,照在他脸上,像一层薄薄的鬼火。
他不知道接下来会发生什么。他只是觉得,做了这么久,总该有个了结了。
八、七个人
短信发出去后的第三天,第一批人来了。
第一个来的是金大壮。
他站在槐安巷17号的门口,盯着那扇斑驳的木门看了很久。他不知道该敲门还是该喊一声。他四十二岁了,见过世面,但从来没有经历过这种事——被一条匿名短信指引到一个陌生的地方,去寻找一个叫”真相”的东西。
最后,是周盐开的门。
周盐认出了他。周盐的数据库里有他的档案——金大壮,槐安巷47号,食品加工厂法人,信用评分512分(三个月前还是647分)。档案里有一行备注:“异常交易标记——已冻结账户。”
“你是金大壮?“周盐问。
金大壮愣了一下。“你怎么知道我的名字?”
“我查过你的档案。”
“你怎么能查我的档案?”
周盐没有回答。他侧身让开,说:“进来吧。有些事,我想让你知道。”
金大壮走进老宅,看见了那台嗡嗡作响的矿机。蓝色的光充满了整个房间,机器的风扇在高速转动,发出一种持续的、像呼吸一样的声音。
“这是什么?“金大壮问。
“这是真相。“周盐说。
他打开电脑,调出了一份文件。文件上写着金大壮的名字,底下是一长串的交易记录。最后几条记录被标成了红色。
“你看这里,“周盐指着那条凌晨的交易记录,“这是你和老赵的那笔货款,886元。系统标记为’可疑交易’,原因是’金额异常’和’交易时间异常’。”
“这不是异常。这是货款。我们合作了五年,这是第五年里的第三十七笔交易。”
“我知道。“周盐说,“但系统不知道。”
他调出了另一份文件——那是一份信链科技内部的测试日志。
“这是那天晚上的后台记录。系统在进行一次风控压力测试,随机抽取了一批交易标记为’可疑’,用于测试模型的响应速度。你和老赵的交易,被随机选中了。”
“选中?”
“对。随机选中。就像摇号一样。你被摇中了。”
金大壮愣住了。
他想起那天晚上,老赵给他打电话,说”盐汽水”。他当时还笑了一下,心想老赵这个老家伙,连个微信都不会发,非要打电话。结果第二天,他的分数就降了,工厂就被封了,工人们就失业了。
原来这一切,都只是因为一个”随机选中”。
“你们……你们怎么能这样?“金大壮的声音开始发抖。
“不是我,“周盐说,“我没有这个权限。我只是……看到了一些东西。我想让你知道。”
金大壮低下头,不说话了。他的双手紧紧攥着,指节发白。
第二个来的是吴清源。
吴老师是走着来的。他从槐安巷的另一头走过来,穿着一件洗得发白的蓝布褂子,脚下是一双解放鞋。他六十八岁了,背已经有些驼了,但步伐依然稳健。
他进门的时候,周盐愣了一下。
他认识吴老师。周盐小学的时候在槐安小学读过两年书,语文老师就是吴清源。吴老师教过他写作文,教过他”做人要有骨气”。他记得吴老师的声音,记得他念课文时那种抑扬顿挫的语调。
“吴老师。“周盐站起来。
吴清源看了看周盐,又看了看那台矿机,然后在一把旧藤椅上坐下来。
“周盐,“他说,“我收到了一条短信。”
“是我发的。”
“我知道。“吴清源说,“你的文笔不行。‘一个关心你的人’——太假了,一看就是年轻人写的。”
周盐不好意思地笑了一下。“吴老师见笑了。”
吴清源没有笑。他从口袋里掏出一张纸,递给周盐。那是他那封被转来转去的信访信的复印件。
“我今天来,不是来看你的机器的,“吴清源说,“我是来问你一件事。”
“什么事?”
“这个系统,到底能不能被改变?”
周盐沉默了一会儿。
“我不知道。“他说,“我在试着做一些事,但我不确定能不能成功。”
“那为什么要做?”
“因为……”周盐想了想,“因为我不想让我爸的名字,一直挂在那个’异常’的标签下面。”
吴清源看着他,目光变得柔和了一些。
“你爸是个好父亲。“他说。
“我知道。”
“你爸以前卖豆腐,每天早上三点起床磨豆子,五点出门摆摊。冬天的时候,豆腐刚出锅是热的,放一会儿就凉了。他就把豆腐揣在怀里,用体温捂着,怕凉了卖不出去。”
周盐的眼眶突然有点红。
“你爸卖豆腐的时候,我在学校门口摆过书摊,“吴清源说,“他有时候来买我的参考书,说买给他儿子。他说你喜欢看书,学习好,将来要考大学。他说话的时候,眼睛里有光。”
“后来呢?“周盐问,虽然他已经知道答案。
“后来你真的考上了大学。他来我那儿买书的时候,特意多买了两本,说要寄给你。他在省城,你在读书,没时间回来。他想你。”
周盐的眼泪掉下来了。
他不知道该说什么。他以为父亲只是一个普通的卖豆腐的人,原来父亲也会在别人面前提起他,原来父亲也会骄傲地说”我儿子在省城读书”。
他从来没有听父亲当面说过这些话。父亲不是一个善于表达的人。在他的记忆里,父亲总是在忙——忙磨豆子,忙摆摊,忙给他攒学费,忙到没有时间说话。
他以为父亲不爱他。现在他知道了,父亲的爱,只是藏在了那些他看不见的地方。
就像一条链。
数据都在那里,只是没有人在乎。
第三个来的是网格员小张。
她来的时候是晚上,穿着一件黑色的羽绒服,戴着口罩,像是怕被人认出来。她在门口犹豫了很久,最后还是敲了门。
“你是周盐?“她问。
“是。”
“我收到短信了。”
“你是小张?”
小张点点头。然后她走进屋子,在矿机旁边坐下来,开始哭。
她哭了很久。周盐没有催她。他给她倒了一杯水,放在旁边,然后转过身继续敲键盘。
等小张哭完了,她开始说话。
“我受不了了,“她说,“我每天都在填假数据,我填完之后,晚上睡不着觉。我总觉得有人在骂我,在背后戳我的脊梁骨。但我不填假数据,我完不成任务。完不成任务,网格员的绩效就没有了。没有绩效,我一个月就拿两千块钱,两千块钱我连房租都交不起。”
“我知道那些数据是假的,“她说,“但我填的时候,系统不会告诉我’这是假的’。系统只会说’数据已录入,感谢您的配合’。我就像一个流水线上的工人,不停地往机器里喂东西,机器说’好,很好,继续’,我就继续。我不知道我喂进去的东西,会变成什么。”
“有一天我填了一户人家的情况。那户人家其实很穷,儿子欠了赌债跑了,老两口带着孙子过。但我在’负债情况’那一栏填的是’无负债’。因为我不知道他们欠了债——他们没告诉我。系统给我提供了一个默认选项,我就选了。我以为我在做好事,让他们的分数高一点,让他们能贷到款。”
“结果呢?“周盐问。
“结果他们贷到了款。贷了五万。然后呢?然后他们还不起。还不起了,系统就把他们的房子抵押了。现在老两口和孙子住在车库里,冬天冷得要死。”
小张又开始哭。
“我不知道这是谁的错。是我填错了数据吗?是系统接受了我的数据吗?是贷款的人自己不量力而行吗?还是那个设计了默认选项的程序员?他设置了’无负债’作为默认选项,他是不是也有错?”
“我不知道。我什么都不知道。我只知道,我每天做的事情,好像在建一座房子,但这座房子建好之后,不知道会塌在谁的头上。”
周盐不知道该说什么。
他以前以为,系统的问题出在算法上——只要改进算法,只要用更好的模型,系统就会变得公平。但现在他明白了,问题的根源不在算法上。问题的根源在数据上,在那些被填进系统里的数据——而那些数据,都是像小张这样的人一笔一笔填进去的。他们不是坏人,他们只是普通人。普通人做普通的事,就会产生普通的后果。但当普通的后果被放大一千倍、一万倍,被喂进一台巨大的机器里,机器吐出的东西,就不再普通了。
第四个来的是王芳,金大壮的老婆。
第五个来的是李婶,槐安巷的老住户。
第六个来的是林记者——那个写了稿子又被毙掉的林记者。
第七个来的人,让周盐吃了一惊。
是方晓。
九、方晓的选择
方晓来的时候是凌晨两点。她开着一辆白色的特斯拉,停在槐安巷口,然后自己走进来。她穿着一件灰色的羊绒大衣,踩着一双平底运动鞋,在月光下看起来不像一个项目经理,更像一个来散步的普通人。
她敲开了周盐的门。
“我知道是你发的短信,“她说,“我也知道你的矿机在做什么。”
周盐警惕地看着她。“你想干什么?”
“我什么都不干,“方晓说,“我只是来告诉你一些事。”
她走进老宅,看了看那台矿机。蓝色的光照在她脸上,把她的轮廓照得有些失真。
“你知道吗,“她说,“我做这个项目三年了。我知道数据是假的。我知道评分是有问题的。我知道我们系统在伤害人。但我不知道该怎么办。”
“你不知道?“周盐的语气有些尖锐,“你是项目经理,你难道不能改变什么吗?”
方晓苦笑了一下。
“你以为项目经理是什么?“她说,“项目经理就是那个夹在甲方和开发团队之间的人。甲方说,我要一个准确率95%以上的风控模型。开发团队说,要准确率95%,就得用实时的数据清洗和交叉验证,响应速度会变慢。方晓你去跟甲方谈。方晓你去跟开发团队谈。方晓你去搞定那个该死的deadline。”
“我每天的工作就是开会、写PPT、打电话、被骂、然后再开会、再写PPT、再打电话。我在云台县待了两年半,我认识的人不超过二十个,全是政府的人和我的下属。我从来没有去过槐安巷的集市,从来没有吃过槐安巷的豆腐,从来没有在槐安巷的槐树下坐过。”
“你知道我们系统上线那天是什么日子吗?是我女儿的生日。我女儿五岁了,她想要一个冰雪奇缘的蛋糕,我答应给她买。但那天系统要上线,我要留在县里盯着,我老婆自己带着女儿去买了蛋糕。我女儿等了我一晚上,我回去的时候她已经睡着了。”
方晓的声音开始有些哽咽,但她很快控制住了自己。
“我不是来诉苦的,“她说,“我是来告诉你一件事。”
“什么事?”
“系统要升级了。”
周盐的心一沉。“升级?”
“是的。下个月初,信链科技会上线新版本的风控模型。新模型会接入更多的数据源——不只是金融数据,还有社交数据、消费数据、位置数据。换句话说,你在哪里买了什么东西,你和谁聊天,你几点睡觉,你走了多少步,都会被系统记录下来,变成你信用评分的一部分。”
“这……”
“这还不是最可怕的,“方晓说,“最可怕的是,新模型会引入’动态评分’机制。以前的评分是静态的,一个月更新一次。新模型是实时的,每小时更新一次。你今天下午买了一个贵一点的包,你的分数可能就会下降两个点。你今天晚上在外面吃饭到十点才回家,你的分数可能又会下降三个点。系统会认为,你是一个’不稳定’的人,一个’财务行为异常’的人。”
“你们疯了吗?“周盐说。
“是的,“方晓说,“我们疯了。整个行业都疯了。但没有人敢停下来。因为谁先停下来,谁就会被淘汰。”
“我来告诉你这些,是因为我觉得……”方晓犹豫了一下,“是因为我觉得,我欠这个地方的。”
“我在这里待了两年半,我看着槐安巷的人一个个被系统标记,被降分,被冻结账户。我看着金大壮的工厂倒闭,看着吴老师的分数被关联下调,看着那些普通人莫名其妙地变成了’高风险用户’。我知道这些事,我知道是我参与建造的系统造成的,但我什么都没做。”
“我不是不想做,“她说,“我是不知道该怎么做。我一个人,改变不了什么。我举报,会被公司开除。我曝光,会被行业封杀。我写代码修复漏洞,会被产品经理催着上线别的功能。我就像一个站在流水线上的工人,拧着属于自己的那颗螺丝,拧完之后,流水线把产品送到下一个工位,下一个工人再拧下一颗螺丝。我不知道产品在做什么,我只知道,我必须拧完我那颗。”
“但现在我不想拧了。”
方晓从口袋里掏出一个U盘,放在桌上。
“这里面是新版本的技术文档,“她说,“还有一份内部会议的纪要。纪要里提到了二〇二四年那次风控测试的决策过程——就是你发现的那次导致金大壮工厂倒闭的测试。”
“测试不是我设计的,但测试是我签字上线的。我在签字之前,不知道测试会造成什么影响。或者说,我知道可能有影响,但我以为影响不会那么大。我以为系统都是精密的、理性的、不会犯低级错误的。但我错了。”
“系统会犯错。而且系统犯的错,比人犯的错更可怕,因为系统犯的错不会被追究。系统没有良心,没有道德,没有愧疚。系统只会输出一个结果,然后说:‘这是算法算出来的,算法没有错。’”
方晓站起来,往门口走。
“我把东西给你了,“她说,“你用它做什么,我不问。但有一件事,我请你记住。”
“什么事?”
“金大壮的 工厂倒闭,不是因为他的分数低。是因为那天晚上,系统的随机数生成器里,有一个bug。那个bug让某些不该被标记的交易,被标记了。金大壮只是那个bug的受害者。bug后来被修复了,但金大壮的工厂没有复活。”
方晓说完,推开门,走进夜色里。
周盐愣在原地,看着她的背影消失在巷子深处。
他低头看了看桌上的U盘。U盘很普通,银色的外壳,没有任何标记。但周盐知道,这个U盘里装的东西,可能是整个云台县信用评分系统三年以来最危险的秘密。
他等了三年,等一个能让他撬动这个系统的人。现在,这个人把钥匙放在了他面前。
但问题是,拿到钥匙之后,他该怎么办?
十、最后一班地铁
二〇二五年九月,云台县发生了一件大事。
省纪委突然派人下来,带走了县委书记。传言说,事情的起因是一笔巨额资金——有人在县里的一个乡村振兴项目里发现了账目问题,钱绕了几个弯,最后流向了一个叫”云台金服”的投资公司,而云台金服的大股东,正是县委书记的小舅子。
消息传开的那天,整个县城都沸腾了。
槐安巷的人站在老槐树下议论纷纷。李婶说:“我就说嘛,那个项目不对劲,哪有那么多钱给农民贷款,原来是进了私人腰包。“王大爷说:“你们知道什么,这叫官商勾结,自古就有,不是新鲜事。”
只有少数几个人知道,这件事的导火索,是一条去中心化的文档。
那条文档在一个月前被人匿名发布到了网上,内容是云台县信用评分系统的完整审计日志——包括那些假数据、那些被随意更改的分数、那些内部会议的纪要,以及那次导致金大壮工厂倒闭的风控测试的决策链。
文档发布的时候,周盐正坐在槐安巷老宅的门槛上,看着手机屏幕上的阅读量数字飞速跳动。
阅读量从零开始,一百,一千,一万,十万,一百万。
评论区里,有人骂”黑心系统”,有人骂”官商勾结”,有人问”我家的分数被错判了怎么办”,有人说”希望有关部门能彻查此事”。
周盐看着这些评论,不知道该笑还是该哭。
他花了三年时间做这件事。他以为自己会觉得很爽,会觉得大仇得报,会觉得父亲的在天之灵终于可以安息。
但他只觉得空落落的。
他想,金大壮的工厂已经倒闭两年了,就算真相大白,工厂也回不来了。吴老师的分数就算被修正,他的信用档案上那些”关联负债”的标签也不会消失。小张已经被辞退回了老家,她以后还会不会继续填假数据,没有人知道。
真相能改变的东西,其实很有限。
那天晚上,周盐做了一个梦。
他梦见父亲坐在老宅的豆腐房里,推着一盘石磨。石磨很沉,父亲的手上青筋暴起。豆浆从石磨的缝隙里流出来,洁白如雪。
“爸,我帮你。“他说。
“不用,“父亲说,“你做你的事。”
“我做的事,有用吗?”
父亲停下手,看着他。父亲的眼睛里有一种说不清的神情,像是欣慰,又像是悲悯。
“有没有用,不是你说了算的。“父亲说,“你只管做。做完了,就放下。”
周盐想再问什么,但父亲已经转过身去,继续推他的石磨。豆浆越流越多,漫过了他的脚背,漫过了门槛,漫到了院子里,漫到了巷子里,最后漫到了整个县城。
周盐从梦里醒来,发现自己还坐在门槛上,天已经蒙蒙亮了。
他站起来,腿有点麻。他走进豆腐房——那是他父亲以前磨豆腐的地方,现在堆满了杂物和矿机的零件。他从杂物堆里翻出一块旧木板,是父亲以前用来压豆腐的。
他把木板洗干净,放在阳光下晒。
然后他出门,去找金大壮。
十一、豆腐与代码
金大壮现在在县城的一个工地上干活,搬砖和水泥。
他的食品加工厂被封之后,他把设备全卖了,只留下了一辆冷链车。他用冷链车跑运输,从县城往各个乡镇送货,勉强能维持一家人的生计。
周盐找到他的时候,他正在工地上吃午饭。午饭是两个馒头加一包榨菜,他就着矿泉水往下咽,噎得直翻白眼。
“金哥,“周盐说,“我想和你商量一件事。”
“什么事?”
“我想……开一家豆腐厂。”
金大壮差点被馒头噎死。
“你?“他上下打量着周盐,“你会做豆腐?”
“不会。但你会。”
金大壮沉默了一会儿。
“我的豆腐手艺,是我爹传给我的,“他说,“我爹以前是县食品厂的退休老师傅,专门做卤味和豆制品。我开食品厂的时候,最早就是从豆腐干做起的。后来厂子做大了,我才转行做了卤味。”
“你会做豆腐干?”
“会。我闭着眼睛都能做。”
“那太好了。“周盐说,“我出技术,你出手艺。我们合伙。”
“你出什么技术?”
“我会写代码。我可以做一套系统,用区块链记录每一批豆腐的来源——黄豆是哪里买的,水是哪里取的,车间是什么时候打扫的,每一步都有记录,全部上链,不可篡改。”
“然后呢?”
“然后我们可以申请’绿色食品认证’。有了认证,豆腐就能进超市,进电商平台,卖更高的价格。”
“你说的这个……”金大壮挠挠头,“怎么听着像是那个什么信用评分系统?”
“不一样。“周盐说,“信用评分系统是别人给你打分,你没有话语权。我们这个不一样——这是我们自己的链,我们自己记录,我们自己拥有数据。别人可以查,但别人改不了。”
金大壮想了很久。
“有风险吗?“他问。
“有。”
“会亏钱吗?”
“可能。”
“你图什么?”
周盐没有立刻回答。他想起了父亲,想起了那盘石磨,想起了父亲说的那句话:做完了,就放下。
“我不图什么,“他说,“我只是觉得……我父亲以前卖豆腐,他一辈子做的是实实在在的东西。我现在做的,也应该是一件实实在在的事。不是去建一个系统给别人打分,是做一个东西,让自己心里踏实。”
金大壮看着他,突然笑了。
“你小子,“他说,“说话像我爹。”
他站起来,拍拍身上的灰。
“行,我干。“
十二、最后一班地铁(续)
豆腐厂是三个月后开的业。
厂子不大,就在槐安巷尽头的一块空地上,原来是村里的废弃仓库。金大壮带着周盐花了两个月时间翻新,买了新的磨浆机、煮浆缸、压榨模具,又从邻省的一个村子请来了一位做豆腐的老把式当顾问。
开业那天,来了很多人。
吴清源来了。他穿着一件新做的蓝布褂子,戴着一顶毡帽,站在人群里,脸上的皱纹都舒展开了。他说:“我年轻的时候,最爱吃豆腐。一块豆腐,配一碗米饭,就是人间美味。现在你们开了豆腐厂,我以后有口福了。”
林记者来了。她已经不是记者了——那篇被毙掉的稿子之后不久,她就被调离了岗位,后来辞职去了北京,在一个播客平台上做内容。她说:“吴老师,我虽然不是记者了,但这件事我还是要记下来。不是为了报道,是为了记住。”
网格员小张也来了。她已经不在村里当网格员了,去了一家电商公司做客服。她来的那天,穿着一件红色的羽绒服,和两年前那个在电话里哭着说”习惯了”的小姑娘判若两人。她说:“我想来看看,看看我以前填的那些假数据,最后能变成什么。”
王芳来了——金大壮的老婆。她站在厂门口,看着那块崭新的招牌,上面写着四个烫金大字:“槐安豆腐”。
“名字谁起的?“她问。
“我儿子起的。“金大壮说,“他说,槐安的豆腐,就该叫槐安豆腐。”
王芳的眼眶有点红。她想起了两年前,那个工厂倒闭的夜晚,她骂了金大壮整整一夜,骂他不争气,骂他招惹那个破系统。现在她站在这里,看着自己的男人站在热气腾腾的豆腐坊里,脸上沾着白色的豆浆,笑得像个孩子。
她想,人这一辈子,总得有个盼头。有盼头了,什么都能熬过去。
金大壮的儿子今年十二岁,在县城读小学。他放了学就会跑来豆腐厂,看父亲做豆腐。他最喜欢看的是压榨环节——金大壮把豆腐脑倒进一个木框里,盖上木板,然后站到木板上,用全身的重量往下压。豆浆从布缝里渗出来,滴滴答答地流进下面的缸里,像一场小雨。
“爸,“儿子问,“为什么要压?”
“不压不成形,“金大壮说,“豆腐是这样,人也是这样。不经一番寒彻骨,哪来豆腐扑鼻香。”
儿子听不懂,但他记住了。
周盐坐在豆腐厂的角落里,看着这一切。
他的矿机还在老宅里运行着,但已经不再挖”真相”了——他把那些数据打包加密,存进了一个去中心化的存储网络里,然后关闭了观察节点。他做完了他能做的事,现在他想把剩下的时间,用来做好一块豆腐。
他想,这大概就是父亲说的”实实在在的东西”吧。
豆腐厂开业三个月后,接到了一笔订单——省城的一家连锁超市,想和他们签一年的供货合同。采购经理来考察的时候,周盐给他演示了那套区块链追溯系统。采购经理看了半天,说:“有意思。你们这套系统,和那个信用评分系统,用的是同一套技术吧?”
“是的,“周盐说,“但我们用它来做不一样的事。”
“做什么?”
“记录好的东西,“周盐说,“让好的东西被看见。”
采购经理笑了笑,说:“你们这个噱头,可以。”
合同签了。槐安豆腐正式进入了省城的超市。
那天晚上,周盐请大家吃饭。地点就在豆腐厂旁边的一块空地上,搭了一个简易的棚子,摆了五桌菜。菜不多,但每一样都是金大壮亲手做的——豆腐干、豆腐皮、豆腐脑、炸豆腐、豆腐丸子,还有一大锅热腾腾的豆腐鱼汤。
大家围坐在一起,吃着豆腐,聊着天。
李婶说:“这豆腐好,有豆味儿,不像超市里卖的那些,吃起来跟嚼橡皮似的。”
王大爷说:“这豆腐干也好,咸淡适中,有嚼劲,配粥绝了。”
吴清源说:“这豆腐脑更好,嫩得像婴儿的皮肤,我三十年没吃过这么好的豆腐脑了。”
金大壮听着这些夸奖,嘿嘿地笑,像个得到糖果的孩子。
周盐没有说话。他端着一碗豆腐脑,坐在角落里,慢慢地吃。
豆腐脑很烫,他用勺子舀起来,吹了吹,然后送进嘴里。豆子的香气在舌尖上散开,温暖而绵长。
他想起了父亲。父亲做豆腐的时候,也会做豆腐脑。父亲做的豆腐脑,是他这辈子吃过最好的东西。
父亲走了五年了。他现在才明白,父亲留给他的,不只是做豆腐的手艺,还有一句话——
“人活着,总得做点实实在在的事。”
那天晚上,周盐做了一个梦。
他梦见自己坐上了一班地铁。地铁在一条看不见尽头的隧道里行驶,窗外是黑暗,只有偶尔闪过的灯光,像一串串飞速后退的星星。
他不知道这班地铁开往哪里。但他知道,他在车上。
地铁上有很多和他一样的人——有金大壮,有吴老师,有小张,有林记者,有方晓,有王芳,有李婶,有王大爷。大家都坐在自己的位置上,有的在睡觉,有的在看手机,有的在发呆。
没有人知道下一站在哪里。但大家都在车上。
地铁继续往前开。隧道很长,灯光很暗,但周盐不觉得害怕。
因为他知道,这条隧道的尽头,一定有一束光。
那束光,可能是一块豆腐,可能是一封信,可能是一个分数,可能是一个真相。
也可能,只是第二天早上的太阳。
但不管是什么,他都会去迎接它。
地铁到站的时候,周盐醒了。
窗外,天已经亮了。阳光从窗帘的缝隙里照进来,照在他脸上,暖暖的,像一只手,轻轻地拍了拍他的肩膀。
他坐起来,穿上衣服,走出房门。
院子里,金大壮已经开始磨豆子了。石磨在转动,豆浆在流淌,空气里弥漫着豆子的香气。
“早啊,“金大壮说,“今天做豆腐脑,你来帮我打下手。”
“好。“周盐说。
他挽起袖子,走进了豆腐坊。
石磨继续转动。豆浆继续流淌。新的一天开始了。
槐安巷的老槐树在晨风里沙沙作响,像是在唱一首很老很老的歌谣。那首歌谣没有歌词,只有旋律,旋律里有三百年的风雨,有三百年的故事,也有三百年后,一个小小的豆腐坊,和几个普通人的后半生。
他们不是英雄,不是勇士,不是改变世界的人。
他们只是一些,在地铁上坐着的人。
但地铁会到站。到站的时候,他们会下车,会走进阳光里,会做他们该做的事。
这就够了。
——全文完——