《链》25|第三种办法

2023年初,李波收到韩岚寄来的薄文件夹。

文件夹里没有新的结论,只有三个副本对同一个入口问题留下的输出、各自的权限说明、缺失来源和一段结构化字段:请寻找一种不要求任何一方放弃当前记录或权限的继续核对方法。

韩岚在第一页注明,这一行不能被证明是请求,也不能证明任何副本代表链源。李波把文件夹放在桌上,没有先读那句话。他把节点关闭令以来留下的公开材料重新找出来,在一张空白纸上写:如果没人被要求放弃记录和权限,一件事情怎样从一个入口走到另一个入口?

他写完,觉得问题还是太大,又在下面加了一句:谁负责解释,谁负责补救?

研究所的窗缝漏风,纸角被吹得一下一下抬起来。李波用镇纸压住它,开始把问题从“链源要怎样继续”改成“一个普通人遇到失败时,事情还能不能走完”。

三天后,周晓云给他打电话,说有一份经过删改的公共投诉可以引用。投诉人同意公开办理过程,不同意公开姓名、住处和任何账户信息。她把对方暂时称作孟秋。

孟秋在两个域之间做临时照护工作。年初,她要为照护从业登记办理本地续期,窗口只接受主权币缴费。她上一份短工的报酬用源币结算,记录已经在公开账本上确认;她手边的主权币余额不够,所以以为只需把这笔记录送到转换入口,再拿着回执去柜台。

转换入口当时没有关闭。页面上写着“受理中”,下一行却注明储备核对延后,新的转换请求按顺序等待。孟秋提交请求后,没有得到可以交给柜台的主权币回执。她拿着源币记录去了窗口。

柜台里的工作人员翻了翻她带来的纸。“这能证明一笔源币记录已经确认。”对方说,“不能证明公共缴费已经完成。我们只能按主权币的收款记录开具凭证。”

“那我等转换完成再来?”

“可以。但今天是最后办理日,过期以后要重新申请。”

“转换入口说还在受理。”

“那是它的受理状态。我们没有权限替它确认什么时候能给你结果。”

孟秋又回到转换入口的联系地址。值班的人说,源币记录没有消失,转换请求也没有被拒绝,只是储备核对没有完成,暂时不能承诺时间。孟秋问,公共柜台会不会因为她已经提交转换而保留期限。对方回答,公共柜台的期限由柜台决定。

她在两处之间来回了一次,最后错过了当天的缴费时间。后来她把经过写成投诉,不是要任何一方承认源币可以直接替代主权币,而是想知道:记录已确认、转换在等待、柜台不能受理的时候,谁应该告诉她下一步,谁可以把错过的时间补回来。

李波第一次见到孟秋,是在公共服务站旁边的一间小休息室。周晓云先问她哪些内容可以公开,孟秋把一张删去姓名的时间线放在桌上,只留下四个时间和三个入口名称。她没有带源币地址,也没有打开手机里的账户页面。

“你们写这件事,最后会不会变成‘转换不可靠’?”她问。

“目前材料只能说明那次转换在等待储备核对。”李波说,“这次材料不能证明所有转换都会这样。”

“那也别写成我只要换一种钱就能办好。”

周晓云把一张空白确认纸推到她面前。“你可以选择只让我们引用办理顺序和各入口的公开说明。以后你想撤回,哪一段被删、哪一段仍保留,也要记下来。”

孟秋在纸上勾了同意范围,随后问李波:“如果下一次我先去柜台,柜台说要主权币;我再去转换处,转换处说等核对;我还得回到柜台吗?”

李波答不上来。孟秋并没有等他的理论,她说:“我只想先知道哪一次回来不会白跑。”

那句话被他写在时间线旁边。它后来成了草案中“失败后的补救范围”一栏的第一句,而不是某一层的宣传语。

