中文

Cerberus:极简多分片拜占庭容错事务处理

分布式、并行与集群计算 2020-08-12 v1 数据库

摘要

为实现高性能且可扩展的区块链,我们需要摆脱传统的基于共识的全复制设计。一个方向是探索分片的使用,即将管理的数据集划分到多个独立作为区块链运行的分片上。然而,分片需要一种高效的容错原语来对跨分片事务进行排序与执行。在本工作中,我们致力于设计一种适用于高事务吞吐量的分布式账本网络的此类原语。为此,我们提出 Cerberus,一组用于处理单分片与多分片类 UTXO 事务的极简原语。Cerberus 旨在最大化分片上的并行处理,同时最小化分片内与分片间的协调。首先,我们提出 Core-Cerberus,其利用严格的环境要求来实现简单而强大的多分片事务处理。在我们预期的类 UTXO 环境中,Core-Cerberus 在面对由行为良好客户端提出并批准的所有事务时将完美运行,但不为其他事务提供任何保证。为同时支持更通用的环境,我们提出 Core-Cerberus 的两种泛化:我们提出 Optimistic-Cerberus,一种在行为良好的乐观情况下不需要任何额外协调阶段、而在从攻击中恢复时需要复杂协调的协议;以及我们提出 Pessimistic-Cerberus,一种向 Core-Cerberus 的行为良好情况添加充分协调的协议,使其能在通用容错环境中运行而无需为从攻击中恢复付出显著代价。最后,我们比较这三种协议,展示了它们在实际环境中的潜在可扩展性与高事务吞吐量。

关键词

引用

@article{arxiv.2008.04450,
  title  = {Cerberus: Minimalistic Multi-shard Byzantine-resilient Transaction Processing},
  author = {Jelle Hellings and Daniel P. Hughes and Joshua Primero and Mohammad Sadoghi},
  journal= {arXiv preprint arXiv:2008.04450},
  year   = {2020}
}