BLUEPRINT
第十二章 技术架构
12.1 架构总览
┌─────────────────────────────────────────────┐
│ 应用层(DApp、Fay 接口、治理界面) │
├─────────────────────────────────────────────┤
│ Layer 2: ZK Rollup(高频交易处理) │
│ - 贡献记录、亲密度更新、日常交互 │
├─────────────────────────────────────────────┤
│ Layer 1: Substrate 专用链(结算与共识) │
│ - 状态根锚定、身份管理、治理投票 │
├─────────────────────────────────────────────┤
│ 身份层: DID + PKI + ZKP │
└─────────────────────────────────────────────┘
12.2 技术选型对比
讨论中评估了多种路线:
| 方案 | 优势 | 劣势 | 结论 |
|---|---|---|---|
| Ethereum 主网 | 生态成熟、安全性高 | Gas 费高、TPS 低(15-30) | 不适合全民高频记录 |
| Ethereum L2 | 降低费用 | 仍受限于 Ethereum 生态 | 备选 |
| DAG(IOTA/Nano) | 高吞吐、无手续费 | 共识安全性弱 | 安全性不足 |
| Substrate 自建链 | 完全可定制、无 Gas 费 | 需自建生态 | 推荐 |
Gas 费问题
Gas 费是 Ethereum 等公链上每笔交易的计算费用。全民每天产生大量微贡献记录,每条都上链的话费用极其高昂。GMC 需要免费或极低成本的记录方式。
吞吐量问题
Ethereum 主网约 15-30 TPS。全球数十亿用户的贡献记录,这个吞吐量远远不够。
12.3 Substrate 专用链
为什么选择 Substrate
- 完全可定制共识:设计专门适合贡献度记录的共识算法
- 无 Gas 费:可设计为免费交易
- 可定制治理模块:天然适合社区共识
- Polkadot 互操作:可通过中继链与其他链互操作
- 模块化:按需组合 Runtime 模块
选择理由
GMC 的特殊需求决定了通用公链不适合:
- 全民参与 = 极高交易量
- 微贡献记录 = 高频低价值交易
- 不可收费 = 不能让记录贡献变成经济负担
- 需要定制衰减计算和亲密度算法
12.4 ZK Rollup
核心思想
链下执行,链上验证:
- 日常贡献记录在 L2 高速处理,无费用,高吞吐
- 定期将批量记录的零知识证明提交到 L1
- L1 只存储压缩后的状态根
ZK Rollup vs Optimistic Rollup
| 特性 | ZK Rollup | Optimistic Rollup |
|---|---|---|
| 验证方式 | 零知识证明(数学保证) | 欺诈证明(挑战期) |
| 确认时间 | 快 | 慢(通常 7 天) |
| 安全性 | 数学保证 | 依赖诚实验证者 |
| 计算成本 | 高 | 低 |
选择 ZK Rollup:信誉系统需要快速确认和数学保证的安全性。
分工
- L2 处理:贡献记录创建、MeriToken 实时计算、亲密度更新
- L1 锚定:状态根、身份注册/变更、治理投票结果、惩罚记录
12.5 数据存储
链上(L1):身份注册表、状态根、治理记录、惩罚记录
Rollup(L2):MeriToken 余额和批次、亲密度、贡献记录
链下(IPFS等):交互明细、贡献证据、大文件
12.6 共识机制
- 验证节点准入:需要一定 MeriToken(信誉担保)
- 验证激励:验证工作本身也是贡献,可获得 Merit
- L1 共识:GRANDPA/BABE(Substrate 默认)
- L2 共识:轻量级 BFT
12.7 性能估算
假设 10 亿用户,每人每天 5 条记录:
- 日交易量:50 亿条
- TPS 需求:~58,000
- 需要:多个并行 Rollup 实例(分片)、高效证明生成、分布式 L2 节点
12.8 讨论备注
技术架构的核心决策:
- 专用链而非通用公链:GMC 需求太特殊
- ZK Rollup 而非 Optimistic:需要快速确认和数学保证
- 分层存储:安全性和可扩展性的平衡
- 性能是最大挑战:全民参与的规模前所未有
这是讨论稿阶段的架构设想,实际实现时需根据技术发展调整。
