摘要

  • 2020 年 10 月 9 日公布的 ARIN 与 APNIC 意见,针对的是 Draft 2/Draft 3 中要求来源方遵守接收方 RIR 政策的一句话;Draft 4 已改动相关文字,因此这批意见能够证明旧句存在真实问题,却不能单独证明 Draft 4 兼容或不兼容。
  • 一项可成立的跨 RIR 兼容性上诉理由,需要一张受版本控制的证明矩阵:逐项锁定被挑战条款、提案版本、转移方向、资源类型、对方当时有效的规则、带日期的对方解释、可预见的运行后果,以及该缺口与被挑战决定之间的实质关联。
  • 2021 年 12 月 23 日,Appeal Committee 因最终审查阶段的程序错误撤销 10 月 7 日决定;它没有认定 Draft 4 不兼容,也没有确认异议书中的全部实体指控或偏颇指控。
  • AFRINIC 在这里是私人技术记账人和协调者。兼容性审查可以保护登记、唯一性和转移衔接,却不会因此赋予 AFRINIC 主权、立法、监管、警察、检控、惩罚、没收或公法裁判权力。

兼容性最容易被写成一个形容词,仿佛一份草案只要被贴上“兼容”或“不兼容”,争议就结束了。但区域间号码资源转移并不是形容词的比赛。它是一条必须由两端共同执行的工作流:一端核验来源方是否有权处分资源、资源是否存在争议、来源方是否满足当地条件;另一端核验接收方的资格、需求与登记要求;双方还必须就资源类型、登记状态、时间点以及交接信息形成可以落地的衔接。任一端所读到的条款、所使用的规则版本或所理解的义务不同,纸面上近似的政策也可能在执行时卡住。

正因为如此,上诉中的兼容性理由不是“曾有人担忧”的同义词。它是一项证据主张:某个确定文本,在某个确定时点,与另一个注册局当时有效且由其解释的工作规则不能同时满足;这种不能同时满足并非边角歧义,而是足以动摇共识判断、最后审查结论或提交批准决定的实质问题。上诉人要搭起的是这条完整链条。缺少其中任何一环,审查者看到的都可能只是旧版本问题、未核实猜测、抽象风险,或与被挑战决定没有因果联系的政策意见。

这一点在 2020 年记录里格外鲜明。9 月 17 日,在 AFRINIC-32 上,共同主席是在指定修改条件下宣布有条件的粗略共识。9 月 21 日的总结把该提案描述为三个竞争性转移提案中争议较少的一项,同时承认一个与 ARIN 有关的遗留资源互惠顾虑,并宣布进入最后审查。9 月 23 日,作者提交更新版本后,一位共同主席确认收到 Draft 3,表示将检查互惠性,并请 AFRINIC 工作人员协助。到 10 月 5 日,官方存档的 Draft 4 页面记录了 5.7.3.1、5.7.3.2、5.7.4.1 和 5.7.5 等处的改动。10 月 7 日,共同主席宣布原有共识在最后审查结束时仍然成立,将建议批准。两天后,10 月 9 日,工作人员才公布来自 ARIN 和 APNIC 的部分兼容性反馈,并说明已联系其他四个 RIR,还会继续更新并核对最新版本。10 月 20 日,Alain Patrick AINA 在异议书上署名,并列出 Marcus K. G. Adomey、Vivien Assangbe Wotto 与 Mirriam Lauren 三名支持者。

这些日期不是为了把文章写成流水账,而是为了回答两个证据问题。第一,共同主席在作出 10 月 7 日决定时,手中究竟有哪一版外部意见?第二,10 月 9 日被公开的意见,究竟审查了哪一版条文?若决定先于公开反馈,而反馈引用的句子又不在最终被挑战版本中,就不能把“有外部意见”当成已经完成了 Draft 4 兼容性审查。时间与版本必须同时对齐,否则证据会在表面上存在、在证明力上却错位。

旧意见与新文本之间的断口