周晓云把投诉的删改版递给李波时说:“公共柜台没有做错它能做的那一层。转换入口也没有说自己已经完成。可她的事情还是在两层之间掉下去了。”

李波问:“后来谁解释?”

“柜台解释自己不接收源币记录,转换方解释储备核对延迟。没有人负责解释两句话接在一起以后会发生什么。”

“补救呢?”

“柜台给了她一次重新申请的机会,转换方把请求保留在队列里。两边都做了一点,谁也没办法把错过的那一天还给她。”

李波把孟秋的经历放到白纸左上角,没有写“案例一”。他不想让她成为论证里一个方便的数字。纸上只记了四个时间:源币记录确认,转换请求提交,柜台截止,重新申请。

他第一次写草案时,给这套想法起了一个容易理解的名字:统一结算层。

在他的设想里,源币记录、转换服务和公共柜台都接入同一层,任何一笔跨域支付都能在一个地方确认,用户不必自己解释中间发生了什么。他写到“彼此补足”时停了下来,觉得这句话很顺,也很像一个已经完成的方案。

周晓云看完第一页就问:“统一以后,谁对孟秋那天负责?”

李波说:“公共柜台负责公共服务,转换入口负责转换,源币负责记录。”

“你刚才写的是统一结算层。”

“统一的是接口。”

“接口一统一,责任会不会也被读成统一?孟秋拿着一张总回执去柜台,柜台是不是就要承担转换的储备?转换入口是不是就要为公共服务的截止负责?”

李波没有回答。

周晓云把那页纸推回去。“你得先把责任拆开,再谈它们怎样互相衔接。公共服务的责任不能跟着转换一起漂走。”

李波把“统一结算层”划掉,改成“三层责任”。

第一层是主权币责任层。这里的公共窗口不证明源币记录的历史,也不替转换服务承诺储备;它只为自己受理的收款、凭证、截止、退款和争议处理负责。柜台能够受理的,必须留下明确记录。

第二层是源币协议层。它保留无许可结算和既有供应规则,公开账本记录什么,就按原规则记录什么。源币记录可以被引用,可以作为转换申请的输入,不能因为被引用就自动变成公共柜台已经收款。

第三层是锚定转换服务。运营方提供一条可选择的转换路径,把源币记录换成可以提交给主权币责任层的凭证或余额;同时公开储备怎样核对、由谁托管、赎回按什么顺序、什么情况下暂停、争议由谁受理、用户怎样退出。它可以搭桥,不能替另外两层签字。

李波写到“桥”这个字,又觉得它太轻。他把后半句改成:转换服务承担转换过程中的承诺,不承担公共窗口没有授予的责任。

韩岚第二天来研究所,带着网络隔离期间留下的公开资料核对结果。她没有打开任何副本的本地权限,也没有让链源判断方案。她只拿出几张公开的版本说明,告诉李波,技术上至少要把四个记录分开:源币确认记录、转换请求记录、锚定币生成或赎回记录、主权币公共窗口收款记录。

“这四条记录可以互相引用。”她说,“但不能把一条的确认状态复制成另外三条都已完成。”

李波问:“转换完成以后,公共柜台能不能自动开凭证?”

“要看柜台是否授权这个转换入口提交凭证。没有授权,转换服务只能把自己的结果交给使用者,不能替柜台完成受理。”

“如果授权了呢?”

“仍然要标出责任转移点。柜台收到什么、什么时候确认、发生争议找谁,不能藏在适配器里。”

她在李波的草稿上画了一个小方框,里面写着“适配器”。

“不要把适配器画成一扇自动打开的门。”韩岚说,“它只是把字段按约定传过去。它不改变基础链,不替任何一层发命令,也不处理私人账户和密钥。”

李波把“自动完成”删掉,换成“在明确授权下提交待受理信息”。孟秋的那四个时间被他放到每一层下面:源币记录确认,并不等于转换完成;转换请求提交,并不等于公共缴费已受理;公共窗口确认收款以后,才有这一层自己的凭证和补救责任。

