《链》03|第一个节点

2009年1月,远川咨询开始处理一批旧电脑。

机器在储物间里排了两列,机箱上贴着资产编号和启用年份。最早的一批已经用了六年,风扇一转就响,运行新版风险模型时经常卡住。公司原本准备统一回收,行政后来发了一封通知:硬盘完成数据清除后,员工可以按残值购买,每人限一台。

午休时,几个人进去挑选。

孙娟想给父母买一台,只开网页和看照片。小周看了半天,嫌机箱太重,最后拿走一台显示器。李波本来没有打算买。白皮书读完后,他已经问过自己要不要参与;真到客户端出现,他又觉得只在论坛里旁观有些轻松得过头。家里已有一台电脑,书房也放不下第二张桌子。

直到他看见角落里那台灰色主机。

机器是六年前的配置,内存不大,处理器却比同批的几台好。资产标签下面另贴着一张白纸:硬盘已更换,原数据销毁,操作系统待安装。

“你也来挑旧机器?”负责登记的行政同事问。

“这台多少钱?”

“主机三百澜元。显示器另算。先说好,卖出去以后公司不保修。”

李波蹲下看了看接口,又打开机箱侧板。里面积了灰,主板没有明显损坏,硬盘封条是新的。

“能通电吗?”

“上午试过,可以启动。”

“数据清除记录呢?”

同事从文件夹里抽出一张表:“编号、执行人、复核人都在这里。你们风险组的人买旧电脑也要看底稿。”

李波笑了一下。他核对完编号,把购买申请拿在手里,先没有签字。

陈旭经过储物间,见他在签字,停下来问:“给晓雨买的?”

“先自己用。以后也可以给她。”

“这种老机器,装点学习软件还行。别拿来跑新模型,慢得能让你怀疑人生。”

陈旭说完便走了。

李波把付款单收进公文包,没有解释自己准备用它做什么。

那天清晨,“无名节点”在论坛发布了源币客户端的第一个公开版本。

帖子很短,只说创世记录已经生成,网络开始接受连接。下面列着程序源文件、一个可以直接安装的版本,以及用于核对下载文件的校验值。作者没有庆祝,也没有解释这一天有什么历史意义,只在最后写了一句:系统需要参与者自行运行和检查。

李波上班前看到了这条消息。

两个月来,论坛一直在争论网络能不能真正启动。有人质疑奖励机制不会吸引任何人提供机器和电力,也有人发现客户端测试版本存在连接问题。“灰盒”每隔几天会整理一份已知故障,反复提醒参加测试的人不要把重要资料放在同一台电脑上,也不要使用单位网络。

李波在论坛留下的第一个问题也收到了一些回复。

有人认为,普通人本来就不需要理解底层技术,如同坐电梯不必懂得电机;有人说,只要程序公开,总会有专家替大家检查。两种说法听起来都有道理,却又回到了李波熟悉的位置:多数人把判断交给少数专业者,并默认他们没有隐瞒。

灰盒最后回复他:“能够验证是一项权利,不是每个人天生具备的能力。客户端必须允许替换,检查结果必须能被别人复查,解释规则的人也不能只有一个。否则,公开代码只是另一扇看不懂的门。”

李波问:“那这个系统仍然要依赖别人?”

“当然。”灰盒回答,“白皮书减少的是必须把账本交给某一个记账人的部分。它没有消灭人,也没有消灭依赖。”

灰盒没有告诉他应该把判断交给谁。李波也没有继续追问。他把回复抄进纸本。疑问没有减少,却不再要求自己先等一个完整答案。

现在,白皮书里的设想变成了一个可以下载的程序。

李波没有马上下载。

他先浏览公开的程序目录,鼠标在下载按钮上停了几次。文件很多,其中大部分对他没有意义。即使每一行都摆在眼前,他也没有能力判断代码是否安全。他能看懂论坛里对发行规则和交易结构的讨论,却无法仅凭公开二字,就确认一个程序不会偷走电脑里的文件。

他在“旧模型”账号下问:“对于不能独立检查源代码的人,怎样确认下载的版本至少与公开版本一致?”

