NAC_Blockchain/ISSUE_070_CONSTITUTIONAL_RU...

214 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/btwestcproot / 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*