ARIN 的意见针对 Draft 2/Draft 3 的一句来源方义务:来源方需要遵守接收方 RIR 的政策。按 10 月 9 日工作人员所转述的解释,这种写法可能要求 ARIN 区域的来源方去遵守 AFRINIC 的政策,因此被认为不能衔接。APNIC 指出的也是 Draft 3 中同一问题。这里有一个必须保留的肯定结论:对方注册局不是在讨论纯粹措辞美感,而是在指出工作流中的真实责任错置。若来源端与接收端各自要求一个主体服从对方辖域式的流程,执行人员就可能无法判断应由谁核验、按哪套条件核验,交易也可能因互不相容的前置条件而停住。

但同样必须保留否定结论:这两项意见不是对 Draft 4 的判定。Draft 4 的 5.7.3.1 要求来源方是任何 RIR 登记资源的当前合法持有人,且资源不在争议中;它已不再包含 Draft 2/Draft 3 那句要求来源方遵守接收方 RIR 政策的文字。Draft 4 还规定,转入 AFRINIC 的接收方须依据 AFRINIC 政策证明需求,而从 AFRINIC 转向另一 RIR 的转移则遵循相关政策。这些文字是否消除了全部衔接问题,仍需按方向逐项检查;但已经删除旧句这一事实,足以阻止审查者把针对旧句的反对无缝粘贴到新文本上。

因此,严谨的说法必须同时拒绝两个诱惑。其一,不能说“ARIN 与 APNIC 已判定 Draft 4 不兼容”;封存记录不支持这句话。其二,也不能说“既然 Draft 4 删除了旧句,它当然已经兼容”;删除一个已知冲突,并不自动证明剩余条款与每个对方流程都能配合。旧意见证明旧句的缺陷,版本变更切断了它对新文本的直接证明力,而封存材料中又没有一份覆盖所有对方注册局、明确测试 Draft 4 的定论。这不是把未知包装成中立,而是准确标示证据能走到哪里、不能走到哪里。

同样,RIPE NCC 或 LACNIC 在封存记录里没有给出结论,绝不等于它们以沉默确认兼容。工作人员称已联系所有四个其他 RIR,称现有资料只是部分反馈,并预告后续更新和最新版本一致性检查。就这份封存记录而言,没有找到带日期且明确以 Draft 4 为对象的完整对方回复。这里能得出的只是“记录未封存结论”,不能把资料缺口升级为任何一方的肯定表态。

兼容性证据的第一条规则,于是可以说得很朴素:意见必须跟着它实际读过的文本走。外部回复应在标题、正文或附表中写明提案编号、版本号和被审查条款;若草案后来修改,旧回复应被标为“已被后续版本取代”“仅适用于旧版”或“待对方确认修改效果”,而不是继续挂在卷宗中,以一种似乎支持最新版的模糊身份存在。版本号不是档案装饰,而是证据可用性的边界。

异议自带版本号

若把一项跨 RIR 兼容性异议写成可复核的证明对象,它至少要有八个彼此连接的格子。第一格是被挑战的 AFRINIC 条款,不能只写“转移政策”。第二格是该条款所属的不可变版本,最好附生成时间或文本哈希,以免网页随后更新。第三格是转移方向,例如从 AFRINIC 转出或向 AFRINIC 转入;同一句“遵循相关政策”在两个方向上的执行主体并不相同。第四格是资源类型,IPv4、ASN 与带有遗留状态的资源不能自动共用结论。第五格是对方注册局当时有效的确切规则及生效日期。第六格是对方注册局带日期的解释,说明其运营团队会怎样处理该组合。第七格是冲突的运行后果,例如哪一方无法完成资格核验、登记或交接。第八格是实质关联:这一后果为什么会改变共同主席对未解决异议、粗略共识或最后审查充分性的判断。

这八格不是越多越好的资料清单,而是一条证明链。假设异议人只提交一封 ARIN 的旧邮件,却没有指出它评估的提案版本,审查者就无法知道该邮件是否仍对应被挑战文本。假设版本与条款都明确,却没有区分转入与转出,审查者仍无法判断所谓冲突出现在哪一端。假设方向也明确,却没有列出对方规则的生效版本,规则后来修订就可能让答复失去时点意义。假设这些都齐全,却只说“可能带来麻烦”,没有说明哪一步无法执行以及为何影响 10 月 7 日决定,那么它仍不足以成为实质上可裁判的上诉理由。