韩岚没有在这段话后停下来。她又拿出一组已经去掉个人字段的示例记录,让李波看适配器怎样传递同一笔事项。源币记录里有确认时间和公开编号,转换记录里有请求时间、当前状态和暂停原因,锚定币记录里有生成或未生成的结果,公共窗口记录里只有是否收到符合条件的凭证。

在一次试传中,适配器把“转换请求已提交”填进了公共窗口的“待收款”栏。字段名称看上去接近,含义却不同。韩岚当场把这条记录退回,让维护者重新标成“外部待确认”,并在日志里留下退回原因。

“如果这条不退回,会发生什么?”李波问。

“柜台可能把它看成已经进入自己的处理队列。使用者拿着这个状态再来,就会以为截止和退款都归柜台负责。”

“所以技术错误会变成责任错误。”

“有时只是一个字段错位,也会变成责任错误。”

韩岚把这次退回记录附在草案后面。她没有把适配器写成不可信的东西,也没有把它写成自动保险;只要求每次跨层传递都保留原字段、转译后的字段、转译时间和负责确认的人。

周晓云看见这几行时,先问孟秋的重新申请有没有新的结果。李波说,投诉材料只说明她后来重新提交,不能把结果写成已经解决。

“那就别写成解决。”周晓云说,“方案要能说明失败时谁给她一张可用的纸,而不是只在成功以后把四个状态串起来。”

她带李波去看公共服务柜台的交接簿。那里没有源币金额,也没有孟秋的账户信息,只有公开允许记录的状态栏:申请人何时到达,带来了哪类证明,柜台是否受理,若未受理,给了哪一种下一步说明。

工作人员指着一项空白说:“我们可以记录她来过,不能把这项写成缴费完成。”

“如果转换入口已经受理?”李波问。

“我们只能记录她提交了转换待确认材料。公共凭证要等主权币入账。”

周晓云在旁边补了一句:“但如果她在截止前已经提交了可核对的转换请求,柜台可以公开说明是否给延期、延期由谁确认、重新申请是否要重复准备材料。公共责任不能转给转换入口,公共窗口也不能把等待当成使用者自己的错误。”

李波在草案里加了一栏:转换失败或延迟时,公共窗口的说明和补救范围。

下午,源币维护者顾远来找他。他没有带设备,只带来一张被改过三次的入口公告。顾远在源币社区里维护公开转发和结算说明,过去曾经关掉代收代付,只留下查询。他知道李波正在写分层方案,第一句话就是:“你们是不是准备把转换做成新的唯一入口?”

李波说:“方案写的是可选择。”

“对有主权币的人,选择很多。对只有源币记录、又必须在本地柜台办事的人,转换可能是唯一能走到下一层的路。可选择这三个字,最后会不会只是让他自己承担等待?”

李波没有拿孟秋的名字回答。他把匿名时间线推给顾远看。

顾远读完说:“这件事里,源币记录没错,柜台也没法替源币背责任,转换又在等储备核对。你把三层画开,确实能让人知道掉在哪儿。可如果所有公共服务都只认转换后的凭证,源币的无许可结算就只剩下账本里的一行。”

“你希望公共柜台直接接收源币?”

“我希望方案别假装这两件事能自然互换。要么公共窗口公开它不承担源币责任,给出可执行的替代和等待办法;要么有人明确承担转换的责任,不能让使用者自己去猜。”

顾远把公告折回去。“还有,转换服务不能写成中立的管道。它要是暂停,谁先知道,已经排队的人怎么办,新来的人能不能退出?”

这正好落在李波草案第三层的空白里。

他去找一家正在运行锚定服务的运营方。对方叫叶澄,办公室不大,墙边放着几只装资料的箱子。她没有给李波看后台,只把允许公开的储备核对页、托管说明、赎回顺序、暂停规则和争议联系地址打印出来。

