清晨的阳光刚爬上行政楼三楼的窗沿,会议室里的人陆续起身离场。校方代表低头翻着材料,临走前看了沈墨渊一眼,没说话,只是点了点头。
techNova的技术主管被两名公司同事匆匆带走,脸色铁青。姜悦兮站在原地,看着那群人背影消失在走廊尽头,忽然觉得有点不真实。
林悦一屁股坐在会议桌上,腿晃着:“我到现在还有点懵,咱们就这么赢了?”
“不算赢。”沈墨渊合上电脑,拉好背包拉链,“只是没输。”
“哎,话不能这么说。”林悦戳他肩膀,“你那一套连环问直接把对方干哑火了,最后那句‘请贵公司启动内部调查’,我都想给你鼓掌。那主管脸都绿了。”
姜悦兮也走过来,顺手拿起自己的水杯——杯壁已经凉透,她盯着看了一会儿,又轻轻放回去。
“接下来呢?”她问。
沈墨渊抬头看她:“什么接下来?”
“听证会过了,冠军保住了,可事情真完了吗?”她声音不高,但每个字都清晰,“他们敢这么明目张胆地栽赃,背后肯定有人撑腰。现在吃个暗亏退了,回头换个方式再压上来,也不是不可能。”
林悦收起嬉笑,点头:“对啊,防得住一次,难保下次不被阴。”
沈墨渊没立刻回答,而是拉开椅子坐下,重新打开笔记本。屏幕亮起,是他昨晚整理的证据时间线,密密麻麻的标签还留在页面右侧。
“你们有没有注意到一件事?”他说,“那个私信账号虽然用了员工邮箱注册,但Ip地址是从校外跳转过的。说明他们知道会被追查,做了伪装。”
“所以呢?”姜悦兮靠在桌边。
“所以这不是临时起意,是演练过流程的。”他敲了两下触控板,“从举报到舆论铺垫,再到听证施压,整套动作很熟。就像……早就排练过一样。”
林悦皱眉:“你是说,这比赛,本来就有剧本?”
“不一定整个比赛。”沈墨渊目光沉了些,“但某些环节,比如评分、提交、申诉机制,肯定被设计过有利于特定队伍的结果。”
空气安静了一瞬。
“操。”林悦低声骂了一句,“所以咱们拿冠军,反而是打乱了谁的计划?”
“有可能。”沈墨渊关掉电脑,“但现在说这些没用。他们退一步,我们也得往前走一步。否则下次,可能就不是改代码这么简单了。”
姜悦兮挑眉:“你想做什么?”
“做个东西。”他站起身,语气平静,“一个能公开记录所有赛事关键节点的平台。提交时间、编译日志、测试数据、评审打分,全部上链存证,谁都不能改。”
林悦瞪眼:“你是想搞个‘透明赛场’?”
“差不多。”他点头,“以后任何比赛,只要有争议,所有人随时可以调取原始记录。不用等听证,不用拼嘴皮子,数据自己会说话。”
姜悦兮笑了下:“听起来像是要当‘赛风监督员’。”
“我不当。”沈墨渊看着她,“我想让每个参赛的学生都能当。”
三人沉默了几秒。
林悦忽然咧嘴:“你这哪是赛后总结,你这是准备掀桌子重来一套规则啊。”
“规则如果总是被人操纵。”沈墨渊背上包,“那就得让人人都能看到规则是怎么被执行的。”
走出行政楼时,晨雾散得差不多了。校园广播正播放早间新闻,远处操场传来跑步声和笑声。
林悦伸了个懒腰:“行吧,反正我现在也是‘有身份的人’了,校报头版都登我照片了,叫我去学生会当顾问,啧啧,人生巅峰。”
“别答应。”沈墨渊提醒,“学生会现在还在他们影响范围内。”
“那你说我去哪儿?”林悦摊手,“总不能让我去食堂打工吧?”
“不如来一起做这个平台。”沈墨渊停下脚步,“需要前端、后端、UI,还得有人写使用文档。你现在算是实战经验最丰富的选手之一。”
林悦愣住:“你认真的?”
“嗯。”他点头,“而且不止你。我们可以拉几个信得过的技术社团,先做个原型出来,在小比赛里试运行。如果效果好,下届Aegis就能用。”
姜悦兮听着,忽然开口:“我可以负责规则逻辑部分。怎么定义‘异常操作’,哪些流程必须留痕,评委打分要不要公开理由……这些得有人梳理清楚。”
沈墨渊看向她:“你能抽出时间?”
“时间挤挤总有。”她笑了笑,“再说,我也想知道,到底能不能建成一个没人能偷偷动手脚的系统。”
林悦一拍大腿:“好家伙,咱们这是从‘被审查的选手’转型成‘制度设计师’了?”
“不是设计制度。”沈墨渊纠正,“是让制度变得无法被随意解释。”
回宿舍的路上,三人走得慢了些。
林悦一边刷手机一边念叨:“我已经想好名字了,叫‘天眼系统’,一听就很硬核。”
“太中二。”姜悦兮摇头,“叫‘光迹’怎么样?光明的痕迹,每一步都看得见。”
“太文艺。”林悦撇嘴,“要我说就叫‘代码公证处’,直白有力。”
沈墨渊听着,没参与讨论,手指在手机屏幕上滑动,建了个新群,把两人拉了进去。
群名很简单:**透明赛场·1.0**
林悦看到通知,哈哈一笑:“你还真干上了?”
“昨晚就想建了。”他说,“只是一直等到今天早上,才确认你们愿不愿意一起走这条路。”
姜悦兮看着群消息弹出的第一条公告:【今日任务:列出五个最容易被操控的比赛环节】。
她指尖轻点,回复:【评分权重调整无记录】。
林悦紧跟着发:【设备检测流程模糊】。
沈墨渊最后一条:【评审团成员信息不公开】。
群里安静了几秒。
然后林悦发了个表情包:一只猫举着横幅,上面写着“我们可是正经搞技术的”。
三人同时笑了。
中午,他们在教学楼旁的小咖啡馆碰头。沈墨渊带了台备用机,插上网线开始搭框架。姜悦兮翻着往届比赛的流程手册,一条条标注可疑点。林悦则忙着联系其他参赛队伍,看看有没有人愿意加入测试。
“有个哥们说他去年就被莫名扣了创新分,理由是‘风格不符合赛事导向’。”林悦咬着吸管,“问他导向是什么,他说评委说不清。”
姜悦兮抬头:“这种主观裁量权太大了,必须限制。”
“那就加个功能。”沈墨渊边敲代码边说,“每次打分低于平均值百分之三十,系统自动触发复核提示,并要求填写详细评语。”
“还要匿名公示七十二小时。”姜悦兮补充,“让大家都能提异议。”
“可以。”他点头,“异议超过三成,自动进入二次评审。”
林悦托着腮帮子看他们俩:“你们这样你一句我一句的,还挺有夫妻相。”
话音刚落,被姜悦兮一个纸团砸中脑袋。
“胡说什么呢!”她耳尖微红。
沈墨渊倒是没反应,继续敲字,仿佛没听见。
下午三点,第一版原型上线内测。界面朴素,功能简单,但核心逻辑清晰:所有操作留痕,关键步骤上锁,任何人改动都会留下记录并通知所有成员。
林悦试了几次提交模拟项目,发现一旦试图伪造时间戳,系统立刻弹出红色警告,并自动生成审计报告。
“牛啊。”她瞪大眼,“这玩意儿要是早出来半年,咱们至于通宵找证据吗?”
“但它现在出来了。”姜悦兮看着屏幕,“而且是从我们手里做出来的。”
沈墨渊喝了口冰水,终于松开键盘:“下一步,找个小型编程赛试试水。主办方得愿意配合。”
“我知道一个。”姜悦兮说,“下周学院有个新生挑战赛,规模不大,但流程完整。我们可以申请技术支持的身份介入。”
“好。”他点头,“趁热打铁。”
傍晚,四个人坐在图书馆外的台阶上吃饭。外卖盒堆在一旁,晚风带着白天晒过的温度。
林悦突然问:“你说,将来真能让所有比赛都变成这样吗?”
沈墨渊抬头看了眼天空,云层薄淡,夕阳正缓缓沉下去。
“不一定能全改。”他说,“但至少能让有些人动手之前,多想两秒。”
姜悦兮侧头看他,嘴角微微翘起。
就在这时,手机震动了一下。
是那个新建的群聊。
林悦发了一条消息:【刚刚收到消息,techNova宣布暂停参与高校赛事技术支持三个月,进行‘内部整顿’。】
众人静了片刻。
然后林悦嘿嘿一笑:“看来我们的‘透明赛场’还没上线,威慑力就已经有了?”
沈墨渊没笑,只是把最后一口饭吃完,擦了擦手,打开电脑。
屏幕亮起,新项目文档标题写着:**透明赛场v0.2 更新计划**。
他敲下第一行字:【增加第三方公证接口接入方案】。
姜悦兮凑过去看,轻声说:“你是不是早就料到他们会退?”
他的手指停顿了一下。
“我没想那么多。”他说,“我只是不想再有一次,明明没做错事,却要花三天时间证明自己清白。”