版本控制还必须覆盖证据本身。工作人员何日询问、发送了哪一版文字、对方何日回复、回复是否附条件、谁把回复放入最后审查记录、共同主席采用了哪一个截止时间,都应留在一张收讫表上。对方说“原则上可行,但需核对遗留资源”与“此条无法由我们的来源方履行”不是同一强度;“尚未回复”与“没有异议”更不是同一种状态。适合的状态至少应区分:已确认、附条件确认、发现冲突、含义不明、等待回复、旧版意见已失效。把所有格子压成绿色或红色,会抹掉上诉真正需要审查的中间地带。

版本化还意味着要记录修改的性质。Draft 3 到 Draft 4 若删除了一句引发已知问题的文字,矩阵不能简单把相应行划掉。它应保留旧行,写明旧版缺陷与证据;再建立新行,说明删除是否消除了原有责任错置,以及新写法是否产生另一种不确定性。这样,审查者既不会把旧反对当作新版本定论,也不会因为“已经改过”而把验证工作视为完成。每次修改都留下父子关系,才能说明某项担忧是已解决、部分解决、被另一问题替代,还是仍待对方确认。

一份适合上诉的矩阵还应当允许审查者重建当时的信息环境,而不是用事后资料美化决定。10 月 7 日决定应以当日已到达、已识别版本并可供共同主席评价的材料为界。10 月 9 日公开的回复可以说明最后审查记录中存在怎样的时间缺口,也可以成为异议书的证据,但不能倒流成为 10 月 7 日决策者已经掌握的内容。相反,若有未公开但确已在 10 月 7 日前收到的材料,则应以收件时间、发送对象、版本附件和采用情况来证明,而不能靠后来一句“我们咨询过”代替。

这套要求并不把对方 RIR 的意见变成对 AFRINIC 文本的否决权。对方注册局最有资格说明自己的操作流程与规则含义,但 AFRINIC 的私人政策流程仍需自行判断其文本、异议与共识。外部解释提供的是跨系统事实:对方会不会接受某种来源方证明、如何处理需求核验、哪些资源状态可转。它不替 AFRINIC 决定应采用哪种政策价值,也不把政策判断外包。版本化收讫表的作用,正是把“对方对自己流程的事实解释”与“AFRINIC 对自身草案的选择”分开。

问题走到这里,还只完成了“是否存在缺口”的证明。上诉要影响一个已经作出的共识决定,还必须跨过另一道门槛:缺口与决定之间是否有实质关联。不是每一处未答疑问都足以撤销决定,也不是每一封迟到邮件都证明最后审查必然失当。异议人必须说明,如果该信息在决定前被正确识别并评价,它有合理可能改变什么:共同主席是否需要把某项反对视为未解决;修改是否需要重新暴露给参与者讨论;某个方向的转移是否根本无法按双方规则完成;或者所谓兼容性保证是否缺少必要证据,以致宣布共识的理由不完整。

实质关联最好写成一段可检验的因果链,而不是用“重大”“严重”“根本”堆叠语气。比如:被挑战决定确认 Draft 4 已维持共识;该版本在若干转移条款上与 Draft 3 不同;当时公开的 ARIN、APNIC 意见只测试了被删除的旧句;工作人员又说明答复尚不完整且要核对最新版;因此,若共同主席的理由把旧版回复视作 Draft 4 已获兼容性确认,或者在没有说明缺口的情况下把兼容性异议视为解决,证据基础便可能不足。接下来,上诉人还要指出这项不足为何触及最后审查的核心任务,而不仅是档案整理上的瑕疵。

反过来,如果共同主席从未声称收到 Draft 4 的完整外部确认,而是明确披露哪些组合尚待核对,并解释为什么这些待办项不影响当时的共识判断,上诉人的负担就会更重。此时,他不能只重复“反馈不完整”,还需展示一个具体、很可能无法执行的条款组合,以及它为何构成当时尚未妥善处理的实质异议。举证负担会随着决定理由的透明度变化:记录越清楚地标出未知项并解释处置,异议人越需要提出针对性的反证;记录越把旧资料与新文本混为一谈,版本错位本身越可能成为重要问题。

