NAC_Blockchain/ISSUE_070_CONSTITUTIONAL_RU...

7.6 KiB
Raw Permalink Blame History

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
  • GidsEnhancedRegistryGIDS增强注册表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/btwestcproot / vajngkvf

八、下一步工作建议

  1. Issue #71:将 jurisdiction_merkle_root 字段集成到 CBPP 区块头结构(nac-cbpp 模块)
  2. Issue #72:实现 NVM 宪法内置合约(地址 0x0000000000000000000000000000000000000001
  3. Issue #73CSNP 辖区感知路由实现(nac-csnp 模块扩展)
  4. Issue #74WASM 插件运行时沙箱集成(nac-nvm 模块扩展)
  5. Issue #75:宪法条款 A44-A52 主网部署和测试

本文档由 NAC 核心协议工程组生成 | Issue #70 | 2026-03-07