Erasure codes are a critical component in reliable storage systems today, and many blockchain systems use consensus protocols that involve erasure codes to reduce their communication cost. Existing erasure codes rely on a threshold failure assumption, but recent blockchain systems have departed from this simple model and use generalized failure assumptions. This paper introduces monotone erasure codes that respect arbitrary trust assumptions on a set of nodes. The paper first describes a method for constructing a monotone erasure code from any access structure given by a monotone Boolean formula. Next, the relevant notion of a linear monotone erasure code is introduced, which works on vectors over a finite field and where the encoding is a linear operation. We then focus on constructing linear monotone erasure codes: We give an efficient algorithm to construct linear monotone erasure codes for any access structure, and we show how to efficiently construct linear monotone erasure codes for the special case of partitioned access structures with minimal storage overhead. Last but not least, this work also shows how to use monotone erasure codes to obtain a communication-efficient, generalized version of the well-known asynchronous verifiable information dispersal (AVID) primitive, which is a key building block for developing efficient reliable broadcast and consensus protocols.
翻译:擦除码如今是可靠存储系统中的关键组件,许多区块链系统采用涉及擦除码的共识协议以降低通信成本。现有擦除码依赖于阈值故障假设,但近期区块链系统已脱离这一简单模型,转而采用广义故障假设。本文提出了单调擦除码,它能尊重对节点集合的任意信任假设。本文首先描述了一种方法,可从任意由单调布尔公式给出的访问结构中构造单调擦除码。接着引入了线性单调擦除码的相关概念,该编码作用于有限域上的向量,且编码过程为线性操作。随后我们聚焦于构造线性单调擦除码:针对任意访问结构,我们给出了一种高效的构造算法;针对分区访问结构的特例,我们展示了如何在最小化存储开销的前提下高效构造线性单调擦除码。最后但同样重要的是,本文还展示了如何利用单调擦除码获得已知异步可验证信息分发(AVID)原语的通信高效广义版本,该原语是开发高效可靠广播与共识协议的关键构建模块。