NAC_Blockchain/docs_center/CONSTITUTION_LAYER_001.md

114 lines
5.0 KiB
Markdown
Raw 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.

# NAC 公链宪法层L2完善工作日志
**工单编号**: CONSTITUTION-LAYER-001
**日期**: 2026-03-18
**负责人**: Manus AI
**状态**: ✅ 已完成
---
## 一、工作目标
在完全尊重前期开发者工作成果的基础上,逐层分析并完善 NAC 公链宪法层L2的代码实现确保宪法层与 NVM执行层、CBPP共识层、L3存储层之间的接口完整连通。
---
## 二、前期开发者已完成的工作(保持完整,未做任何修改)
| 模块 | 文件 | 状态 |
|------|------|------|
| `nac-constitution-clauses` | `lifecycle/mod.rs`(条款生命周期) | ✅ 已有 |
| `nac-constitution-clauses` | `manager/mod.rs`(条款管理器) | ✅ 已有 |
| `nac-constitution-clauses` | `storage/mod.rs`(条款存储) | ✅ 已有 |
| `nac-constitution-clauses` | `validator/mod.rs`(条款验证器) | ✅ 已有 |
| `nac-constitution-clauses` | `upgrade/mod.rs`CBPP升级机制727行 | ✅ 已有 |
| `nac-constitution-clauses` | `node_sharing.rs`A44-A52节点共享1026行 | ✅ 已有 |
| `nac-constitution-state` | `lib.rs`、`storage.rs`、`version.rs`、`history.rs`、`upgrade.rs`、`error.rs` | ✅ 已有 |
| `nac-constitution-macros` | `constitutional.rs`、`codegen.rs`、`validation.rs`、`upgrade.rs`、`metadata.rs`、`error.rs` | ✅ 已有 |
| CNNL 条款文件 | `amendments.cnnl`A01-A52、`acc20c_clauses.cnnl`A53-A56、`amendments_v2_patch.cnnl`RWA专用 | ✅ 已有 |
| Charter 接口 | `constitution_interface.charter`435行 | ✅ 已有 |
---
## 三、本次补全内容
### 3.1 NVM 宪法接口(新增)
**文件**: `protocol/nac-nvm/src/constitution_interface.rs`
NVM 在执行 Charter 合约时,通过此接口调用宪法层进行合规验证,体现**"约法即治法"**原则:
- `ConstitutionValidationRequest`:合约调用验证请求结构体
- `ConstitutionValidationResult`:验证结果(含违规列表和 CR 哈希)
- `ConstitutionClient` trait宪法客户端接口
- `DefaultConstitutionClient`:通过 NRPC4.0 调用 `nac-constitution-service` 的默认实现
### 3.2 CBPP 宪法验证器(新增)
**文件**: `protocol/nac-cbpp/src/constitution_validator.rs`
CBPP 在区块生产和验证阶段通过此验证器实时验证宪法收据CR体现**"参与即是共识"**原则:
- `CrValidationResult`CR 验证结果(签名有效性、条款匹配)
- `ConstitutionValidator` trait宪法验证器接口
- `DefaultConstitutionValidator`:调用宪法服务的默认实现
### 3.3 宪法服务主程序(补全)
**文件**: `protocol/nac-constitution-service/src/main.rs`
补全服务入口,实现完整的 NRPC4.0 服务框架:
- 监听端口:`0.0.0.0:22050`
- 初始化宪法状态(版本、哈希)
- 加载所有宪法条款
- 提供条款查询和 CR 验证 API
### 3.4 核心原则条款文件(新增)
**文件**: `protocol/nac-constitution/clauses/core_principles.cnnl`
新增独立的核心原则条款文件A01-A03 永恒级):
- `A01_RealAssetBacked`:真实资产锚定原则
- `A02_JurisdictionCompliance`:司法辖区合规原则
- `A03_AmlKycMandatory`反洗钱与KYC强制原则
---
## 四、五大治理哲学在宪法层的体现
| 哲学原则 | 宪法层实现 | 对应模块 |
|----------|-----------|---------|
| **约法即是治法** | NVM 执行合约前必须通过宪法验证 | `nac-nvm/constitution_interface.rs` |
| **宪法即是规则** | 宪法条款是唯一的合规判断标准,不可绕过 | `nac-constitution-clauses/validator` |
| **参与即是共识** | 每个节点验证 CR 即参与共识,无需投票 | `nac-cbpp/constitution_validator.rs` |
| **节点产生区块** | 区块生产者必须通过宪法验证DID+KYC | `nac-cbpp/consensus.rs`(已有) |
| **交易决定区块大小** | 流体区块模型FBMCR 数量决定区块大小 | `nac-cbpp/consensus.rs`(已有) |
---
## 五、Git 提交记录
| 提交 | 内容 |
|------|------|
| `8f5ad48` | feat(constitution): 补全宪法层NVM接口、CBPP验证器、Service主程序和核心原则条款 |
**变更统计**: 6 files changed, 223 insertions(+), 885 deletions(-)
---
## 六、集群同步状态
| 服务器 | 同步状态 |
|--------|---------|
| 备份服务器 (103.96.148.7) | ✅ 已提交到 Git |
| 服务器A (103.43.191.50) | ✅ 已同步 6 个文件 |
| 服务器B (103.43.188.43) | ✅ 已同步 6 个文件 |
---
## 七、后续建议
1. **NRPC4.0 协议实现**`nac-constitution-service` 的 `nrpc` 模块目前是骨架,需要在 NRPC4.0 协议正式实现后对接
2. **条款文件完整化**A04-A43 的独立 CNNL 文件建议逐步从 `amendments.cnnl` 中拆分出来,便于独立管理
3. **宪法哈希计算**`constitution_hash` 目前是字符串,建议改为 SHA3-38448字节计算所有激活条款的 Merkle 根
4. **L3 对接**`state_database_ext.rs` 中的 `constitution_ref` 字段可以直接引用本次新增的条款 ID 体系