# Issue #70 — 宪法层规则增补:多辖区节点共享条款 **状态:** 已完成 **版本:** 1.0 **日期:** 2026-03-07 **关联白皮书:** 《NAC公链多辖区节点共享方案与技术落地白皮书》v1.0 **关联 Issue:** #59(多辖区节点共享方案)、#66(宪法增补条款A01-A43) --- ## 一、工作概述 本次工单在现有宪法增补条款(A01-A43)基础上,新增 **9 条多辖区节点共享宪法条款(A44-A52)**,覆盖物理共享逻辑隔离、跨辖区区块生产、资源协商分配、节点身份绑定、WASM沙箱、CEE集群、争议裁决、CSNP路由、存储加密等核心规则。 --- ## 二、新增宪法条款清单(A44-A52) | 条款编号 | 层级 | 条款名称 | 核心规则 | 违规处理 | |----------|------|----------|----------|----------| | A44 | Strategic | 多辖区节点物理共享许可 | 物理共享节点必须容器化逻辑隔离 | reject_block | | A45 | Strategic | 跨辖区区块生产双CR强制 | 区块头必须含 jurisdiction_merkle_root | reject_block | | A46 | Strategic | 共享资源辖区协商分配 | 资源分配需委员会≥67%投票 | revert_allocation | | A47 | Tactical | 节点身份辖区绑定强制 | GIDS注册需辖区政府数字签名 | reject_node_registration | | A48 | Tactical | WASM规则插件沙箱执行强制 | 插件执行≤10ms、≤64MB、哈希上链 | terminate_plugin_execution | | A49 | Tactical | CEE节点跨辖区共享验证 | CEE必须支持多辖区并行验证 | fallback_to_single_jurisdiction_cee | | A50 | Tactical | 辖区争议宪法法院裁决 | 争议必须提交宪法法院、判决上链 | freeze_disputed_resources | | A51 | Tactical | CSNP辖区感知路由强制 | CSNP必须识别辖区并保留原始CR | reject_non_compliant_routing | | A52 | Tactical | 共享存储敏感数据加密 | AES-256-GCM加密、≥3副本冗余 | quarantine_unencrypted_data | --- ## 三、交付文件清单 ### 3.1 CNNL 宪法条款文件 ``` nac-constitution/clauses/node_sharing_clauses.cnnl ``` - 9条条款的 CNNL 形式化表达 - 每条包含:tier(层级)、clause_index(索引)、predicate(谓词)、obligation(义务)、violation_action(违规处理)、test(测试块) - 完整测试块(9个测试用例) ### 3.2 Rust 验证引擎 ``` nac-constitution-clauses/src/node_sharing.rs ``` - 每条条款独立的验证函数(`validate_a44_*` 至 `validate_a52_*`) - 综合验证报告(`NodeSharingComplianceReport`) - 违规摘要生成(`violation_summary()`) - 完整单元测试(12个测试用例,覆盖合规和违规场景) ### 3.3 多辖区运行时增强 ``` nac-multi-jurisdiction/src/node_sharing_enhanced.rs ``` - `SharedNodeRegistry`:节点共享注册表(隔离违规检测) - `DynamicQuotaManager`:动态资源配额管理(A46) - `CrossJurisdictionBlockCoordinator`:跨辖区区块生产协调器(A45) - `GidsEnhancedRegistry`:GIDS增强注册表(A47) - 完整单元测试(5个测试用例) ### 3.4 Charter 合约接口 ``` charter-std/src/constitution_interface.charter ``` - `IConstitution` 接口:宪法内置合约完整接口定义 - `RwaAssetCrossJurisdictionTransfer` 示例合约:演示A45/A46/A47/A50/A51集成 - `NodeSharingRegistry` 示例合约:演示A44/A47/A48集成 --- ## 四、架构设计说明 ### 4.1 条款层级设计 ``` 宪法层级结构(A44-A52 扩展后): 永恒级(Eternal,索引1-100): A01-A08 基础架构条款(NAC原生技术栈保护) 战略级(Strategic,索引101-1000): A09-A16 资产合规条款 A17-A24 节点治理条款 A25-A32 XTZH货币条款 A33-A38 多辖区条款(基础) A39-A43 AI合规条款 ★ A44 多辖区节点物理共享许可(新增,索引101) ★ A45 跨辖区区块生产双CR强制(新增,索引102) ★ A46 共享资源辖区协商分配(新增,索引103) 战术级(Tactical,索引1001+): ★ A47 节点身份辖区绑定强制(新增,索引1001) ★ A48 WASM规则插件沙箱执行强制(新增,索引1002) ★ A49 CEE节点跨辖区共享验证(新增,索引1003) ★ A50 辖区争议宪法法院裁决(新增,索引1004) ★ A51 CSNP辖区感知路由强制(新增,索引1005) ★ A52 共享存储敏感数据加密(新增,索引1006) ``` ### 4.2 跨辖区区块生产流程(A45) ``` 区块生产节点收到跨辖区交易 ↓ 为每笔跨辖区交易选择最优CEE节点(A49负载均衡) ↓ CEE节点并行调用源辖区和目标辖区插件(A48 WASM沙箱) ↓ 生成双CR(源辖区CR + 目标辖区CR) ↓ 将所有双CR哈希构建默克尔树 → jurisdiction_merkle_root ↓ 写入区块头 block.header.jurisdiction_merkle_root ↓ CBPP验证节点验证 jurisdiction_merkle_root 有效性 ↓ 区块上链 ``` ### 4.3 节点注册流程(A47) ``` 节点申请加入网络 ↓ 向辖区政府/监管机构申请辖区证明(jurisdiction_proof) ↓ 提交 GIDS 注册(DID + 辖区 + 辖区证明 + 插件哈希列表) ↓ GIDS 验证: - DID 格式(must start with "did:nac:") - 辖区 != 0 - 辖区证明签名有效且未过期 - 至少一个已授权插件哈希 ↓ 注册成功,节点可加入网络 ↓ 节点加载插件时,GIDS 实时验证插件哈希(A47+A48) ``` ### 4.4 资源分配流程(A46) ``` 辖区提交资源分配提案 ↓ 辖区协商委员会(JurisdictionCouncil)投票 ↓ 投票比例 ≥ 67%? ├─ 是 → 提案通过,DynamicQuotaManager 应用新配额 └─ 否 → 提案拒绝,维持原配额 ↓ 配额变更记录写入宪法附录(链上存证) ↓ 各辖区节点按新配额运行 ↓ 超出配额时触发 A46 违规处理(revert_allocation) ``` --- ## 五、与现有模块的集成关系 | 现有模块 | 集成方式 | 涉及条款 | |----------|----------|----------| | `nac-constitution-clauses` | 新增 `node_sharing.rs` 验证器 | A44-A52 | | `nac-multi-jurisdiction` | 新增 `node_sharing_enhanced.rs` 运行时 | A44-A47、A49 | | `nac-cbpp` | 区块头新增 `jurisdiction_merkle_root` 字段 | A45 | | `nac-csnp` | 新增辖区感知路由模块 | A51 | | `nac-nvm` | 新增宪法内置合约(地址0x...0001) | A44-A52 | | `charter-std` | 新增 `constitution_interface.charter` | A44-A52 | | `nac-ai-compliance` | AI合规检查集成A39-A43 | A39-A43 | --- ## 六、测试覆盖 | 文件 | 测试数量 | 覆盖场景 | |------|----------|----------| | `node_sharing.rs` | 12 | A44合规/违规、A45跨辖区、A46投票、A47身份、A48沙箱、A52存储 | | `node_sharing_enhanced.rs` | 5 | 注册表、隔离检测、配额超额、GIDS验证、区块协调器 | | `node_sharing_clauses.cnnl` | 9 | 每条条款独立测试块 | --- ## 七、后台管理员信息 - **Gitea 管理员账号:** nacadmin - **Gitea 管理员密码:** NACadmin2026! - **服务器 SSH:** root@103.96.148.7:22000 - **服务器密码:** XKUigTFMJXhH - **宝塔面板:** http://103.96.148.7:12/btwest(cproot / vajngkvf) --- ## 八、下一步工作建议 1. **Issue #71**:将 `jurisdiction_merkle_root` 字段集成到 CBPP 区块头结构(`nac-cbpp` 模块) 2. **Issue #72**:实现 NVM 宪法内置合约(地址 `0x0000000000000000000000000000000000000001`) 3. **Issue #73**:CSNP 辖区感知路由实现(`nac-csnp` 模块扩展) 4. **Issue #74**:WASM 插件运行时沙箱集成(`nac-nvm` 模块扩展) 5. **Issue #75**:宪法条款 A44-A52 主网部署和测试 --- *本文档由 NAC 核心协议工程组生成 | Issue #70 | 2026-03-07*