灰盒半小时后回复:“校验值只能确认你拿到的是发布者公布的那一份,不能证明它没有漏洞。最好等不同的人各自构建并公布结果。你若只是测试,用空电脑,不放个人资料,不接公司内网。不要因为怕麻烦就跳过备份。”

另一名用户在下面说:“既然什么都不能证明,检查还有什么用?”

灰盒回复:“能确认一层,就少混淆一层。剩下的不确定性还在。”

李波把这两句话存进了自己的记录。

他决定买下那台旧电脑,也是在那之后。

下午,行政完成审批。公司要求统一拆除旧硬盘,购买人只能带走换过空盘的主机。李波亲眼看着技术人员再次核对封条,又在移交单上签字。机器从资产系统里注销以后,推到他工位旁边,像一只笨重的灰箱子。

小周绕过来看了一眼:“真给晓雨买的?”

“先装点东西。”

“什么东西要单独一台电脑?”

“网络测试。”

小周还想问,手机响了。他刚做父亲两个月,妻子每天下午会打电话确认谁去接孩子复查。小周一边接电话,一边指了指主机:“需要我帮你搬到楼下就说。”

下班后,李波没有把电脑带回家。

灰盒提醒过,早期客户端需要接受外部连接。李波不知道家里的路由设备是否安全,也不愿让测试程序和陈晓燕的工作资料共用网络。他更不能在公司里运行。公司制度写得很清楚:未经批准的程序不能放进办公网络。李波也不想拿同事的机器和客户资料替自己试错。

远川所在街区后面有一排小商铺。打印、修手机、配钥匙、修电脑,各占一间窄门面。李波以前去其中一家加过内存,老板姓范,四十多岁,大家都叫他老范。

老范的铺子前面摆着零件和旧显示器,后面有一间不到十平方米的储物间,接了独立宽带,平时用来测试客人的机器。

李波问他,能不能把电脑放在那里几天。

“要开多久?”老范问。

“可能每天晚上几小时。”

“什么程序?”

“一个刚发布的网络记账实验。”

“替银行记账?”

“不替银行。参与的人各自留一份记录。”

老范听得似懂非懂。他打开主机看了看,又指着墙角的电表:“一个月一百五十澜元,电费另算。烧了你自己的机器我不赔,影响我店里的网络,你当天搬走。”

“可以。”

“先交一个月?”

李波付了钱。老范写了一张收据,项目一栏不知道填什么,最后写成“设备测试位”。

“这东西能赚钱吗?”他把收据递过来时问。

“现在没有价格。”

“没价格你还花钱弄?”

“想看看能不能运行。”

老范笑着摇了摇头:“你们读书多的人,爱好也费电。”

储物间里只有一张旧桌子和一把塑料椅。隔壁维修台的电烙铁不时传来一股焦味,墙上的排气扇一开,桌面便轻轻震动。

李波把主机接好,向老范借了一台闲置显示器。第一次开机用了将近两分钟。系统时间停在2002年,右下角的时钟从零点开始走。

他先安装更新,再把下载地址、文件大小和发布者给出的校验值抄进记录。论坛里已经有三个人公布了各自构建的结果,其中两个一致,第三个说自己的编译环境不同,文件大小有差异。

这些人是否真的彼此独立,李波无法知道。三个账号也可能属于同一个人。校验一致只说明他拿到的文件与他们谈论的是同一份东西。

他仍然下载了。

这是他愿意承担的第一层不确定性。电脑里没有公司文件,没有家庭照片,没有银行资料。即使程序把硬盘弄坏,先要面对的也只是三百澜元、一晚时间和老范的租位费。

安装比想象中顺利。客户端打开后,界面上只有几个简单栏目:本地记录、连接数量、收发地址和状态。

连接数量一直是零。

李波等了十分钟,状态没有变化。他重启客户端,又重启电脑。机箱风扇发出断断续续的摩擦声,屏幕右下角的时间再次跳回2002年。

第三次启动以后,程序弹出错误:没有找到可用的远端节点。

