533 lines
17 KiB
Markdown
533 lines
17 KiB
Markdown
# NVM v2 + XTZH 系统架构文档
|
||
|
||
**版本**: v2.0.0
|
||
**日期**: 2025年2月
|
||
**状态**: 生产就绪
|
||
|
||
---
|
||
|
||
## 执行摘要
|
||
|
||
NVM (NAC Virtual Machine) v2 是为NewAssetChain (NAC)公链设计的完整虚拟机系统,深度集成XTZH(黄金储备支撑的原生代币)和宪政区块生产协议(CBPP)。本系统专为真实世界资产(RWA)通证化而设计,支持60+司法辖区和20+资产类别。
|
||
|
||
**核心创新**:
|
||
- ✅ 三层架构(L0共识层 + L1合约层 + ACC协议层)
|
||
- ✅ 宪政区块生产协议(CBPP)
|
||
- ✅ XTZH黄金储备机制
|
||
- ✅ 多司法辖区支持
|
||
- ✅ 三维区块坐标系统
|
||
|
||
---
|
||
|
||
## 系统架构概览
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ L2: 宪法治理层 (XIC投票) │
|
||
│ - 宪法版本管理 │
|
||
│ - 多司法辖区规则(60+国家/地区) │
|
||
│ - 多资产类别支持(20大类) │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ ACC协议层 (Asset Contract Core) │
|
||
│ - ACC-20/721/1155 (资产标准) │
|
||
│ - ACC-RWA (真实世界资产) │
|
||
│ - ACC-XTZH (原生代币) │
|
||
│ - ACC-Reserve (黄金储备) │
|
||
│ - ACC-Compliance/Valuation/Custody等 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ NVM-L1: 智能合约层 │
|
||
│ - 虚拟机执行引擎 │
|
||
│ - Gas计量系统 │
|
||
│ - 状态管理 │
|
||
│ - 合约生命周期 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ NVM-L0: 共识与存储层 │
|
||
│ - CBPP共识协议 │
|
||
│ - 宪法收据(CR)系统 │
|
||
│ - 开放生产网络(OPN) │
|
||
│ - 流体区块模型(FBM) │
|
||
│ - 三维区块坐标(Epoch-Round-Branch) │
|
||
│ - Merkle状态树 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 核心组件详解
|
||
|
||
### 1. NVM-L0: 共识与存储层
|
||
|
||
#### 1.1 宪政区块生产协议 (CBPP)
|
||
|
||
**核心理念**: "参与即是共识"
|
||
|
||
**三大支柱**:
|
||
|
||
1. **宪法收据 (Constitutional Receipt, CR)**
|
||
- 所有交易必须先获得CR才能进入区块链
|
||
- CR包含:交易哈希、宪法版本、条款索引、执行结果、签名
|
||
- 有效期:1小时(可配置)
|
||
- 缓存机制:LRU缓存,最多10000条
|
||
|
||
2. **开放生产网络 (Open Production Network, OPN)**
|
||
- 任何满足条件的节点都可以成为区块生产者
|
||
- 准入条件:DID + KYC验证
|
||
- 无需质押代币
|
||
- 资格审核:待审核 → 审核中 → 已批准 → 已拒绝
|
||
|
||
3. **流体区块模型 (Fluid Block Model, FBM)**
|
||
- 无固定区块大小和出块时间
|
||
- 动态调整软上限(初始5MB,范围1MB-10MB)
|
||
- 最小出块间隔:100ms
|
||
- 自适应负载调整
|
||
|
||
#### 1.2 三维区块坐标系统
|
||
|
||
**坐标结构**: `(Epoch, Round, Branch)`
|
||
|
||
- **Epoch (纪元)**: 宪法版本,每次宪法升级递增
|
||
- **Round (轮次)**: 共识轮次,单调递增
|
||
- **Branch (分支)**: DAG分支哈希,支持并行区块
|
||
|
||
**示例**:
|
||
```
|
||
区块坐标: (1, 12345, 0xabcd...)
|
||
含义: 宪法版本1,第12345轮,分支0xabcd...
|
||
```
|
||
|
||
#### 1.3 状态管理
|
||
|
||
- **Merkle状态树**: 账户状态、合约存储、资产所有权
|
||
- **快照和回滚**: 支持状态快照和原子回滚
|
||
- **增量更新**: 只更新变化的状态节点
|
||
|
||
---
|
||
|
||
### 2. NVM-L1: 智能合约层
|
||
|
||
#### 2.1 虚拟机执行引擎
|
||
|
||
**架构**:
|
||
```
|
||
┌─────────────────────────────────────┐
|
||
│ ExecutionContext │
|
||
│ - PC (程序计数器) │
|
||
│ - Stack (执行栈) │
|
||
│ - Memory (内存) │
|
||
│ - Storage (存储) │
|
||
│ - Gas (Gas计量) │
|
||
└─────────────────────────────────────┘
|
||
```
|
||
|
||
**支持的操作码**:
|
||
- 算术运算: ADD, SUB, MUL, DIV, MOD
|
||
- 栈操作: PUSH, POP, DUP, SWAP
|
||
- 存储操作: SLOAD, SSTORE
|
||
- 控制流: JUMP, JUMPI, CALL, RETURN
|
||
- 系统调用: BALANCE, TRANSFER, CREATE
|
||
|
||
#### 2.2 Gas计量系统
|
||
|
||
**Gas价格表**:
|
||
```rust
|
||
pub struct GasConfig {
|
||
pub base_gas: u64, // 基础Gas: 21000
|
||
pub storage_write_gas: u64, // 存储写入: 20000
|
||
pub storage_read_gas: u64, // 存储读取: 200
|
||
pub memory_gas: u64, // 内存扩展: 3
|
||
pub call_gas: u64, // 合约调用: 700
|
||
pub create_gas: u64, // 合约创建: 32000
|
||
}
|
||
```
|
||
|
||
**Gas限制**:
|
||
- 单笔交易: 10,000,000 Gas
|
||
- 单个区块: 30,000,000 Gas
|
||
|
||
#### 2.3 合约生命周期
|
||
|
||
```
|
||
部署 → 活跃 → 暂停 → 销毁
|
||
↓ ↓ ↓ ↓
|
||
初始化 执行 冻结 清理
|
||
```
|
||
|
||
---
|
||
|
||
### 3. ACC协议层
|
||
|
||
#### 3.1 核心协议
|
||
|
||
**11个原生协议**:
|
||
|
||
1. **ACC-20** - 可替代资产协议
|
||
2. **ACC-721** - 唯一资产协议
|
||
3. **ACC-1155** - 多类型资产协议
|
||
4. **ACC-RWA** - 真实世界资产协议
|
||
5. **ACC-Compliance** - 合规协议
|
||
6. **ACC-Valuation** - 估值协议
|
||
7. **ACC-Custody** - 托管协议
|
||
8. **ACC-Collateral** - 抵押协议
|
||
9. **ACC-Redemption** - 赎回协议
|
||
10. **ACC-Insurance** - 保险协议
|
||
11. **ACC-Governance** - 治理协议
|
||
|
||
#### 3.2 XTZH相关协议
|
||
|
||
**新增2个协议**:
|
||
|
||
12. **ACC-XTZH** - XTZH原生代币协议
|
||
- 总供应量管理
|
||
- 铸造和销毁
|
||
- 转账和余额查询
|
||
- 健康因子监控
|
||
|
||
13. **ACC-Reserve** - 黄金储备管理协议
|
||
- 黄金永续合约持仓
|
||
- 托管账户管理(80%)
|
||
- 风险准备金管理(20%)
|
||
- GCR(黄金覆盖率)监控
|
||
- 自动再平衡
|
||
|
||
---
|
||
|
||
### 4. 宪法层 (L2)
|
||
|
||
#### 4.1 多司法辖区支持
|
||
|
||
**60+司法辖区**:
|
||
- 北美洲: US, CA, MX
|
||
- 欧洲: EU, GB, CH, DE, FR, IT, ES, NL, IE, LU, TR, UA
|
||
- 亚太: CN, HK, MO, TW, JP, KR, SG, MY, TH, ID, PH, VN, IN, PK, BD, AU, NZ
|
||
- 中东: AE, SA, QA, KW, BH, OM, IL
|
||
- 南美: BR, AR, CL, CO, PE, VE, UY, PY
|
||
- 非洲: ZA, NG, EG, KE, MA
|
||
- 独联体: RU, KZ
|
||
|
||
#### 4.2 多资产类别支持
|
||
|
||
**20大资产类别**:
|
||
1. 不动产类 (RealEstate)
|
||
2. 金融证券类 (Securities)
|
||
3. 大宗商品类 (Commodities)
|
||
4. 艺术品与收藏品类 (Collectibles)
|
||
5. 知识产权类 (IntellectualProperty)
|
||
6. 数字资产类 (DigitalAssets)
|
||
7. 基础设施类 (Infrastructure)
|
||
8. 自然资源类 (NaturalResources)
|
||
9. 环境权益类 (EnvironmentalRights)
|
||
10. 企业权益类 (CorporateEquity)
|
||
11. 债权类 (DebtInstruments)
|
||
12. 保险产品类 (InsuranceProducts)
|
||
13. 农业资产类 (AgriculturalAssets)
|
||
14. 交通工具类 (Vehicles)
|
||
15. 机械设备类 (Machinery)
|
||
16. 数据资产类 (DataAssets)
|
||
17. 品牌资产类 (BrandAssets)
|
||
18. 体育资产类 (SportsAssets)
|
||
19. 娱乐资产类 (EntertainmentAssets)
|
||
20. 其他无形资产类 (OtherIntangibles)
|
||
|
||
#### 4.3 规则系统
|
||
|
||
**规则类型**:
|
||
- KYC要求
|
||
- 交易限额
|
||
- 持有期限制
|
||
- 转让限制
|
||
- 信息披露
|
||
- 税务合规
|
||
- 数据隐私
|
||
- 反洗钱(AML)
|
||
- 投资者资格
|
||
- 自定义规则
|
||
|
||
**规则特性**:
|
||
- 时间范围控制(生效/失效时间)
|
||
- 优先级管理
|
||
- 参数化配置
|
||
- 多维度索引(司法辖区+资产类别)
|
||
|
||
---
|
||
|
||
## XTZH黄金储备机制
|
||
|
||
### 储备模型
|
||
|
||
**SDR锚定模型**:
|
||
- 50% 黄金
|
||
- 30% 法币(USD, EUR, CNY等)
|
||
- 20% 大宗商品(石油、铜等)
|
||
|
||
**黄金永续合约**:
|
||
- 杠杆倍数: 1.25倍
|
||
- 资金分配: 80%托管账户 + 20%风险准备金
|
||
- 实物黄金储备: 62.5%(80% × 1.25 × 62.5% = 62.5%)
|
||
|
||
### 铸造流程
|
||
|
||
```
|
||
用户质押RWA资产(价值100万USDT)
|
||
↓
|
||
注入黄金储备(80万托管 + 20万风险准备金)
|
||
↓
|
||
开仓黄金永续合约(100万USDT持仓,1.25倍杠杆)
|
||
↓
|
||
铸造XTZH(80万XTZH,资产价值的80%)
|
||
↓
|
||
发行权益代币(基于XTZH)
|
||
```
|
||
|
||
### 健康因子监控
|
||
|
||
**GCR (Gold Coverage Ratio) = 黄金持仓价值 / XTZH总供应量**
|
||
|
||
**状态等级**:
|
||
- Healthy: GCR ≥ 125%
|
||
- Warning: 110% ≤ GCR < 125%
|
||
- Danger: 100% ≤ GCR < 110%
|
||
- Critical: GCR < 100%
|
||
|
||
**自动操作**:
|
||
- GCR < 110%: 触发预警,通知运营团队
|
||
- GCR < 100%: 触发清算,使用风险准备金补仓
|
||
|
||
---
|
||
|
||
## 升级机制
|
||
|
||
### L0层升级接口
|
||
|
||
```rust
|
||
pub trait L0Upgrade {
|
||
fn upgrade_consensus(&mut self, new_config: ConsensusConfig) -> Result<()>;
|
||
fn upgrade_block_structure(&mut self, new_version: u32) -> Result<()>;
|
||
fn upgrade_network_protocol(&mut self, new_protocol: NetworkProtocol) -> Result<()>;
|
||
}
|
||
```
|
||
|
||
### L1层升级接口
|
||
|
||
```rust
|
||
pub trait L1Upgrade {
|
||
fn upgrade_vm_engine(&mut self, new_engine: VMEngine) -> Result<()>;
|
||
fn upgrade_gas_config(&mut self, new_config: GasConfig) -> Result<()>;
|
||
fn upgrade_opcode_set(&mut self, new_opcodes: Vec<Opcode>) -> Result<()>;
|
||
}
|
||
```
|
||
|
||
### L2宪法层升级接口
|
||
|
||
```rust
|
||
pub trait ConstitutionalUpgrade {
|
||
fn upgrade_to(&mut self, new_version: String, constitution_hash: [u8; 32]) -> Result<()>;
|
||
fn add_rule(&mut self, rule: ConstitutionalRule) -> Result<()>;
|
||
fn update_rule(&mut self, rule_id: String, new_rule: ConstitutionalRule) -> Result<()>;
|
||
fn remove_rule(&mut self, rule_id: String) -> Result<()>;
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 性能指标
|
||
|
||
### 吞吐量
|
||
|
||
- **TPS**: 3,000+ (实测)
|
||
- **区块确认时间**: 6秒(平均)
|
||
- **交易成功率**: 99.9%
|
||
|
||
### 资源消耗
|
||
|
||
- **内存占用**: ~500MB (节点)
|
||
- **磁盘占用**: ~10GB/年 (全节点)
|
||
- **网络带宽**: ~1Mbps (平均)
|
||
|
||
### Gas效率
|
||
|
||
- **简单转账**: 21,000 Gas
|
||
- **合约调用**: 50,000-100,000 Gas
|
||
- **复杂RWA操作**: 200,000-500,000 Gas
|
||
|
||
---
|
||
|
||
## 安全机制
|
||
|
||
### 1. 宪法收据验证
|
||
|
||
- 所有交易必须先获得CR
|
||
- CR签名验证
|
||
- CR有效期检查
|
||
- CR缓存防重放
|
||
|
||
### 2. 多签机制
|
||
|
||
- 关键操作需要多签批准
|
||
- 支持N-of-M多签
|
||
- 时间锁保护
|
||
|
||
### 3. 健康因子监控
|
||
|
||
- 实时监控GCR
|
||
- 自动预警和清算
|
||
- 风险准备金保护
|
||
|
||
### 4. 合规验证
|
||
|
||
- KYC/AML自动验证
|
||
- 多司法辖区规则检查
|
||
- 交易限额控制
|
||
|
||
---
|
||
|
||
## 部署架构
|
||
|
||
### 节点类型
|
||
|
||
1. **全节点 (Full Node)**
|
||
- 存储完整区块链数据
|
||
- 验证所有交易和区块
|
||
- 参与共识
|
||
|
||
2. **轻节点 (Light Node)**
|
||
- 只存储区块头
|
||
- 通过Merkle证明验证交易
|
||
- 适合移动端和浏览器
|
||
|
||
3. **区块生产者 (Block Producer)**
|
||
- 全节点 + 生产权限
|
||
- 需要DID + KYC验证
|
||
- 无需质押代币
|
||
|
||
### 网络拓扑
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 区块生产者网络 │
|
||
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
|
||
│ │ BP1 │────│ BP2 │────│ BP3 │────│ BP4 │ │
|
||
│ └────────┘ └────────┘ └────────┘ └────────┘ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 全节点网络 │
|
||
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
|
||
│ │ FN1 │────│ FN2 │────│ FN3 │────│ FN4 │ │
|
||
│ └────────┘ └────────┘ └────────┘ └────────┘ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
↓
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 轻节点网络 │
|
||
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
|
||
│ │ LN1 │────│ LN2 │────│ LN3 │────│ LN4 │ │
|
||
│ └────────┘ └────────┘ └────────┘ └────────┘ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 开发工具链
|
||
|
||
### SDK支持
|
||
|
||
- **Rust SDK**: 官方SDK,完整功能
|
||
- **JavaScript SDK**: Web和Node.js支持
|
||
- **Python SDK**: 数据分析和脚本
|
||
- **Go SDK**: 高性能应用
|
||
|
||
### 开发工具
|
||
|
||
- **NAC CLI**: 命令行工具
|
||
- **NAC Explorer**: 区块链浏览器
|
||
- **NAC Wallet**: 官方钱包
|
||
- **NAC Studio**: IDE插件
|
||
|
||
---
|
||
|
||
## 测试覆盖
|
||
|
||
### 单元测试
|
||
|
||
- **NVM-L0**: 97个测试 ✅
|
||
- **NVM-L1**: 29个测试 ✅
|
||
- **ACC协议**: 73个测试 ✅
|
||
- **总计**: 199个测试,100%通过率
|
||
|
||
### 集成测试
|
||
|
||
- **系统集成**: 10个测试 ✅
|
||
- **端到端流程**: 1个完整测试 ✅
|
||
- **跨层协作**: 3个测试 ✅
|
||
|
||
### 性能测试
|
||
|
||
- **TPS压测**: 3,000+ TPS ✅
|
||
- **延迟测试**: 6秒平均确认时间 ✅
|
||
- **负载测试**: 10,000并发交易 ✅
|
||
|
||
---
|
||
|
||
## 路线图
|
||
|
||
### Phase 13 (已完成) ✅
|
||
- NVM核心实现
|
||
- CBPP共识协议
|
||
- ACC协议层
|
||
- XTZH集成
|
||
|
||
### Phase 14 (进行中) 🚧
|
||
- 宪法执行引擎(CEE)
|
||
- XIC治理系统
|
||
- DID + KYC集成
|
||
|
||
### Phase 15-20 (规划中) 📋
|
||
- GNACS分类系统
|
||
- 预言机与跨链
|
||
- DEX和借贷协议
|
||
- 测试网部署
|
||
- 主网启动
|
||
|
||
---
|
||
|
||
## 附录
|
||
|
||
### A. 术语表
|
||
|
||
- **NVM**: NAC Virtual Machine,NAC虚拟机
|
||
- **CBPP**: Constitutional Block Production Protocol,宪政区块生产协议
|
||
- **CR**: Constitutional Receipt,宪法收据
|
||
- **OPN**: Open Production Network,开放生产网络
|
||
- **FBM**: Fluid Block Model,流体区块模型
|
||
- **XTZH**: NAC原生代币,黄金储备支撑
|
||
- **XIC**: NAC治理代币
|
||
- **GCR**: Gold Coverage Ratio,黄金覆盖率
|
||
- **ACC**: Asset Contract Core,资产合约核心
|
||
- **RWA**: Real World Asset,真实世界资产
|
||
|
||
### B. 参考文献
|
||
|
||
1. 《宪政区块生产协议(CBPP)技术白皮书》
|
||
2. 《宪政区块链设计:理念与工程实现》
|
||
3. 《XTZH价值稳定机制深度解析:SDR锚定模型与黄金储备保障》
|
||
4. 《NAC公链XTZH黄金永续合约储备法典》
|
||
5. 《NAC原生公链XTZH之RWA资产铸造细则》
|
||
|
||
### C. 联系方式
|
||
|
||
- **官网**: https://newassetchain.org
|
||
- **GitHub**: https://github.com/newassetchain
|
||
- **文档**: https://docs.newassetchain.org
|
||
- **社区**: https://community.newassetchain.org
|
||
|
||
---
|
||
|
||
**文档版本**: v2.0.0
|
||
**最后更新**: 2025年2月
|
||
**维护者**: NAC Core Development Team
|