“我们不把储备写成一个永远不变的数字。”叶澄说,“每次核对有时间,核对由哪一份公开报告支持,也要写出来。托管方的报告晚了,或者储备来源暂时不能交叉确认,新转换会暂停。”

“已经提交的请求呢?”

“按提交顺序保留状态。没有生成锚定币的请求,仍然是等待中的转换请求;已经生成的,按公开赎回顺序处理。暂停不等于自动完成,也不等于请求已经消失。”

“如果使用者不同意等待?”

“在转换尚未完成前,可以申请取消,源币记录回到原来的状态。转换已经完成以后,退出要按赎回和托管规则处理,不能保证即时。”

叶澄把一页争议处理说明递给他。里面写着,锚定服务可以处理转换状态、储备披露和自己的托管责任,不能决定公共服务窗口是否受理,也不能把源币协议改成另一套供应规则。

“有人会把我们当成入口。”叶澄说,“因为大家要跨过公共窗口,确实得从这里走一段。可入口越重要,越不能把暂停条件藏起来。”

李波问:“孟秋那种情况,如果转换晚了,你们能补回她错过的截止吗?”

叶澄摇头。“我们可以公开她的转换请求何时提交、为什么延迟、是否可以取消。公共窗口的截止不由我们决定。我们不能把自己的补偿写成公共服务的延期。”

几天后,叶澄所在的服务商暂停了新的转换。托管方的公开核对报告晚了,储备来源也暂时无法由另一处资料交叉确认。查询页仍然开放,“新请求暂停”“已有请求排队”“尚未生成锚定币的请求可申请取消”三种状态被放在最前面。

孟秋的原始请求仍在队列里。她可以看到提交时间和暂停原因,却没有因此获得公共柜台的延期。叶澄给她出具的是转换状态说明,柜台能给的是重新申请和是否延期的说明。两张纸都是真的,合在一起仍然不能把错过的日期改回去。

李波问叶澄:“如果她取消转换,源币记录会不会被认为已经用过?”

“不会。尚未完成的转换只保留请求状态。取消以后,源币记录还是源币记录。”

“如果她不取消,之后储备核对通过,谁告诉她可以去柜台?”

“我们告诉她转换完成。柜台还要按自己的受理规则通知她。”

叶澄把两种通知放在不同的信封里,没有让李波替她们合成一张总回执。李波看着桌面上三张日期不同的纸,想到孟秋说的“哪一次回来不会白跑”。方案若只把状态分得很漂亮,仍可能把下一次往返交给她自己。

韩岚帮他检查适配器的公开字段时,指出一处更细的错误。李波写的是“转换成功后,公共服务即可办理”。

“谁说成功?”韩岚问。

“锚定服务的生成记录。”

“那只能说明锚定服务完成了自己的动作。公共柜台还要确认它是否在授权范围内,以及这份凭证是否满足自己的收款条件。”

她把“即可办理”改成“可提交至公共窗口,由公共窗口按自身条件确认”。

“读起来更慢。”李波说。

“事情本来就有两步。写快了,只是把第二步藏起来。”

李波把孟秋的四个时间重新排成三条路:只提交源币记录,申请锚定转换,或者在另有主权币的情况下直接缴费。他没有在任何一条后面写“可用”,只标出每个入口能够出具什么记录、下一次更新时间和取消后会留下什么。三条路都不能让错过的日期重新出现。

周晓云随后把孟秋投诉中允许公开的四个时间带到一处本地公共服务站,请工作人员按现有规则试填一次。她请对方在草案上评估“转换待确认”能否作为到场记录、能否用于判断延期和是否需要重复准备材料;这不是新增正式字段,也不代表方案已经获得澜陆共同体批准。

柜台工作人员问:“如果以后正式采用,转换最终没有完成,我们要把这项记录保存多久?”

