九月六日,晚上七点五十八分。

    江临坐到电脑面前的时候,固定窗口里,多了一项十五分钟的闭门会议提示。

    【会议通知】

    主题:A-1/bb5/统一草案撤回后的边界校准

    议题一:现有工作保留范围

    议题二:backward Reasoning复现计划

    议题三:共享可信核的下一版结构

    桌面上,昨晚那封确认邮件已经完成处置。

    在那封邮件里,第193步反例复现成功,旧统一草案被正式宣告破产。

    四状态图灵机在无垠的空白纸带上留下了它的痕迹。

    项目的三类原始decider及既有分类结果继续保留。

    今晚,无须再讨论那台四状态机器为什么会在第193步停机。

    数学和逻辑的法庭上,反例一旦成立,争论便随之终止。

    真正需要确定的,是那份被截停的草案究竟要拆到哪一层,以及在这场浩大的解构之后,还能在废墟中留下什么。

    ……

    事实上,在会议接通前的半小时,清华大学项目组的办公室里,周述还在疯狂修改着第三套方案的草稿。

    过去的一天一夜,他几乎没有合眼。

    他尝试了十七种不同的接口重构,试图把backward Reasoning庞大的搜索树压进一个标准格式里。

    但每一次,只要他不把那个臃肿的搜索算法带进去,核验器就无法确认结果。

    “根本拆不开。”周述烦躁地揉着眉心,对一旁的叶宁说,“要想向一个毫无智能的程序证明反向没有路,除非让它自己再去把路搜一遍。我们之前的设计之所以要让证书自己声明,就是因为工程上不可能把搜索过程交给核验器去验收,那会把核验器撑爆的。”

    带着这种这是一个工程死结的深切无力感,周述进入了八点整的会议。

    ……

    八点整。

    屏幕上的倒计时归零,会议准时接通。

    屏幕被分割成五个大小不一的窗口,连同江临在内,五个人处于各自不同的物理空间,却被同一条逻辑链条拴在了一起。

    主持会议的是位于正上方窗口的乔闻铎。

    他背后的书架上堆满了厚重的理论计算书籍和历年项目的归档卷宗。

    作为清华计算机系教授、博士生导师,同时也是这个bb5项目的架构负责人,乔闻铎有着十余年程序语义与形式化验证的经验,曾主持过验证编译器和安全关键软件的可信核审查。

    在他的研究组里,有一种近乎残酷的共识:作者亲手跑出的绿色结果,充其量只能算作内部实验记录。

    换一批人、换一种完全不同的语言实现、只凭公开的规格说明书重新得到同一结论,这个结果才有资格被写入正式的证明链中。

    乔闻铎是一个极少在技术意见里使用带情绪形容词的人。

    然而,在昨晚的处置纪要里,他连续写了两次严重。

    对于形式化验证而言,一个能够被绕过的核验器,比一个完全不工作的核验器更加危险。

    左侧窗口是叶宁,组里的助理研究员。

    她负责decider结果复现与translated cycler的专用核验,有着多年和底层代码搏斗留下的沉稳。

    既能阅读高视角的计算理论证明,也能一路追潜到模拟器最底层的单步转移函数。

    项目早期,她曾用另一套实现独立重放了百万级机器的分类过程。

    原工具与复现结果出现的几处微小边界差异,都是她从海量的纸带快照里,一格一格用肉眼和脚本找出来的。

    昨晚,第193步反例送达后,也是她带着两名研究生从空白纸带重新跑完全部轨迹,确认问题确实停在统一草案的验收层,没有越过原始decider的边界。

    右下角窗口里,戴着黑框眼镜的青年研究员周述显得有些憔悴。

    他是姚班本科毕业后留校直博的尖子生,研究方向正是携带证明的代码与最小可信计算基(tcb)。

    那份被宣告破产的旧统一草案,正是由他主笔。

    过去三个月里,二十七个模块、四百多项接口测试和两轮繁复的证书格式迁移,大半经过他的手。

    他设计这套草案的初衷无比正确:把最终需要信任的代码压缩到尽可能小。

    然而,问题恰恰出在这次过度的压缩上:一项本该由核验器亲自下场完成的证明义务,为了统一接口,被缩减成了证书生成端填写的一个布尔值true。

    最后一个窗口没有开启摄像头,那是研究支持单元的技术联络员。

    负责会议纪要的实时录入、版本封存和材料隔离,从不参与任何证明判断。

    他的麦克风传出细微的纸张翻动声,他的面前摊着一份打印稿,第一页右上角已经盖上了刺眼的红色印章:【wIthdRAwN】。

    没有人寒暄。

    会议接通的瞬间,周述便直接共享了过去二十四小时的紧急审计表。

    数据在屏幕上展开,严谨而清晰。

    【可原样保留】:19项(包括基础状态定义、纸带读写头逻辑等)

    【需拆回专用规则】:5项

    【涉及未核验信任声明,直接废止】:3项

    页面下方,列着三套经过整日争吵后得出的备选方案。

    【方案一:共享核回调原专用decider】

    优点:恢复最快,代码改动最少。

    代价:搜索程序重新进入可信边界。

    【方案二:将三种decider全部纳入可信核】

    优点:外部接口最少。

    代价:可信核膨胀成三套decider的总和,失去小而可审的意义。

    【方案三:共享机器语义,分离三套核验规则】

    优点:可信边界清晰,每套规则只验收有限见证。

    代价:需要重新设计见证结构,backward Reasoning尤其困难。

    叶宁率先打破沉默,她的声音透过网络传输略显失真,但逻辑依然锋利:“第一套方案能最快恢复进度,但这意味着裁判又要重新相信寻找证据的搜索程序。第二套方案最省接口,但可信核的体积会膨胀成三套decider的总和。这违背了我们建立可信计算基的初衷。”

    “我们组内经过讨论,倾向于第三套方案。”周述接过话头,他的嗓音有些沙哑,显然熬了一个通宵,“可第三套还是有一个问题,三套规则进入可信核以后,怎样保证我们只是拆开了证明义务,而非换个名字重造三套decider?”

    他将屏幕上的架构图放大,红色的高亮标记圈出了几个关键模块。

    decider之所以难以被形式化信任,恰恰因为它的本质是探索。

    它会使用启发式算法去搜索、去猜测未知的状态。

    它会为了效率进行大幅度的剪枝、合并状态空间,并使用各种优化策略。

    如果所谓的分离规则仍然在底层把这些探索性的工作全做一遍,那么可信边界根本没有被缩小,它只是从一个巨大的黑箱,变成了三个稍微小一点的黑箱。

    江临移动光标,打开昨晚自己归档的一份手绘架构草图,将屏幕共享权切了过来。

    在图表上的搜索程序与核验规则之间,用红色的线条划下了一道不可逾越的鸿沟。

    “decider负责在黑暗里找证据,核验规则只负责在灯光下验收证据。”

    江临的声音平静,却带着不容置疑的确定性。

    “搜索端可以扩展大量局部配置,反复进行前驱生成、去重与剪枝;核验端只检查证书提交的有限对象。它不搜索新节点,也不依赖任何决定结论的启发式优化。”

    江临将光标停在那条红线上。

    “它只回答两个最简单的问题:第一,证书里列出的事实,能不能由机器的最底层转移表重新推算出来?第二,证书声称覆盖的证明义务,在数学上有没有逻辑缺口?”

    周述注视着屏幕上那条泾渭分明的分界线,镜片后的眼睛微微眯起,沉默了几秒钟,说道:“也就是说,搜索端可以继续保持聪明、狡猾甚至激进,但裁判端必须足够笨。”

    “越笨越好。”江临毫不迟疑地回答,“笨到任何一行代码都能被人工一眼看穿。”

    叶宁将第三套方案移到了页面的最上方,快速评估了可行性,说道:“translated cycler这边可以做到,专用的decider继续在外面负责寻找平移段,规则层只负责重放这一段有限的运行轨迹,然后再检查最大回退范围。所有的搜索和探测策略,全部留在边界外面。”

    周述揉了揉眉心,提出了最棘手的问题:“普通的Exact cycle 循环也可以直接拆。真正卡住我们的,还是backward Reasoning。它交来的结果如果仍然是一整棵庞大的反向搜索树,小核验器照样要陪着它重新遍历一遍。这又绕回了原点。”

    江临切换了终端页面,敲击了几下键盘,调出了一个全新的目录。

    【backward_Reasoning_Reproduction/pENdING】

    “所以,第三类程序现在还不能直接接入。我今晚会进行复现和重构。它最终需要交出来的,应该是一张已经穷尽所有可能的‘有限地图’,而不是冗长的搜索过程。”

    一直静静倾听的乔闻铎此时终于开口:“一张地图,怎样在不借助外部搜索的前提下,向一个毫无智能的核验器证明自己没有漏掉任何

本章未完,请点击下一页继续阅读>>

章节目录