Bit0r

区块链数据模型全景图

一个金融系统的核心,在于它如何将“人”和“物”进行映射与管理,同时保留“物”在不同“人”之间流转的“操作历史”。 例如传统的银行系统中,账户是“人”的映射,余额则是“物”的映射,而每一笔交易记录则是“操作历史”。

有了这样的“逻辑模型”,于是就要设计对应的“计算模型”,来实现对“人”,“物”和“操作历史”的增删改查。 例如是使用关系型数据库,还是区块链数据库?甚至是DHT分布式存储?

而区块链技术,则为我们提供了多种独特的数据模型来实现这一目标。以下是区块链领域中几种主要的数据模型的全景图:

维度 逻辑模型 Key(索引) 计算模型 代表项目
Account 账户地址 全局状态机 Ethereum
  Actor 进程 ID 异步微服务 ICP
  Optimistic Account 账户地址 乐观并行执行 Aptos,Monad
  Parallel Account 文件句柄 悲观并发控制 Solana
  Stateless Client 状态根 链上存根,用户存状态 Eth(The Verge)
  Block-Lattice 账户地址 写入私有账本,全网公证账本 Nano
  Agent-Centric 代理 ID 只有私有账本,按需共享至DHT Holochain
UTXO 资金 ID 现金流转 Bitcoin
  Object 物品 ID 资产流转 Sui
  Cell 容器 ID 空间所有权 Nervos CKB
  eUTXO 资金 ID 带状态的L1 Cardano,Ergo
  Client-Side 资金 ID L1仅存承诺,链下数据和计算 RGB,Taproot Assets
  Inscription 资金 ID L1仅存数据,链下计算 BRC-20,ARC-20
  UTXO 交易 ID 交易DAG,无块化投票 IOTA
  UTXO 资金 ID 区块DAG Kaspa
  Resource/Intent 承诺/约束 链下意图撮合,链上零知识验证 Anoma
历史 SCP (Log) 事件序列 只存过程,不存结果 Arweave
  SCP (Log) 进程 ID SCP+Actor Arweave(AO)
去数据化 ZK-Proof 数学证明 只存递归证明,不存数据 Mina
数据库 immutable R-DB 主键 类关系型数据库模型 Chromia,MUD,Dojo
  immutable KV-DB 命名空间 ID 类KV数据库模型 Celestia

最后的洞察

计算机科学的发展史,就是一部 “到底把状态(State)藏在哪?” 的折腾史。