这里也需要区分三种常被混用的命题。第一种是“旧条款被对方指出存在冲突”,它由 10 月 9 日的 ARIN 与 APNIC反馈支持。第二种是“新条款尚未被封存记录证明兼容”,它来自版本和时间缺口。第三种是“新条款事实上不兼容”,它需要针对 Draft 4 的进一步规则对照与对方解释。前两种命题都不能自动推出第三种。上诉书若把三者混成一句,虽然语气更强,证明力反而更弱;审查者只要指出版本断口,就可以避开真正值得处理的问题。

对异议人的要求严格,并不意味着所有资料都只能由异议人独自取得。对方 RIR 的内部解释、工作人员发出的咨询记录和共同主席采用的截止时间,往往掌握在流程管理者手中。合理的证据秩序应要求异议人先具体化:指出哪一条、哪一版、哪一方向、哪一资源类型存在冲突,并提供可得的对方规则或回复。完成这一步后,流程记录的保管者应披露相应咨询与收讫信息,共同主席则应回答该问题如何处置。所谓举证负担,不应变成“谁拿不到内部邮件谁就失败”,而应当成为促使各方把可验证事实放到同一版本坐标上的方法。

异议书本身也必须受到同样纪律约束。2020 年 10 月 20 日文件提出了政策流程管理失败、最后审查期间出现实质修改、异议未解决、兼容性工作未完成,以及竞争提案之间存在偏颇或不公平等主张,并请求撤销决定及作出相应认定。这些是 Alain Patrick AINA 一方提出的指控和请求,不是后来委员会已经确认的事实。报道或分析若省略“异议人主张”,就会把当事人的论证偷换成裁判结论;若又把委员会最终撤销决定写成对所有指控的认可,便会制造第二次越界。

历史 CPM 的相关框架有助于理解为什么实质关联不可省略。当时的 3.4.3 把最后审查设为共同主席评估反馈并决定共识的最终复核阶段;3.5 要求异议人指出被挑战的主席行动、此前讨论中未解决的问题、三名支持者与及时提交,并把委员会的处理限定在报告以及在 PDP 未被遵循时可能撤销决定。这里重要的不是泛讲内部审查机制,而是看到兼容性主张必须被连接到一项具体主席行动与此前未解决的讨论。单独列出跨 RIR 风险,不足以说明 10 月 7 日的决定为什么应受影响。

从条款冲突到决定缺陷

一份成熟的上诉材料,可以把实质关联分成四层。第一层是文本关联:所引证据必须对应被挑战版本的具体文字。第二层是运行关联:这段文字必须在某个转移方向和资源类型上造成两端条件不能共同满足,或留下足以阻断核验的歧义。第三层是审议关联:该问题必须在此前讨论中被提出,或因最后审查期间的新改动而无法在决定前得到充分检验。第四层是决定关联:共同主席的理由必须依赖一个被证据否定的兼容性前提,或未处置一个可能改变共识判断的重要缺口。

四层中,文本关联是入口,决定关联是出口。只有入口,没有出口,上诉会退化为技术勘误;只有出口,没有入口,上诉会退化为对结果的不满。版本矩阵把两端接起来:每一行先描述具体条款与对方规则,再记录运行后果,最后标注它在最后审查中的提出、回应与处置。审查委员会于是可以问一个狭窄问题:在作出被挑战决定时,这一行是否有足够证据被标记为已解决?它无需重写政策,也无需凭自己的偏好判定何种转移制度最好。

“运行后果”也必须克制。封存记录允许说明错误匹配会增加运营者的尽调、延误与连续性风险,却不足以断言已经发生中断、资源损失或其他具体损害。跨注册局流程若在来源资格、需求证明或登记责任上互相打架,运营者可能需要重复提交材料、等待人工解释,或在交易完成时间上承受不确定性;这就是足以严肃对待的机制。把风险夸大成未经证明的灾难,不会增加上诉的可信度,反而给审查者留下以“后果推测过度”为由忽略真实条款问题的空间。

