第168章 架构落定,不可逾越的边界(2 / 2)
第二份攻击样例:他不动地图结构,而是悄悄挪动了局部窗口的坐標原点参数,试图將全白纸带上的起始状態,通过坐標系的偏移偽装成另一个不相关的边缘位置,藉此绕过起点检查。
运行核验器。
【rejek_start_hidden_by_transtion】
红灯再次亮起。
严格的坐標对齐逻辑识破了偽装。
第三份攻击样例:他保留了全部真实的节点,却把几处明明尚未收拢、还可以继续往外推导的边缘节点,强行打上了已封闭的標籤。
运行核验器。
核验器没有理会標籤,它根据转移表现场倒推,准確地找到了证书里没有列出来的合法的上一步。
【reject/false_closure】
三盏红灯依次在屏幕上亮起,仿佛三道坚不可摧的铁闸。
每一盏都精准地停在了偽造发生的第一现场。
在整个驳回过程中,核验器没有调用一次原始的backwardreasongdecider,也没有相信证书里那句虚假的已检查声明。
江临將一份有效见证、三份偽造见证、独立核验器的源码,以及一页极为简练的人话说明文档,封装进同一个压缩目录。
【backward_unreachability_witness_v0.1】
【backward_rule_checker_v0.1】
【adversarial_cases/3】
隨后,他把今晚会议中各方同意保留下来的共同部分,如同拼接精密仪器的底座一般接了上去。
机器描述哈希值。
空白纸带初始条件定义。
单步转移语义引擎。
证书类型路由標籤。
失败位置的追踪器。
公共层的职责,到此戛然而止。
在路由標籤下方,三条核验路径开始各走各的路,互不干扰。
前两条路径沿用已经確认无误的专用证明义务。
而今晚新接入的反向不可达规则,只负责检查通往下班门的有限地图有没有漏路,以及起点是否被安全地排除在外。
十点五十二分,江临点击了发送。
復现包经过研究支持单元完成版本核验与转发。
邮件標题沿用了原先的追踪编號,只在末尾增加了一项状態说明。
【a-1/bb5/backwardreasong/depewitnessready】
此时,距离技术窗口的关闭时间还剩八分钟。
江临按部就班地导出运行日誌、封存当前的虚擬机快照,最后关闭隔离工作站。
机箱风扇的嗡鸣声渐渐平息,江临站起身,活动了一下酸痛的颈椎。
冰箱里还放著前晚剩下的半盒葡萄,桌面上那两张印有第193步反例轨跡的纸张,已经被他整齐地收进了一旁的黑色文件夹。
那台引发轩然大波的四状態机器,已经完成了它作为试金石的任务。
接下来要接受整个团队严苛审查的,將是这张从终点向后展开的地图。
九月七日,早上七点十二分。
北京的晨雾还未散去。
周述已经坐在了项目组那间宽敞的办公室里,手边放著一杯早已凉透的浓缩咖啡。
他顶著浓重的黑眼圈,先是校验了江临发来的復现包哈希值,確保文件在传输中未被篡改。
隨后將庞大且复杂的原backwardreasong程序,连同它所有的依赖库,一把从运行路径中彻底移出。
现在的测试环境里,只剩下机器描述文件、几份体积小巧的有限见证,以及那个刚刚诞生的核验器。
回车键敲下。
有效见证,顺利通过。
江临隨包附带的三份公开对抗偽造见证,依次在预期位置被无情拒绝。
但周述並没有在这里停下。
作为曾经踩过雷的主笔,他的多疑已经被激发到了最高点。
他转身从內部的高度机密结果库里,抽出了一台江临此前绝对没有见过的真实图灵机描述。
叫来刚进办公室的叶寧,让她按照昨晚的新规范,用另一套工具將他们自己的反向搜索结果,导出为有限地图格式。
新核验器根本不需要知道这张地图是谁生成的,也不关心它是怎么找出来的。
它像一个盲人摸象的机器,只管顺著机器转移表,一个个节点去检查前驱。
叶寧看著屏幕上连续亮起的绿灯,多年的底层找虫经验让她本能地生出一股不服输的劲头。
“他只花了一个晚上,我不信这套防御网没有一点缝隙。”叶寧將咖啡杯推到一边,双手敲击键盘的速度骤然加快,“周述,数学闭环暂时没看出问题,那我先试证书结构。”
她复製那份有效见证,將其中一个节点记录的前驱编號改成节点表范围以外的数值,又重新生成外层文件校验。
这份证书在形式上依然能够被读取,內部却指向了一个根本不存在的节点。
若核验器没有先检查引用范围,后续的闭合性判断便可能读取错误对象,甚至直接异常退出。
叶寧提交修改后的见证。
核验器完成文件解析,却没有进入机器语义与反向闭合检查。
【reject/out_e_node_reference】
日誌同时给出具体位置。
【node:184】
【predecessor_ref:out_e】
等叶寧调出输入层的处理流程。
核验器在接触任何数学规则以前,已经依次检查节点数量、编號唯一性、引用范围和机器绑定。
不料畸形证书连进入证明核验阶段的资格都没有。
“结构层先拒绝坏证书,证明层再判断数学。”周述看著那行红字,苦笑了一声,“不用白费力气了,这两层他也分开了。”
叶寧抿了抿嘴唇,决定转向更隱蔽的机器绑定问题,发起最后一次攻击。
她拿回那份有效见证,用文本编辑器换掉了机器描述文件里的一条转移规则,试图张冠李戴,让一张真实的地图去替另一台完全不同的机器作无罪辩护。
这一次,程序甚至没有运行到反向规则检查的那一步。
公共层在读取配置时,便如同触电般截住了它。
【reject/ache_witness_isatch】
周述见状嘆了口气,摇摇头,把核验器的最后一个调用路径追踪完毕。
结论无可辩驳:它不会扩展搜索深度,不会在运行时猜测新的局部配置,甚至没有读取原decider留下的任何缓存碎片。
证书给多少节点,它便一丝不苟地验多少节点。
证书哪怕少交一条合法前驱,它就会毫不留情地停在缺口前报错。
周述將原始decider的复杂调用图,与新核验器的精简调用图,並排投射到了办公室的白墙上。
左边的图谱层层叠叠,如同繁茂的原始森林,充满了搜索、启发式剪枝、状態合併不確定性。
右边的图谱却犹如一根笔直的標枪:只有机器单步语义、前驱生成、集合包含与闭合性检查,以及初始状態排除。
叶寧端著水杯看了一会儿,缓缓说出了昨晚江临那句话的后半句。
“搜索程序可以继续聪明,而裁判,终於笨到了足够可信的地步。”
十一点,乔闻鐸推门走进办公室。
他没有看那些繁复的代码,而是先仔细查阅了防住第四份攻击的日誌,接著看了墙上那两张对比强烈的调用图,最后翻到了江临写的那一页极度凝练的人话说明。
“第193步反例,证明他有能力找到我们的错误。”乔闻鐸的手指轻轻敲击著桌面,声音中带著罕见的讚许,“而今天这份见证说明,他不仅能破,而且知道正確的可信边界,究竟应该用什么材料、建在哪个坐標上。”
他把厚厚的復现报告推回给周述。
“今天下午,把两套实现的人员名单和测试隔离方案彻底定下来。框架已经立住,该我们干活了。”
与此同时,在校园另一端的操场上,军训照常继续。
九月七日的太阳比前几天更加毒辣。塑胶跑道散发著刺鼻的橡胶味,绿色的方阵在广阔的场地上移动。
“向右——转!”
“齐步——走!”
“立定!”
队列在教官嘶哑的口令中转向、齐步、停下。
江临面无表情,汗水顺著脸颊滑落,砸在迷彩服的领口。
他和其他几千名新生一样,按照集体的节奏,机械地完成著每一个动作。
阳光晃得人睁不开眼。
办公室里发生的那场关於图灵机与计算边界的高层次討论,没有一丝一毫进入他的白天。
他的世界此刻只有燥热的微风,发酸的小腿,以及远处食堂飘来的饭菜香气。
两个世界,在现实的物理空间里摺叠,互不相干。
晚上七点五十三分,夜幕降临。
江临刚洗完澡,研究支持单元的技术联络员便转来了下午的復现结果与一项临时会议请求。
【復现评估报告】
有效见证:通过
三份公开对抗见证:全部在预期位置拒绝
团队追加攻击:ache_witness_isatch/拒绝
核验过程:整个生命周期內未调用原backwardreasongdecider
復现结论:证明规则已具备脱离搜索程序独立运行的能力。架构分离可行。
八点整,前一晚的五人会议重新上线。
周述一扫昨夜的阴霾,显得异常亢奋。
他把那份旧草案的列印稿举到了镜头前。
昨天还在上面的那个写著统一证书的庞大方框,已经被他用剪刀整块剪掉,留下一个规则的方形窟窿。
而在窟窿下方,保留下来的十九项机器语义、测试样例与失败追踪,被重新用马克笔画进了一只更小更紧凑的公共框架里。
公共框架之下,三条清晰的红线分別连向三套独立的验证规则。
“昨晚那个灵魂拷问,我今天白天重新核验了一遍。”周述的声音里透著如释重负的轻鬆,“过去三个月的心血,大部分都还在。我们撤掉的,仅仅是那种非要让三种截然不同的证据,去说同一种標准语言的傲慢要求。”
他放下手中残缺不全的列印稿。
“backward见证的闭环已经走完了,白天我们团队自己加了一份你没见过的机器绑定攻击样例,也被公共层准確地挡住了,你的防线非常坚固。”
叶寧隨即共享了最新的任务表。
两支实现组已经完成隔离。
代码仓库、编译环境和內部沟通频道全部分开。
一支沿用项目现有语言,另一支採用不同语言,只依据冻结后的规范从零重写。
双方都要独立完成三套核验规则,在盲测结束以前,任何一方都看不到对方的代码。
“具体实现由我们负责,隱藏测试集交给第三方。”叶寧说,“你只负责冻结规范和公开测试向量。”
乔闻鐸將一张全新的系统架构图投到了共享屏幕的正中央。
【sharedacheseantics】
├──【exactcyclerule/ready】
├──【transtedcyclerule/ready】
└──【backwardunreachabilityrule/ready】
在三套闪烁著绿色ready標识的规则下方,还有一行灰色字体,静静等待著被点亮。
【depebldrepy/pendg】
“两套实现团队,从明天起互不交换任何代码,这是我们这边的內部隔离方案。”
乔闻鐸看向江临所在的窗口,语气中带著明显的徵询。
这次bb5项目的攻坚,本就是他们团队主动发出的合作请求。
“所有的真实证书、偽造证书,以及带有陷阱的隱藏样例,我们会统一交由第三方安全团队进行打包混淆。”
乔闻鐸说明了接下来的安排,隨后用商量的口吻提出了建议。
“江临,接下来的盲测阶段,你看这样安排是否合適:盲测集就不劳烦你亲自过目了,具体的语言实现和代码bug交由那两支团队自己去头疼。你只需把控规范,不用把精力消耗在这些底层工程问题上,同时也能最大程度保证最终审查的客观性。这个流程,你看可以吗”
隨后,乔闻鐸在项目的协作架构表上做了一项权限变更,在权限最高的一栏设置了一个新的节点,並填上了江临的名字。
【可信核架构与证明边界审查:江临】
在协作表的前几行,写著项目总牵头人乔闻鐸、规则负责人叶寧,以及实现组主笔周述。
而江临的位置,独立於所有工程实现模块之外,犹如达摩克利斯之剑般,高悬在整个可信核架构的顶端,拥有绝对的一票否决权。
儘管在名字旁边的系统身份栏里,依然只是一行简单得过分的文字。
【清华大学求真书院/2022级本科生】
但这早已不是什么需要被团队审查的標籤。
早在解决江氏砖和pfr猜想时,这个名字在理论界的含金量就已经闻名过学术界。
如今,那条撕碎旧草案的第193步停机轨跡,以及今晚这张坚不可摧的反向推导地图,更是让屏幕这头的几位顶尖学者心服口服。
他们很清楚,是他们在仰仗这位天才大脑来给bb5项目兜底,而不是他们在给他分配任务。
从这项权限生效的那一秒开始,凡是涉及bb5项目共同机器语义的改动、证书绑定的逻辑,必须先过江临这一关。
两支高学歷的实现团队,將完全在他的架构图纸下进行盲人摸象般的编码工作。
这是一种基於绝对智力的信任託付。
周述拿起电子笔,毫不犹豫地在协作表上籤下了自己的確认名字。
“我赞成。”周述看著镜头,语气中不仅是诚恳,甚至带著一丝受教的敬意,“能把我花了三个月盖起来的危楼,精准地拆掉三块承重墙,保留下十九根好柱子,然后再给出一张坚若磐石的新图纸。能请到江神来做这套系统的最高法官,是这个项目的运气。”
对於乔闻鐸的提议和团队的表態,江临並没有表现出多余的情绪波动。
对於他而言,真理本就该是这个运转方式。
既然架构上的话语权和隔离机制已经確立,那他自然不用再管那些底层的泥瓦匠活儿。
“可以。”江临简短地回復。
隨后,他移动滑鼠,在后台管理界面点开了版本控制选项,按下了那个象徵著规范锁定的按钮。
【shared_verification_kernel_spec_v0.1-rc1/frozen】
周述在会议纪要的最下方,用一段感性的文字作为总结。
【统一的是门框和锁孔,但三类证明证据,各自保留自己的钥匙。】
江临看到这行字,指尖在键盘上短暂停顿。隨后,他在周述的那句话下方,敲下了一行补充。
【三把钥匙,三套齿纹,谁也不能代替谁。如果有人想用一把钥匙开所有的门,防盗系统必须报警。】
时钟指向八点十五分,项目总控面板的状態再次自动刷新。
所有前置审查全线变绿。
进入盲测阶段的大门正式开启。
会议结束,通道的连接切断。
周述靠在椅背上,看著屏幕上那行代表著候选规范冻结的绿色字符。
“他今年才多大”叶寧忽然开口打破了沉默,语气里带著几分鬱闷的复杂,“二十岁都不到啊。”
“別用年龄去衡量那种怪物,会让人抑鬱的。”周述摘下黑框眼镜,捏了捏鼻樑。
作为姚班毕业生,周述见过太多所谓的天才。
但那些天才往往沉醉於算法的奇技淫巧,或者代码的运行效率。
而刚才屏幕对面的那个年轻人,身上却有著令人嘆服的冷静与通透。
“我花了三个月,写了几万行代码,试图让所有的机器听懂同一种话。”周述指著白墙上的调用图,“我觉得那是一件很伟大的工程,但他只看了一眼,就用最基础的数学常识告诉我:机器语义必须统一,三类证明结构不能强行统一。”
周述重新戴上眼镜,眼底那一抹连熬两夜的疲惫反而一扫而空。
“能给这种人当底层的泥瓦匠,不算丟人。叶寧,准备继续干活吧。”
从此以后,每一份试图声称某台图灵机永远不会停下的证据,都再也不能躲在庞大复杂的判定器背后。
它们必须剥去所有算法的偽装,在江临划定的这条不可逾越的边界前,自己一步一步,走完通往裁决席的严苛之路。