老范探头进来:“不行?”

“还在找原因。”

“我这条网能上。你要不把防护软件关了试试?”

李波摇头:“先不关。”

他把错误信息逐字记下,删掉本地路径和设备信息后发到论坛。几分钟内,有两个人让他关闭所有防护,有人贴来一串命令,让他直接复制到系统里执行。

李波没有照做。

灰盒上线后只问了三个问题:系统时间是否准确,配置文件放在哪里,程序日志里有没有出现引导地址。

李波逐项检查。

系统时间不准,他已经知道。可他没想到这会影响节点。主板上维持时钟的电池早已失效,每次断电都会回到出厂年份。网络里的记录依靠时间判断先后,一台活在七年前的电脑,很难被其他参与者接受。

配置文件也放错了位置。安装说明中的路径按新版系统编写,旧电脑的目录结构不同。程序虽然启动,却没有读到他填入的引导地址。

“我可以把远程桌面打开,你帮我看吗?”李波在论坛私信里问。

灰盒回复:“不要。你不知道我是谁,我也不知道你的机器上有什么。贴脱敏后的错误行,一次改一项。”

李波盯着这句话看了一会儿。

换作公司里的技术支持,通常第一步是打开远程控制。省的是时间,交出去的却是整台机器。李波把手从键盘上收回来,按灰盒的要求逐行贴出脱敏日志。

两个人隔着论坛,用了近一个小时排查。灰盒不替他保证哪一步一定有效,只让他记录修改前后的结果。先校准时间,再移动配置文件,然后重启客户端。每次只做一件事。

连接数量仍然是零。

晚上十点,老范准备关门。李波只能关掉电脑,把配置记录带走。

回家以后,陈晓燕问他旧电脑在哪里。

“放在维修店检测。”

“坏的?”

“能开机,有些地方要调。”

“晓雨还等着你给她装画图软件。”

“这周末带回来。”

“你别把单位淘汰的机器当成宝。修的钱比买的钱多,就算了。”

“我知道。”

李波没有说自己已经付了一个月的测试位费用。金额并不大,隐瞒看起来也算不上严重。他只是觉得,现在还没有什么值得解释。网络连一台远端电脑都找不到,也许几天后便会安静地消失。

他把带回来的配置记录摊在餐桌边。陈晓燕洗完手,拿起来看了一眼。纸上写着系统时间、目录位置和几行被他划掉的错误信息,旁边还留着灰盒要求他逐项检查的数字。

“这些你都看得懂?”她问。

“一部分。”

“看不懂的呢?”

“等别人复核,或者不运行。”

“那你现在是在等别人,还是在运行?”

李波没有回答。

陈晓燕把纸放回原处:“电脑可以放在外面,别把‘只是测试’当成不用告诉我的理由。你能确认里面没有家里的文件,不等于你能确认程序没有漏洞。你要用自己的时间和钱试,就先说清楚你承担到哪一步。”

李波点了点头。他想说这笔钱不多,失败了也就当买一次经验,可这句话在她面前显得太轻。他把那张记录折好,放进自己的公文包,没有把租位收据拿出来。

第二天晚上,他又去了维修店。

灰盒在论坛上更新了一份连接说明。早期网络参与者太少,自动发现经常失效,可以手动添加几个公开的引导节点。说明下面特意写着:这些地址只帮助第一次连接,不拥有网络,也不能保证一直在线。

李波把五个地址逐一输入。

第一个没有响应。第二个连接了几秒便断开。第三个让日志里多出了一行新记录,随后也消失。到第五个时,客户端右下角的数字终于从零变成一。

李波没有动。

状态栏开始下载最初的记录。数据量很小,进度却时走时停。远端节点断开后,程序又花了几分钟找到另一个。连接数量变成二,过了一会儿又只剩一。

屏幕上的地址只有两三个,像随时会被拔掉的插头。李波看不见所谓的网络全貌,只看见一台旧电脑、一条租来的宽带和几个不知道姓名的人,勉强维持着同一份记录。

老范端着泡面站在门口看了一会儿:“这就算成了?”

