2702 字
14 分钟
晚到的方舟 · 第 11 章:表决

第 11 章:表决#

投票开始的那天早上,整条船都安静得反常。

没有集会,没有口号,连平时在环形走廊里追跑的孩子都被大人嘱咐过,放轻了脚步。投票终端设在每个舱区的公共舱,是用能找到的旧屏幕临时拼起来的,屏幕上只有一行字和两个方框:赞成减速,反对减速。人们排着队走进去,在屏幕前站上几秒,有的人很快,有的人站很久,然后伸手点一下,转身出来,换下一个人。

林渡守在导航室的主控台前,看着票数一格一格地往上跳。

系统设计得极其朴素——420 年前造它的人显然认为,越是决定命运的时刻,越不该有花哨的东西。没有饼图,没有预测,没有”某舱区已 80% 到站”的滚动播报,只有两个数字,沉默地交替增长:

赞成:41,207 反对:39,864

他看着这两个数字,意识到一件事:赞成和反对,几乎咬在一起。

咬在一起的两群人#

第一天结束,赞成 11 万,反对 10 万 8,差距不到两个百分点。

这个结果出乎很多人的预料。柯先生那一派本来相信,“去一颗有人守候的真正星球”对绝大多数人会是无法拒绝的诱惑;可反对的声音同样庞大,而且随着票仓从工程区转向船尾的底层舱,反对票涨得越来越快。林渡理解为什么——他在那些舱区走过。越是从未拥有过空间的人,越害怕失去船上这个唯一熟悉、唯一让他们感到自己是”主人”的世界。对他们而言,那颗灯火辉煌的行星不是诱惑,是一个庞大的、会把他们淹没的未知。

第二天,差距一度被抹平,反对方短暂地领先了三千多票。

苏砚来过一次导航室,没有问数字,只是把一盏新做的小灯放在台上。“我投过了。“她说,“赞成。“林渡点点头。两个人都没再多说什么。她走后,他看了一眼票仓明细:她所在的舵盘教核心舱区,赞成与反对竟然也是五五开。这个劝人”哪儿都不用去”的宗教,在真正的选择面前,裂开成了两半——一半人决定守船,一半人决定跟着他们的掌灯,去送这艘船最后一程。

第二天夜里,赞成重新反超,领先一万一。

第三天是最后的日子。下午三点截止投票时,主控台上的数字定格在:

赞成:238,914 反对:219,406

参与投票 458,320 人,超过全船成年人的九成七。赞成占 52.1%,反对 47.9%。

不到四个百分点的差距。

林渡盯着这两个数字,没有如释重负,反而觉得一阵发冷。这不是一边倒的授权,这是一艘几乎被撕成两半的船。多出来的这不到两万人,决定了其余四十六万人的航向。他知道自己必须按这个结果执行——这是他们能找到的最接近公正的办法——但他也清楚,从结果出炉的这一刻起,那 21 万投了反对票的人,需要被看见、被安放,而不是被一句”少数服从多数”轻轻抹掉。

不该存在的一段代码#

按照规程,投票截止后,计票程序要进行最后一次自检,把全部选票的加密存根从头到尾复核一遍,确认传输和统计中没有差错,然后才生成不可更改的最终凭证。

林渡启动自检,本以为几分钟就会结束。

第八分钟,报警响了。

不是票数对不上——总数分毫不差。报警来自程序更底层的一个校验项:计票模块的代码指纹,与出厂封存的原始指纹不符。

林渡的血一下子凉了。

他调出差异比对。屏幕上,420 年前那套干净的计票代码里,被人嵌进了一小段东西。那段代码藏得极深,伪装成一个处理废票的普通函数,命名、格式都仿得一模一样,不看逻辑几乎分辨不出。可它做的事,让林渡的指尖一点点变得冰冷:

它不删票,也不凭空造票——那样总数会对不上,立刻就会暴露。它做的是一件更隐蔽的事:当某个舱区的反对票超过赞成票时,它会按一个极小的、随机的比例,把其中一部分反对票”重新归类”为废票。 废票不计入任何一边,总数仍然守恒,赞成与反对两栏看起来都毫无破绽,只是……反对票会在不知不觉中,变少一点点。

他冷汗涔涔地去查,如果没有这段代码,真实的结果会是多少。

程序花了二十分钟,把三天里每一张被偷偷挪走的票还原归位。新的数字浮上来:

赞成:236,180 反对:222,140

赞成仍然领先,但差距从 19,508 票,缩小到了 14,040 票。占比从 52.1% 对 47.9%,变成 51.5% 对 48.5%。

