NAC_Blockchain/nac-wallet-core/WHITEPAPER_REQUIREMENTS.md

203 lines
8.1 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钱包核心技术白皮书 - 实现要点
## 一、钱包架构
### 核心模块
1. **密钥管理模块** - 生成/存储/签名
2. **账户管理模块** - 地址派生、余额查询、历史记录
3. **交易构造模块** - 转账、合约调用、资产发行
4. **宪法收据模块** - 向CEE请求CR、验证CR
5. **资产解析模块** - GNACS解析、代币标准识别
6. **网络通信模块** - 与节点RPC交互、与CEE交互
7. **宪法沙箱模块** - 模拟交易合规性
### 底层依赖
- nac-primitives (Address, Hash, 编码转换)
- nac_serde (序列化)
- nac-toolbox (可选,用于一键上链)
- 密码学库 (Ed25519, BLS, Dilithium)
## 二、密钥管理与账户模型
### 2.1 密钥生成
支持三种签名算法:
1. **Ed25519** - 默认账户密钥,用于普通交易
2. **BLS** - 用于需要聚合签名的场景(如多签、跨链中继)
3. **Dilithium5** - 后量子备选,用于高安全需求账户
**助记词**: 遵循BIP39生成种子。派生路径遵循NAC标准: `m/44'/626'/0'/0/index` (其中626是NAC的BIP44 coin type需向SLIP注册)
### 2.2 结构化地址生成
公钥经SHA3-384哈希取前26字节加上版本、类型、KYC等级、区域等字段拼接成32字节Address。钱包应提供从公钥到结构化地址的完整计算。
**地址字段**:
- version: 地址格式版本 (当前1)
- type: 账户类型 (个人/企业/合约/系统)
- kyc_level: KYC等级 (0-3)
- region: 司法管辖区代码 (ISO3166-1)
- pubkey_hash: 公钥哈希 (26字节)
### 2.3 密钥存储
1. **加密**: 使用AES-256-GCM加密私钥密码派生自用户口令
2. **存储格式**: JSON文件 (类似Web3 Secret Storage)包含加密私钥、地址、元数据账户类型、KYC凭证哈希等
3. **硬件钱包支持**: 计划支持Ledger、Trezor等硬件钱包通过NAC App集成
## 三、交易构造与宪法收据
### 3.1 交易结构
NAC交易包含两部分**交易体 + 宪法收据 (CR)**。CR必须在交易广播前获取。
```
message Transaction {
bytes transaction_payload = 1; // 原始交易数据(类型、金额、目标等)
ConstitutionalReceipt receipt = 2; // 宪法收据
}
```
### 3.2 交易构造流程
1. **用户输入**: 选择资产、输入接收地址、金额等
2. **交易体构造**: 钱包根据资产类型XTZH、XIC、ACC-20代币构造相应的交易体
3. **向CEE请求CR**:
- 钱包将交易体或交易哈希及辅助信息如资产GNACS、KYC凭证发送给CEE节点
- CEE验证交易符合宪法条款返回CR
4. **签名**: 用户用私钥对交易体+CR的联合哈希签名确保交易和CR绑定
5. **广播**: 将完整交易含签名发送至NAC节点
### 3.3 宪法收据 (CR) 格式回顾
```
message ConstitutionalReceipt {
bytes32 transaction_hash;
bytes32 constitutional_hash;
uint64 clause_mask;
bytes32 execution_result_hash;
uint64 timestamp;
uint64 validity_window;
repeated bytes signatures; // CEE节点签名
bytes32 receipt_id;
}
```
钱包需验证CR的签名、宪法哈希是否匹配当前网络、是否在有效期内。
### 3.4 多CEE节点策略
钱包可配置多个CEE节点地址。请求CR时可并行请求取第一个有效响应或等待多个签名对于高价值交易。若CEE节点无响应可切换备用节点。
## 四、资产支持
### 4.1 原生代币
1. **XTZH**: 稳定币,用于支付、储备。单位: xtzh (精度1e6)。钱包需显示XTZH余额、汇率与SDR/USD
2. **XIC**: 治理币,用于支付交易费、质押。单位: xic (精度1e18)
### 4.2 ACC-20代币
1. 通过合约地址识别从链上获取GNACS编码
2. 钱包解析GNACS显示资产类型、风险等级、合规要求等信息
3. 支持发送ACC-20代币调用合约的transfer方法
### 4.3 ACC-1400证券型代币
1. 支持分区余额(如普通股、员工股)
2. 发送时需指定分区ID
3. 钱包应展示不同分区的余额
### 4.4 GNACS解析
钱包内置GNACS解析器将48位编码转换为人类可读信息
1. 资产类型(如"不动产收益权"
2. 风险权重巴塞尔III
3. 合规等级(完全合规/高风险等)
4. 实时状态(正常/冻结/注销)
## 五、与CEE交互协议
### 5.1 CEE节点发现
钱包可从链上系统合约CEEList获取当前活跃CEE节点列表公钥、端点。建议钱包缓存此列表定期更新。
### 5.2 请求CR的API
```
POST /cee/v1/issue-receipt
Content-Type: application/json
{
"transaction_hash": "0x...",
"transaction_payload": "base64...", // 可选
"auxiliary_data": {
"kyc_proof": "...",
"asset_gnacs": "..."
}
}
```
响应:
```
{
"receipt": { ... }, // CR对象
"signature": "0x..." // CEE节点签名已包含在CR中
}
```
### 5.3 错误处理
CEE可能返回错误如"KYC等级不足"、"资产已冻结"),钱包应解析错误信息并友好提示用户。
### 5.4 离线CR高级
对于特殊场景如完全离线环境CEE可提供预签名收据但有效期较短。钱包需在有效期内广播交易。
## 六、离线与在线模式
### 6.1 在线模式
默认模式。钱包连接节点实时查询余额、发送交易、获取CR。
### 6.2 离线模式
1. 用户可在离线环境构造交易,导出待签名文件
2. 将文件导入在线设备或通过二维码获取CR和广播
3. 离线钱包需存储宪法状态文件定期更新用于本地解析宪法条款、验证CR签名、估算费用等
### 6.3 宪法状态同步
钱包定期从节点同步最新的宪法状态文件constitutional_state.json用于本地解析宪法条款、验证CR签名、估算费用等。
## 七、宪法沙箱集成
钱包应集成宪法沙箱nac sandbox允许用户在发送真实交易前模拟交易结果。
1. 用户选择"测试模式"钱包调用本地沙箱API模拟交易执行返回合规性结果、预估费用、CR等
2. 沙箱模式不消耗真实XIC适合新手学习和复杂交易验证
## 八、与nac-toolbox及一键上链系统的联动
钱包将作为nac-toolbox的一部分提供CLI和API同时也有独立的图形界面版本桌面/移动/Web。所有钱包实现必须通过宪法法院的审计确保不泄露私钥、不篡改交易。
1. **一键上链过程中**,需要用户签名资产发行交易,钱包负责签名并将交易提交
2. 钱包提供"资产发行"界面,引导用户完成信息填写(可复用一键上链前端部分逻辑)
## 九、安全与审计
### 9.1 私钥安全
1. 私钥永不离设备,不通过网络发送
2. 支持硬件钱包、生物识别等额外保护
### 9.2 交易验证
1. 钱包在签名前必须向用户展示完整的交易详情包括接收地址、金额、资产类型、CR信息
2. 高风险交易(如资产发行、大额转账)需二次确认
### 9.3 代码审计
1. 钱包代码必须开源,并接受宪法法院授权的第三方审计
2. 每次发布新版本,需提交审计报告,版本哈希上链存证
### 9.4 宪法免疫集成
钱包可集成宪政免疫系统客户端,定期检查自身代码哈希与链上合法版本是否一致,防止篡改。
## 十、路线图
| 阶段 | 时间 | 交付物 |
|------|------|--------|
| Phase 1 | 2026.02-03 | CLI钱包原型支持XTZH/XIC转账、CR获取 |
| Phase 2 | 2026.03-04 | ACC-20/ACC-1400资产支持、GNACS解析 |
| Phase 3 | 2026.04-05 | 图形界面钱包Web/桌面) |
| Phase 4 | 2026.05-06 | 移动端钱包iOS/Android |
| Phase 5 | 2026.06 | 硬件钱包支持、宪法沙箱集成 |
| Phase 6 | 2026.07 | 主网上线,通过宪法法院审计 |
## 十一、结论
NAC钱包是连接用户与宪法区块链的桥梁。它不仅管理密钥和资产更确保每一笔交易在宪法框架内合规执行。通过深度集成CEE、GNACS、宪法状态等NAC原生特性钱包成为NAC生态中不可或缺的"合规入口"。所有实现均遵循开源、可审计原则与NAC"宪美中心化框架下的去中心化"理念一脉相承。
---
**制定人**: NAC钱包工作组
**最后更新**: 2026年2月14日
**文档状态**: 正式发布