“连上了,还没同步完。”

“连的是谁?”

“不知道。”

“他们知道你是谁吗?”

“也不知道。”

老范吸了一口面:“那你们怎么收费?”

“不收费。”

“怎么知道别人没骗你?”

李波指了指屏幕:“每一组记录都要按同样的规则检查。”

“规则是谁定的?”

李波顿了一下:“最初是写程序的人。以后如果改,运行程序的人可以决定接不接受新版本。”

“我听不懂。”老范说,“反正我的规矩是十一点关门。”

他说完回到前厅。

李波看着缓慢前进的同步状态,想对老范解释谁都可以下载程序、检查规则,也可以不接受新版本。话到嘴边,他又停下了。老范连配置文件放在哪里都不知道,凭什么先替自己判断该拒绝什么?

十一点前,同步完成。

本地记录里只有很少的交易。最早产生的源币分散在几个地址中,没有姓名,没有币价,也看不出它们以后能买到什么。客户端允许这台电脑参与验证,但李波没有开启计算奖励。他不知道旧机器能否承受长时间运转,也不想把一次测试变成对收益的期待。

他关机回家。

接下来四天,连接时好时坏。有时一开机就能找到三个节点,有时等半小时也只有一个。第三天晚上,同步进行到一半,旧电脑突然死机,屏幕黑下去,风扇也停了。过了几秒,机箱重新响起来,系统却停在检查记录的页面。

李波没有立刻重启。他先等机箱彻底安静,把屏幕上的提示逐行抄下来,再按下重启键。检查进度走到一半又退回去,老范从前厅问他是不是烧坏了机器。他说还不知道,等程序把本地记录重新核对完,才发现前面的连接并没有被当成完成。

他把这次死机和结果都贴到论坛。无名节点很少回复,灰盒只补了一句:不要把一次同步当成永久在线。论坛里陆续出现钱包文件损坏、系统不兼容和交易迟迟未确认的问题。

随后,灰盒和另外几名用户把常见错误整理成一页说明。每一条后面都标明是谁发现、谁复现,以及哪些情况仍未解决。

李波喜欢这种写法。它没有把失败藏起来,也没有因为程序开源,就假装风险已经消失。

星期六早上,李晓雨把自己房间靠墙的一张小桌子收拾干净。桌上的蜡笔、画本和用旧的练习册全被她装进纸箱,只留下一块放显示器的位置。

“电脑放这里。”她拉着李波进去看,“主机可以放桌子下面。”

陈晓燕站在门口:“先别安排。那台机器多大?风扇响不响?她晚上睡觉的时候不能一直开着。”

“不放她房间。”李波说,“书房再挪一挪。”

“书房已经走不开了。”

晓雨蹲在桌子下面量了量:“我不怕响。”

“你连爸爸买的是什么样都没见过。”陈晓燕让她先去写作业,转头问李波,“一台旧电脑检测一个星期,还没检测完?”

“硬件没坏。我在试一个网络程序。”

“就是上次那份白皮书?”

“嗯。”

陈晓燕看着他:“你准备把那个网络接到家里?”

“先不接。程序刚发布,我放在外面试,确认没有明显问题再说。”

“所以你买电脑,不是给晓雨用的。”

李波停了一下:“测试结束以后,她可以用。”

陈晓燕没有责怪,只把晓雨装好的纸箱重新放回桌上:“那你自己跟她说,别让她每晚等你把电脑搬回来。”

午饭时,李波告诉女儿,旧电脑还要再试一天。晓雨问,明天能不能装画图软件。他答应可以,并说晚上七点半以前把机器带回家。

“说好了?”晓雨问。

“说好了。”

星期六下午,他去维修店时带了一只新的移动存储盘。

按照说明,源币的控制权保存在钱包文件里。丢失文件,别人无法替他恢复;文件被复制,复制者便可能转走其中的余额。李波生成了第一个收款地址。地址没有写他的姓名,转错却只能由他自己承担。他把钱包备份到存储盘,再拔下来放进公文包内层。

