17 KiB
17 KiB
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)
核心理念: "参与即是共识"
三大支柱:
-
宪法收据 (Constitutional Receipt, CR)
- 所有交易必须先获得CR才能进入区块链
- CR包含:交易哈希、宪法版本、条款索引、执行结果、签名
- 有效期:1小时(可配置)
- 缓存机制:LRU缓存,最多10000条
-
开放生产网络 (Open Production Network, OPN)
- 任何满足条件的节点都可以成为区块生产者
- 准入条件:DID + KYC验证
- 无需质押代币
- 资格审核:待审核 → 审核中 → 已批准 → 已拒绝
-
流体区块模型 (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价格表:
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个原生协议:
- ACC-20 - 可替代资产协议
- ACC-721 - 唯一资产协议
- ACC-1155 - 多类型资产协议
- ACC-RWA - 真实世界资产协议
- ACC-Compliance - 合规协议
- ACC-Valuation - 估值协议
- ACC-Custody - 托管协议
- ACC-Collateral - 抵押协议
- ACC-Redemption - 赎回协议
- ACC-Insurance - 保险协议
- ACC-Governance - 治理协议
3.2 XTZH相关协议
新增2个协议:
-
ACC-XTZH - XTZH原生代币协议
- 总供应量管理
- 铸造和销毁
- 转账和余额查询
- 健康因子监控
-
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大资产类别:
- 不动产类 (RealEstate)
- 金融证券类 (Securities)
- 大宗商品类 (Commodities)
- 艺术品与收藏品类 (Collectibles)
- 知识产权类 (IntellectualProperty)
- 数字资产类 (DigitalAssets)
- 基础设施类 (Infrastructure)
- 自然资源类 (NaturalResources)
- 环境权益类 (EnvironmentalRights)
- 企业权益类 (CorporateEquity)
- 债权类 (DebtInstruments)
- 保险产品类 (InsuranceProducts)
- 农业资产类 (AgriculturalAssets)
- 交通工具类 (Vehicles)
- 机械设备类 (Machinery)
- 数据资产类 (DataAssets)
- 品牌资产类 (BrandAssets)
- 体育资产类 (SportsAssets)
- 娱乐资产类 (EntertainmentAssets)
- 其他无形资产类 (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层升级接口
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层升级接口
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宪法层升级接口
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自动验证
- 多司法辖区规则检查
- 交易限额控制
部署架构
节点类型
-
全节点 (Full Node)
- 存储完整区块链数据
- 验证所有交易和区块
- 参与共识
-
轻节点 (Light Node)
- 只存储区块头
- 通过Merkle证明验证交易
- 适合移动端和浏览器
-
区块生产者 (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. 参考文献
- 《宪政区块生产协议(CBPP)技术白皮书》
- 《宪政区块链设计:理念与工程实现》
- 《XTZH价值稳定机制深度解析:SDR锚定模型与黄金储备保障》
- 《NAC公链XTZH黄金永续合约储备法典》
- 《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