2023年夏,李波收到周晓云转来的一张登记簿扫描件。海洲联邦的非公开会谈提议已经在上面停了十天,除了来函方、日期,只有“待决定”三个字。
周晓云没有替他回复,只在转发邮件里写了一句:如果你决定前往,先把身份和可签署范围写给对方。
李波当时正在研究所的资料室里整理临时工作组刚通过的章程。他把“独立报告人”抄在纸上,又在后面补了几行:不代表澜陆,不代表临时工作组,不代表源币用户或维护者;只记录公开同意的办理经过、会谈材料和自己的判断;不替任何一方承诺。
他把纸拍下来发给周晓云。过了一会儿,周晓云回了一个“收到”。
“你不劝我去?”李波打电话问。
“这是你的决定。”她说,“但如果你用别人的名义进去,回来以后每句话都会变成别人的承诺。”
李波看着窗外的树。夏天的叶子把资料室的玻璃映成一层晃动的绿。他本来打算不去,理由很容易写:非公开会谈无法让更多人同时核对,邀请方也没有说明要承担什么。可他又想到,没人去听,并不会让条件自动消失;会谈里关于托管、入口和责任的说法,仍可能以一份完整的记录传回来,写成“源币社区没有异议”。
他在回复里写:愿以独立报告人身份参加,不能代表任何组织、共同体、用户或源币社区;只能就公开材料和本人观察发言;不承诺签署未逐项审阅的条款。
对方第二天确认了时间和地点,附件里仍把他的身份写成“澜陆分层互操作工作组代表”。
李波没有直接点开确认按钮。他把那行字截出来,回信要求更正。
接待处的工作人员打电话来,说邀请名单已经提交,改称可能会影响访客牌的制作。“代表”只是便于系统分类,不代表你真的替谁作决定。
“牌子上的称呼会被带进记录。”李波说,“请改成独立报告人。”
对方沉默了几秒。“如果没有代表身份,我们无法安排部分会谈席位。”
“那就只安排我能进入的席位。”
他在资料室里等了一个下午。傍晚,新的确认函发来,标题改成:李波,独立报告人,访客。附件的会谈内容仍然不公开,签署权限一栏写着“无”。
他把确认函打印出来,连同周晓云发来的章程一起放进帆布包。包里没有任何工作组印章,没有共同体名单,也没有能代别人签字的空白纸。
海岬城的旧金融区靠着一段低矮的海堤。李波抵达时,潮水刚退,石墙缝里留着暗色水痕。这里过去聚集过许多结算所和保管行,门楣上的旧字还在,底层窗口却换成了厚玻璃和窄窄的预约口。新来的机构把办公地点设在修过的老楼里,门口的铜牌没有写行业名称,只写“跨域服务责任协商处”。
前台给他的访客牌做得很快。李波接过来,看见白底黑字的一行:澜陆分层互操作工作组代表。
“这不是我的身份。”他说。
前台抬起头。“系统里只有这个邀请类别。”
李波把自己打印的确认函放在桌上。“确认函已经改了。”
前台翻了翻邮件,又叫来一位负责会务的人。那人穿着没有标志的深色外套,先向他道歉,说旧名单没有同步。他问李波是不是至少可以在会谈纪要里被列为工作组观察员。
“观察员也要写清楚我不替工作组发言。”
“那我们写独立报告人,访客,不具备代表和签署权限。”
“请把这两项一起写。”
新的牌子在打印机旁等了几分钟。李波没有催。他看着门外几位拿着相同文件袋的人进出,想到一场会谈还没开始,谁能代表谁已经先被一台系统替他们安排好了。
拿到改好的牌子后,他用手机拍下正反面。背面印着会谈材料不得带离、发言不自动形成承诺,签署另行确认。没有一句话能把他的身份扩大,他才走进旧楼。
会谈室在旧楼三层,窗外能看见海堤背后的仓库屋顶。墙上的木饰面被潮气顶起一小块,桌上摆着几杯没有人碰的温水。
邀请方先介绍在场的人。岑岳负责跨域服务安排,许澄负责故障和申诉记录,梁屿是协议开发者,顾远则以本地维护者身份坐在靠门的位置。顾远进门前已经说明,他不代表澜陆,也不代表任何源币用户;他愿意把自己维护过的入口情况说清楚,涉及别人的部分不替人作答。
岑岳没有把提案说成一项轻松的交换。
“如果我们接受海洲对结算和托管服务的制度承认,”他说,“就要承担一套可以被找到的责任。服务中断时谁发布说明,欺诈争议由谁收件,储备核对需要多久,误处理以后怎样申诉,有限赔付由哪一类事件触发,都要写进承诺。没有持续维护、记录和资金安排,承认只是牌子。”
许澄把一叠故障记录推到桌面中间。记录里有夜间入口停止响应、跨域资料延迟、托管服务暂停提取,也有用户把同一份凭证交给两个窗口以后发生的争议。她指出其中几页,说如果任何人都能用一个不留名的入口承接结算,机构就很难确认哪些损失属于自己的处理范围。
“我们担心的不是开放本身。”她说,“我们担心出了问题以后,所有人都能说自己只是转发者。最后找不到一个愿意接电话的责任人。”
李波翻到提案的第二页。上面写着,获得海洲承认的正式结算和验证入口,应由通过审查的机构运行;相关托管私钥由指定机构控制;跨域入口由列入名单的服务方维护;机构对受理、暂停、申诉和有限赔付负责。
“这几件事为什么必须绑在一起?”他问。
岑岳没有马上回答。他把手边的笔转了一圈。“因为我们要对外承担同一件事。用户从结算入口进来,遇到暂停会问托管方,遇到验证差异又会问节点。若钥匙、入口和记录分别在不同的人手里,责任就会互相推。”
梁屿翻到技术附件,指着一张功能关系图。“从协议角度,它们可以分开。个人可以运行验证程序,托管服务可以使用另一套密钥管理,跨域受理也可以由单独的服务完成。把它们放在同一个承认包里,是为了便于安排责任,不是代码要求必须这样。”
许澄看着他。“如果出了欺诈争议,你能保证那三个服务方在同一时间回应吗?”
“我只能说明接口怎么连接,不能替他们签责任。”
“所以我们才需要一个承担责任的机构。”
顾远把手伸向那张关系图。“承担责任有道理。可如果为了让人找到责任人,就规定所有正式入口都只能由少数机构运行,后来大家找谁退出?”
岑岳说:“个人节点仍然可以运行。我们没有要关掉基础链。”
“但它不再被海洲承认为正式结算或验证入口。”顾远指着提案,“如果公共服务和跨域受理只认被承认的节点,个人运行在技术上存在,现实上却只能旁观。”
岑岳没有否认。“制度承认不是技术上的唯一可行。它是我们能承担的范围。”
这句话让房间里安静了一会儿。李波把它写进记录,标成岑岳对提案目的的说明,没有改成自己的结论。
午后休息时,工作人员把几位受邀说明经历的人请到旧楼后面的窄厅。海风从没有关严的窗缝里进来,吹得桌上的同意说明一角一角翻起。
其中一人先向李波确认:“你是记录人?”
“独立报告人。你愿意说的部分,我会按你的授权记录。”
对方递来一张折好的纸。纸上只有两句:同意公开办理经过,不公开地址、账户及服务商内部编号;不代表其他托管用户,不授权任何人替本人作制度承诺。
“我叫不叫名字都可以不写。”他说,“我只想把发生过的事留下。”
李波把姓名栏留空,让他自己决定称呼,最后只按“受损用户甲”记录。
这个人曾把几个月的工作报酬放在一家跨域托管服务里。那段时间,账本上的记录一直能查到,转入和确认的时间也没有消失。服务商后来因为储备核对和一宗欺诈争议暂停提取,页面还可以打开,用户却不能从自己的托管余额里取出任何东西。控制私钥的不是他,他也没有另一把可以独立取回的钥匙。
“暂停之前,你知道会有这个条件吗?”李波问。
“说明里写过可能暂停。”对方说,“没写暂停以后我该等谁的回信,也没写旧损失怎么处理。”
“旧损失具体指什么?”
他把手指放在纸边,没有讲数额。“第一次暂停前,有一笔已经确认的提取请求没有完成。服务商说要等核对,后来又说要看争议处理。我的记录还在,可我不知道这笔损失是被延后、被拒绝,还是已经有人承认它属于赔付范围。”
“你希望会谈决定什么?”
“我想知道三件事。旧损失由谁解释;暂停以后还能不能拿回来;如果我不想再把钥匙交给原来的服务商,怎样退出。”
他说到最后一句时,窗外一辆货车经过,车厢的铁门震了一下。
许澄接过他的说明,回答得很谨慎:“如果服务方获得制度承认,我们可以让它设立申诉窗口,按公开的事件范围提供有限赔付。提取暂停期间,用户会收到状态更新和预计复核时间。”
“如果我不接受你们的服务呢?”
“那要看承认规则有没有给出转出路径。”
“谁来决定有没有?”
许澄看向岑岳。岑岳说,涉及托管责任的机构必须先确认请求来源、争议状态和储备状况,不能在账目没有核对完之前把所有提取都放开。机构愿意承担一部分可确认的损失,却不能承诺任何情形下都即时赔付。
受损用户点点头。“我理解你们要核对。可核对的时候,钥匙还在你们手里。我要申诉,是找暂停的人;我要退出,又要先请暂停的人放我出去。这个顺序谁来改?”
没有人立刻回答。
李波没有把这段话写成控诉。他在记录里注明:受损用户同意公开办理经过;对方未授权公开地址、账户和服务商内部编号;问题集中在既有损失、暂停后的取回可能及退出路径,不代表所有托管用户。
回到旧楼外的装卸平台,顾远正和本地维护者田实蹲在一台小设备旁。田实的手指上有机油,设备外壳缺了一角,屏幕只显示公开验证进度。
“它能跑吗?”李波问。
“个人节点可以。”田实说。他敲了一下外壳,进度条慢慢往前挪,“基础链的程序是开放的。我没有托管私钥,也不能替公共入口处理请求,但查记录、验证签名,技术上都做得到。”
“每天都能做吗?”
田实笑了笑。“我白天修设备,晚上还要送孩子去上课。出问题的时候,我不一定接得起电话,也没有办法先替别人赔付。”
顾远把一只纸杯放到水泥台上。“这就是他们担心的地方。开放代码让人有机会运行,不会凭空给你电力、时间、备用设备和处理争议的能力。”
田实点头,又说:“可担责也不该等于把基础协议的钥匙、所有入口和别人的退出按钮一起拿走。”
梁屿从楼里出来,手里还夹着技术附件。“田实的节点可以继续验证,顾远说的本地转发也能独立存在。机构专属这个词,如果放在提案里,指的是获得制度承认的正式结算或验证入口,不是说个人节点突然变成不能运行。”
顾远指着旧楼里的玻璃门。“现实上,公共服务只认那几扇门,其他节点再能跑,也只能在门外证明自己。”
梁屿说:“这正是条款需要说明的地方。托管和节点没有技术上的必然绑定,受理与暂停也可以由不同模块承担。把它们写成一项机构资格,是资本方的权力安排和责任安排,不是协议自然推出来的结果。”
田实收起设备线。他没有说机构一定不可靠,也没有把自己的小设备说成足以替代所有服务。三个人在海风里把两件事分开:没人接电话的风险确实存在,承担这项风险也不能顺手获得所有人的入口和退出权。
那天晚上,李波住在旧金融区外的一间小旅馆。房间的窗户正对海堤,潮声被墙挡住,只剩一阵一阵的低响。他把受损用户的同意说明放在床头,没有把对方的简称写进自己的日记。
他给周晓云发去一段会谈摘要,特别标出三件尚未解决的事:机构是否只对自己的服务承诺负责,用户在托管暂停时能否得到不依赖原入口的取回路径,个人节点在技术上可运行却没有制度承认时,普通使用者能否看见它的验证结果。
周晓云回得很短:“把资本方真正承担的成本写清,也把他们要求拿走的权限写清。两边都不要替对方省略。”
李波走到楼下买水,前台正在替一位晚到的客人确认访客牌。那人问能不能先进去、材料明天再补。前台说没有完整身份范围就不能放行。李波站在旁边,想起自己早上为一个称呼等了几分钟。几分钟并不算大的损失,却足以让他明白,名称一旦错了,后面的记录就会沿着错的方向变得越来越顺。
回房后,他没有写总结,只在报告首页下方留了一句:责任可以有承接人,入口仍要保留可核对、可转移和可退出的可能。
第二天上午,会谈没有从头复述前一天的提案。岑岳把一份改过的条款放到李波面前,说他们根据前一天下午的经历说明和技术异议,准备把责任写得更具体。
第一版写的是:经海洲承认的机构可以提供正式结算、托管及验证服务。
第二版把“可以”改成了“应当”,并加上:只有经承认的机构能够运行获制度承认的正式结算和验证节点。个人节点仍可在公开基础链上运行,但其输出不得作为海洲正式结算的依据。
顾远读到这里,抬起头。“你们说没有要关基础链。”
“没有。”岑岳说。
“可你们把被承认的门都收到了机构手里。”
“门要有人负责。”
“负责和拥有全部门禁,不是同一回事。”
许澄把后面的责任段指给他看。机构要保存运行日志,接受审计,设立申诉窗口,对明确属于服务范围的损失承担有限赔付;若发生储备核对、欺诈争议或重大故障,机构可以暂停受理和提取,但要按规定发布原因、复核时间和恢复条件。
“这些要求并不过分。”顾远说,“小维护者确实做不到每次故障都补偿。”
“我们也没有把小维护者当成坏人。”许澄说,“只是对外提供正式服务时,必须有一个可以被追究的主体。”
李波问:“暂停以后,用户能不能把已经确认的记录转到另一个入口?”
许澄看向条款最后一段。那一段是今早新加的:在暂停及争议核对期间,托管私钥、受理入口、暂停权限和获承认节点的运行权限,由同一承责机构集中维护;用户的转出请求须经该机构按内部复核程序确认。
“如果承责机构就是暂停的人,”李波说,“退出请求也要回到它那里。”
“否则谁来保证转出的不是争议中的重复请求?”许澄问,“我们可以规定最长复核时间,也可以规定审计和赔付。不能让互不认识的入口同时处理同一笔请求。”
“你们可以把复核交给独立的审查方。”
“审查方也需要受理接口和完整记录。最终还是要有一个机构把资料交出来。”
这不是一句容易驳回的话。李波想起受损用户在窄厅里的问题:核对的时候钥匙在谁手里,退出时还要不要请同一个人放行。他在条款旁写下两列小字:责任集中,退出权也可能集中;审计和赔付不能自动解除单一入口。
梁屿把技术附件翻给大家看。他在一张功能图上圈出四个相互独立的模块:公开验证、跨域受理、托管密钥和暂停处理。
“程序允许它们分开运行。”他说,“我们也可以设计一个机构只负责受理,另一个服务方负责托管,验证节点由个人和机构共同运行。现在的条款把四项放在同一项资格里,是为了让承认方更容易管理和追责。”
岑岳说:“这正是我们要的稳定边界。分开以后,出错时每家都会说问题在另一家。”
“把边界写清楚,也能追责。”梁屿说,“把权限收在一处,只是让追责对象更容易找,同时让其他入口更难进入。”
岑岳没有发火。他从窗外收回目光,海堤上有几个工人正在给旧栏杆刷漆。“我们之前有过一次连续故障。没人否认协议还在运行,可用户要赔付时,三家服务方互相转材料。那几天没有人想听到‘技术上可以分开’。”
李波把这段说明记进会谈记录。他没有替资本方改写成借口,也没有让它成为必须接受集中权力的证明。能源、故障、欺诈争议和储备核对都是真问题,机构愿意承担有限赔付也是真成本;问题在于,为了应对这些成本,谁被允许握住哪些权限。
午后,受损用户被请回来确认记录。李波把自己的文字念给他听,没有念地址、账户和服务商内部编号。
“这里写的是你同意公开办理经过,不代表其他托管用户。旧损失、暂停后的取回和退出路径各作为一个问题。”李波说,“这样可以吗?”
“可以。”对方说,“但别写成他们已经答应赔付。”
“条款还在谈。”
“那就写还在谈。我要的是以后有人不能说我只是在抱怨。”
他在同意页上签了简称,旁边写下日期。许澄也确认,现有提案只说明有限赔付的责任框架,没有承诺这笔旧损失已经获得认定。那位用户收起自己的复印件,没有留下地址,也没有留下任何账户信息。
顾远在走廊尽头等李波。他把一份小维护组的公开说明递过来,里面写着:本组可以继续运行个人验证节点,不能作为海洲承认的正式结算入口;若服务暂停,本组不持有托管私钥,也不能替用户取回资产。
“这就是他们说的开放。”顾远说,“能运行,但不一定能被看见。”
“你希望条款怎么写?”
“我希望它承认,技术能力和制度资格是两件事。小组可以承认自己接不起赔付,不代表机构就可以把所有承认条件写成只有自己能满足。”
李波没有问顾远是否愿意签一份反对声明。那会把复杂的问题压成一个阵营。他只记下顾远愿意继续公开运行和说明局限,不授权任何人替本地维护者作制度承诺。
傍晚,海岬旧金融区的灯一盏一盏亮起来。会议室里有人继续修改赔付范围,有人核对审计频率,也有人要求把暂停原因分成故障、欺诈争议和储备核对三类。没有人宣布会议结束,更没有人宣布条款通过。
李波坐在最后一排,把自己的报告从头看了一遍。他在“事实”栏写:基础链仍开放,个人节点技术上可运行;托管服务、跨域受理、暂停处理和获制度承认的节点可以在技术上拆开;当前提案选择把它们交给经承认的机构集中承担与控制。
在“各方主张”栏,他写:资本方担心无明确责任主体、能源与故障成本、欺诈争议和储备核对;本地维护者担心机构责任被转成基础协议控制及他人退出权;受损用户要求旧损失有解释、暂停后有取回可能、退出不必先获得原托管方的恩准。
他把“机构化一定带来安全”删掉,把“集中一定是阴谋”也删掉。删完以后,报告没有更好看,却更接近这两天听到的声音。
会务人员把最后一页递给他。“这里需要独立报告人签字,表示你参加并认可这套责任安排。”
李波看向页尾。条款后段已经收紧成一句:只有机构能够运行获海洲承认的正式结算和验证节点;托管私钥、跨域受理、暂停决定及相关节点权限,由承责机构集中控制。
他问:“签字是确认我读过,还是确认我同意?”
“作为会谈参与者的确认。正式采纳还要走后续程序。”
“但这句话会被引用。”
“我们可以在页脚加上‘不代表任何其他方’。”
李波拿起笔,笔尖停在签名处,没有落下去。他把那张更正过的访客牌放在条款旁,牌子上的“独立报告人”被灯光照得很白。
他在旁边另起一行,写得比条款更清楚:
独立报告人拒签此条。
理由不是机构不该承担公共责任,也不是个人节点能够单独处理所有故障;承担公共责任,不等于取得单一入口和他人退出权。技术上可以拆开的托管、受理、暂停和节点权限,被制度安排收在少数机构手里,这项安排需要各自的授权与公开审查,不能由报告人的签字替代。
会务人员看了那行字,问:“你这是反对继续谈吗?”
“我只拒绝替自己没有权限承诺的条款签字。”李波说,“谈判可以继续。我的报告也会把这项拒签放进去。”
岑岳从桌子另一端走来,读完以后没有要求他删掉。“我们会保留异议。责任安排如果不能让人提出反对,也谈不上承认。”
许澄把条款收回去,说会把暂停期间的取回和退出问题带进下一轮核对。梁屿在技术附件上补了一句:机构专属资格属于制度条件,不是基础协议的技术必然。
李波签下自己的报告页,只确认记录来源、本人观察和拒签理由。他没有在机构责任、赔付承诺或节点承认旁边签名,也没有替顾远、田实、受损用户和源币社区写同意或反对。
离开旧楼时,潮水又漫过海堤下的石阶。前台问他是否需要保留访客牌,李波把牌递回去,只把那张写着“独立报告人拒签此条”的复印件放进包里。
海岬的会谈没有被他写成失败,也没有被他写成妥协。旧金融区的门仍亮着,下一轮材料会从哪一扇门递进来,还没有人替所有人决定。
虚构声明
《链》是一部架空近未来小说。文中的人物、国家、城市、机构、货币和事件均属虚构;源币受到公开数字货币思想的启发,但拥有独立的历史与规则。
订阅《链》:https://www.790427.xyz/subscribe.html