他没有在文件名里写“源币”,也没有上传到邮箱。

论坛上正在进行小额转账测试。灰盒说自己通过早期计算得到了一些源币,愿意向已经同步完成的新节点发送两枚,条件是收到后至少转出一枚,以确认签名、广播和记录流程都能工作。

帖子下面有人问:“两枚值多少钱?”

灰盒回答:“没有报价,也没有商家承诺接受。这里只测试网络。”

李波把自己的收款地址贴了上去。

十分钟后,客户端出现一笔待确认记录:两枚源币,发送方是一个陌生地址。

那两个单位没有进入银行账户,也没有任何机构发来通知。它们只是出现在这台电脑保存的记录里,同时被广播给其他几个节点。

李波在论坛回复:“已看到,尚未确认。”

灰盒说:“等下一组记录。不要把待确认当成完成。”

李波等了十二分钟。

连接数在一和三之间变化。某一刻,客户端收到一组新记录,那笔转账后面多了数字一。

第一次确认。

李波没有感到自己得到了财富。两枚源币此刻换不来一顿饭,也没有人保证它明天仍能存在。可那笔记录确实经过了几个陌生节点的共同检查,没有银行,没有远川,没有任何人询问他的职位。

他准备把其中一枚转出去。

“渡口”也在测试帖里留下了地址。正是这个账号在几个月前问:没有担保人,陌生人还能怎样相信彼此。

李波把收款地址逐位核对,又复制到一个空白文本里比较前后字符。这是他第一次把自己的余额发给一个从未见过的人,担心转错,检查了三遍才点击发送。

客户端要求钱包签名,随后显示交易已广播。

一枚源币从“旧模型”的地址发往“渡口”。没有人审核用途,也没有撤回按钮。

渡口几分钟后回复:“看到了。还在等确认。”

李波看了一眼时间。晚上八点二十。

出门前,他答应陈晓燕七点半回家。晓雨想把旧电脑搬到自己房间,陈晓燕不同意,三个人约好晚上一起决定放在哪里。李波原本以为,完成一笔转账只需要几分钟。

他拿起手机,发现已经有两个未接来电。

正准备回拨,老范从前面喊:“李老师,九点我得关门。今天家里有事。”

“再等一组记录。”

“你昨天也是这么说的。”

李波看着屏幕。那笔转账仍然显示待确认。

他可以关机,交易已经广播给其他节点,并不要求自己的电脑一直在线。可他想亲眼看到结果。他不知道下一组记录要等两分钟、十分钟,还是更久。

八点三十六分,客户端接到新的数据。

“旧模型”发给“渡口”的一枚源币后面,出现了第一次确认。

渡口在论坛回复:“收到了。”

只有三个字。

李波把交易编号记进自己的测试记录。在“结果”一栏,他写:按当前客户端规则确认一次。随后又补了一句:不代表对方身份真实,不代表交易公平,不保证未来可用。

写完,他觉得这很像远川报告里的风险说明。

区别只在于,这一次没有上司要求他删掉哪一行。

手机再次响起。

屏幕上的连接数量刚从二变成三。旧电脑的风扇持续转着,一组新的记录正在被本地程序检查。

李波接起电话。

“你还在维修店?”陈晓燕问。

“嗯。”

“电脑不是已经修好了吗?”

“刚刚把要装的东西试完。”

电话那边安静了一下。李波听见晓雨在远处问,是不是爸爸。

“我们已经吃过了。”陈晓燕说,“晓雨把桌子清出一半,一直等你回来放电脑。”

“我现在关机。”

电话那头停了片刻。

“你什么时候回家?”

虚构声明

《链》是一部虚构小说。文中人物、机构、政治共同体、城市、货币、技术及事件均为文学创作;如与现实中的名称、人物或事件相似,纯属巧合。作品不构成任何投资、法律或技术建议。

订阅《链》:https://www.790427.xyz/subscribe.html

链 #小说连载 #源币 #人工智能 #自由

文章皆为原创,转载文章请注明出处。人到中年,记录内心秩序、资产护航与数字能力。愿你莫白来。