资源类型的拆分尤其重要。IPv4 地址转移与 ASN 转移可能使用不同核验条件;遗留资源又可能牵涉不同的登记或互惠安排。9 月 21 日总结承认的,是与 ARIN 有关的遗留持有人转移互惠顾虑。它不能自动扩展为所有资源、所有方向、所有对方 RIR 的统一结论。好的矩阵宁可留下多个“待确认”格,也不把一个局部问题涂满整张表。上诉人的任务不是制造最大面积的红色,而是精准展示哪一个红色格子足以改变决定。

方向拆分同样会改变结论。Draft 4 对转入 AFRINIC 的接收方提出 AFRINIC 需求证明,对从 AFRINIC 转出的交易则提到遵循相关政策。若测试“ARIN 来源方把资源转入 AFRINIC”,需要分别问来源方在 ARIN 端应满足什么、接收方在 AFRINIC 端应满足什么,以及两端如何交换确认。若测试“AFRINIC 来源方向 APNIC 接收方转出”,主体与政策连接会重新排列。笼统写“AFRINIC 与其他 RIR 兼容”,把多个有向流程压成一个无向关系,几乎注定漏掉责任落点。

带日期的对方解释之所以不可替代,是因为规则文本与运行解释之间常有距离。政策可能写“遵循相关政策”,但工作人员需要知道“相关”指哪一端、由谁核验、用哪份表单、何时锁定资格,以及某种登记状态是否被接受。对方 RIR 对自己流程的说明能够填补这一层,不过它也必须标明日期与所见版本。没有日期,就无法判断解释是否在被挑战决定前有效;没有所见版本,就无法判断回复是否被后来修文所超越。

对方解释也不应被神化。它可以权威说明对方将如何操作自己的工作流,却不能单方面决定 AFRINIC 的内部文本应该怎样写,也不能把一种偏好的互惠模式变成 AFRINIC 必须接受的政策。证据矩阵把它放在恰当位置:作为兼容性事实的一部分,而不是政策命令。这样既尊重跨系统执行现实,也守住私人协调机构各自有限的职能。

材料出处需要分层。原始异议书证明异议人说了什么、请求了什么;Draft 4 官方存档证明该版本写了什么、改动了哪些条款;当时邮件列表记录证明共同主席与工作人员在何日怎样描述共识、互惠检查及部分回复;历史 CPM 证明最后审查与异议的内部程序边界;2021 年委员会报告和会议纪要证明最终处理的范围与结果。NRS、Heng Lu、LARUS 与 BTW 则分别提供注册局性质和权限边界、控制性的制度与运行代码分析、运营连续性后果,以及以现实为中心的既有报道与碰撞边界。它们都是一等来源,各有清楚角色,但任何一项都不能替代原始版本记录。

这种分层还解决一个常见误会:引用很多来源不等于完成举证。若十八个链接最终都指向不同时间、不同版本或不同命题,却没有声明各自证明什么,来源数量只会制造厚重感。真正的证据账本应允许读者从一句判断回到一项材料,再从材料回到对应版本和时间。比如,“旧句被 ARIN 认为不能衔接”应回到 10 月 9 日工作人员转述;“Draft 4 已删除该句”应回到 Draft 4 存档;“委员会没有裁判兼容性”应回到 2021 年报告和纪要。三项材料共同限定结论,任何一项都不能代替另外两项。

不确定性也应该进入正式记录,而不是被留在脚注。“待回复”“仅审查 Draft 3”“最新版本核对尚未完成”“对遗留资源附条件”“规则生效日期待确认”,都应是矩阵中的一等状态。宣布共识时,共同主席可以解释为什么某个未知项不影响决定;上诉人也可以具体挑战这种判断。若未知项被抹掉,后来的人只能争论当时究竟“应该知道”什么,无法检验决策者实际看见了什么。

一张良好的实质关联表还应把每个问题的处置写成句子,而不是只打勾。一个勾可能表示“已收到回复”,也可能被误读为“已经兼容”。更可靠的写法是:“ARIN 于某日就 Draft 3 第某条回复;Draft 4 删除所引句;截至决定截止时间,未封存针对 Draft 4 的确认;共同主席认定该删除足以处理旧异议/或保留为待核对事项;理由如下。”如此,上诉人才能准确攻击理由中的事实或推论,不必猜测勾号背后的含义。