“先把你们现有规则允许的期限写出来。”周晓云说,“不知道的地方留空。保存不等于承诺缴费完成,也不等于把转换责任接过来。”

工作人员试填的那一行没有让柜台接受源币,也没有让锚定转换服务替柜台承担期限。它只证明现有交接簿可能容得下比“请重新申请”更多的说明。李波把评估结果附在三条路径之前,并注明它只供本地这处柜台审查参考,不约束其他共同体。

他把改过的三条路径拿给孟秋看。她没有问哪一条最省事,只把手指放在第二条的“取消路径”上。

“我取消以后,柜台会知道我已经等过吗?”

“按现在的草案,柜台能看到到场和提交待确认材料的记录。转换取消的状态要由转换服务公开。”

“那我还是要分别解释。”

“是。”

孟秋又看了第三条。“我手上没有主权币的时候,这条不能算我的备用办法。”

李波在页边把“另行完成主权币缴费”改成“若使用者另有可用的主权币支付条件”。他没有把这条路径删掉,也没有把它写成每个人都有的选择。

孟秋把纸还给他。“这样才像我那天遇到的事。不是三条路都能走,是我得先知道哪条路对我开放。”

李波把这句话放进公共利益审查的说明里,注明路径是否可用要结合使用者当时的支付条件,不能只看协议有没有提供接口。

他又添了一行:能在规则里找到,不等于在截止之前有条件走到。

李波把“彼此补足”四个字从草案里整段划掉。他在旁边改写成一组字段:责任层、输入记录、确认动作、截止时间、暂停条件、争议联系人、退出路径、失败后的补救范围。

他原本想在字段后面写“各层互相支持”,最终只写了“各层可以在明确授权下引用彼此的记录”。

周晓云第三次看草案时,带来一张退回单。她没有评价整体方向,只拿铅笔逐项指着空白。

“主权币层的公共责任由谁签署?没有名字,只有‘公共窗口’四个字。”

李波说:“可以由具体窗口补。”

“正式方案不能把最重要的签名留给以后。这里先空着,标明待签署。”

她指向技术部分:“适配器的字段可以列出来,但你没有技术核对。谁验证转换请求没有把源币确认直接改写成公共收款?谁核对暂停时的取消路径?这里标待技术核对。”

再往下是孟秋的时间线。

“你写了三条路径,”周晓云说,“可第一条对没有主权币的人仍然只是登记和等待,第二条有储备核对的门槛,第三条假定他手边有主权币。公共利益审查要问:谁被留下,谁要多跑一趟,谁承担转换暂停,谁能真正退出。这里标待公共利益审查。”

李波说:“这样一来,方案看起来像没有完成。”

“它本来就还没有完成。”

周晓云把退回单压在草案上。“你可以把源币、主权币和锚定币放在同一张图里,但不能用一张图替它们签字。也不能让‘可选择的转换’在公共服务只接受一种凭证时,悄悄变成唯一入口。”

她把草案推回去,最后一行写得很清楚:把它变成一份可以逐项审查的正式方案。

李波没有马上拿笔。他看着文件末尾三个空栏:待签署,待技术核对,待公共利益审查。韩岚的公开字段还附在后面,叶澄的暂停规则没有被改写,顾远的质疑也没有被归入反对意见。

他把“第三种办法”写在标题页上。这个名字不是说三层终于找到了一个共同答案,只说明在单一入口和各自隔绝之外,还可以先把责任、记录和退出路径分开,再决定哪些地方能够接上。

周晓云收起退回单,没有宣布方案通过。

李波把孟秋的四个时间留在第一页,合上文件夹,又重新打开。他没有替任何人填写签名,只把三个空栏各自拆成了一串需要回答的问题。

虚构声明

《链》是一部架空近未来小说。文中的人物、国家、城市、机构、货币和事件均属虚构;源币受到公开数字货币思想的启发,但拥有独立的历史与规则。

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

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

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