结论没有被逆转。减速依然是多数人的选择。可那 5,468 张被偷走的反对票,像五根针,扎在这份结果的正当性上。

谁动了手,以及为什么#

林渡没有声张。他先锁死了计票模块,把原始存根和被篡改的代码分别封存,然后顺着代码留下的接入痕迹,往上追。

痕迹指向一个他没料到的地方:不是撞星派,不是任何一个明面上的派别,而是一个由几名老工程师组成的、没有名字的小圈子。其中一个,正是这些天里跑前跑后、帮他把表决系统从沉睡中重新唤醒的人。

他在引擎舱外的通道里找到了那个人。老工程师没有抵赖,听完林渡的话,他靠着舱壁,疲惫地闭上了眼睛。

“我知道你会查出来。“他说,“这套系统是你亲手修的,我赌的就是你会不会查到底。”

“为什么?“林渡的声音在发抖,一半是气,一半是想不通,“你们是减速派。你们本来就会赢。为什么要做这种事?”

老工程师睁开眼,眼睛通红。

“因为四票。“他说。

林渡没听懂。

“投票第二天夜里,赞成只领先四千票的时候,我就在你这个位置看过数字。“老人的声音哑得厉害,“你知道四千票是什么概念吗?四十七万人里,四千票,一个水培舱区的人发烧没去投票,风向就翻了。导航员,我们等这一天等了十六代。我师父、我师父的师父,到死都在等飞船减速。我不能眼睁睁看着它,因为几千个没拿定主意的人,功亏一篑。”

“所以你就偷票?”

“我没有改输赢!“老人几乎是吼出来,又立刻压低了声音,通道尽头有人被惊动,探头看了一眼,“你查出来了——我改完,它还是赞成赢。我只是……我只是想把那根线,拉得离悬崖远一点。我想要一个让反对的人也能死心的数字,一个 52% 而不是 50.1% 的数字。我想让这艘船落得心安理得。”

林渡看着他,忽然一句话都说不出来。

这不是一个坏人的算计。这是一个太害怕失败的好人,用错误的方式,去守护一件他信了一辈子的事。可正因为如此,它才更危险——如果连”为了正确的结果”都可以成为篡改的理由,那这四十七万人鼓起全部勇气投下的票,就只是一群自认为掌握真理的人手里的橡皮泥。 今天他偷反对票,明天就会有人,为了另一个同样崇高的理由,去偷赞成票。

真实的数字#

林渡在导航室里独自坐到深夜。

他面前有两个结果:一个 52.1%,干净、好看、能让所有人”心安理得”,但它是假的;一个 51.5%,险、薄、随时会让人怀疑这艘船是不是正被一半人拖着另一半往前走,但它是真的。

他想起投票前夜苏砚说的话:意义不能只放在一个地方。他想,正当性大概也一样——它不能建立在一个漂亮的假数字上,哪怕这个假数字通向的,是他自己也渴望的结局。

凌晨,他做了两件事。

第一,他把老工程师篡改计票的全过程、被偷走的票数、以及还原后的真实结果,不加任何修饰地,向全船公开。他没有替那个人隐瞒动机,也没有夸大罪行,只是把事实一条一条,摆在四十七万人面前。

第二,他在公告的末尾,附上了这样一段话:

“赞成 236,180,反对 222,140。减速将执行,因为这是多数人的真实意愿。但请每一个投了赞成票的人记住:有 222,140 个人,并不想去。我们不是去征服一颗星,我们是带着一群不舍的人,一起走向一个新的地方。到了那里,如何安放这份不舍,将比如何减速,重要得多。”

公告发出后,导航室门外,很久没有人说话。

然后,不知道从哪个舱区开始,传来了第一声金属敲击——那是船上人表达”听见了”的方式,用手敲一敲舱壁。声音从一个舱区传到下一个,沿着环形的船身,一圈一圈地荡开,像一颗心在四十七万人的船腹深处,缓慢而沉重地跳动。没有人喊口号,也没有人欢呼胜利——在这样一个几乎被撕成两半的结果面前,任何狂欢都显得残忍。那敲击声更像一种共同的确认:无论投了哪边,他们都听见了彼此,也都将一起承受接下来的一切。

距第二次减速时点,还有十一天。


📖 返回目录 | ← 上一章:投票前夜 | 下一章:点火 →

晚到的方舟 · 第 11 章:表决
https://021028.xyz/posts/default/154/
作者
021028
发布于
2026-10-11
许可协议
CC BY-NC-SA 4.0