第十二章 技术架构

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

  1. 完全可定制共识:设计专门适合贡献度记录的共识算法
  2. 无 Gas 费:可设计为免费交易
  3. 可定制治理模块:天然适合社区共识
  4. Polkadot 互操作:可通过中继链与其他链互操作
  5. 模块化:按需组合 Runtime 模块

选择理由

GMC 的特殊需求决定了通用公链不适合:

  • 全民参与 = 极高交易量
  • 微贡献记录 = 高频低价值交易
  • 不可收费 = 不能让记录贡献变成经济负担
  • 需要定制衰减计算和亲密度算法

12.4 ZK Rollup

核心思想

链下执行,链上验证:

  • 日常贡献记录在 L2 高速处理,无费用,高吞吐
  • 定期将批量记录的零知识证明提交到 L1
  • L1 只存储压缩后的状态根

ZK Rollup vs Optimistic Rollup

特性ZK RollupOptimistic 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:需要快速确认和数学保证
  • 分层存储:安全性和可扩展性的平衡
  • 性能是最大挑战:全民参与的规模前所未有

这是讨论稿阶段的架构设想,实际实现时需根据技术发展调整。