传统区块链系统往往选择:
- 全量复制(所有节点存全部数据)
- 每笔交易全网共识
结果是:安全有了,但吞吐量惨不忍睹
一旦数据量或交易规模上来,系统直接“卡死”。
那有没有可能:
既能分片扩容,又能抗拜占庭攻击,还能支持数据库级事务?
ByShard给出了一个非常系统且工程可落地的答案。

一、问题分析
真正的难点在于跨分片事务。对于交易“从 A 转 100 给 B“
如果:
- A 在 shard1
- B 在 shard2
那这笔交易必须:
1、 两个 shard 都成功
2、要么一起 commit,要么一起 abort
3、不能出现「扣了A钱但B没到账」
也就是必须满足:原子性 + 一致性 + 隔离性(ACID)
但在 拜占庭环境(恶意节点/网络攻击/崩溃) 下:
- 不能简单用 2PC
- 不能信任任何单个 shard
- 不能中心协调
传统数据库方法直接失效
二、Orchestrate-Execute Model(OEM)
把跨分片事务拆成两阶段:
Orchestrate全局达成 commit/abort 共识
Execute 执行数据更新
优点:每个 shard 最多只需 2 次共识。
三、Byzantine 版 Two-Phase Locking
数据库经典的:
Two-Phase Locking(2PL)
也移植到了拜占庭系统!
实现:Serializable、Read Committed、Read Uncommitted
多级隔离
也就是说:这是少见的「真正支持数据库级事务语义」的区块链/分布式账本系统。而不是只支持 UTXO 那种简化模型。
四、实验效果


1、高吞吐:低冲突时所有协议都有 excellent throughput
2. 真正可扩展:增加 shard 数量,每个 shard 工作量下降
3. 可自由权衡不同协议在:latency、isolation、abort rate之间形成 trade-off