In this paper, we design a family of $[n,k,d]$ block circulant codes that consist of many $[n_0 \ll n,k_0 \ll k,d_0]$ local codes and that satisfy three properties: (1) the code supports distributed erasure decoding, (2) $d$ can be scaled above $d_0$ by a given parameter, and (3) it is amenable to low complexity verification of code symbols using a cryptographic commitment scheme. These properties make the code ideal for use in protocols that address the data availability problem in blockchain networks. Moreover, the code outperforms the currently used 2D Reed-Solomon (RS) code with a larger relative minimum distance $(d/n)$, as desired in the protocol, for a given rate $(k/n)$ in the high-rate regime. The code is designed in two steps. First, we develop the topology, i.e., the structure of linear dependence relations among code symbols, and define it as the block circulant topology $T_{[\mu,\lambda,\omega]}(\rho)$. In this topology, there are $\mu$ local codes, each constrained by $\rho$ parity checks. The set of symbols of a local code intersects with another in a uniform pattern, determined by two parameters, namely the overlap factor $\lambda$ and the overlap width $\omega$. Next, we instantiate the topology, i.e., to specify the coefficients of linear dependence relations, to construct the block circulant codes ${\cal C}_{\text{BC}}[\mu,\lambda,\omega,\rho]$. Every local code is a $[\lambda\omega+\rho,\lambda\omega,\rho+1]$ generalized RS code. The block circulant code has $n=\mu(\rho+\omega)$, $k=\mu\omega$ and we show that $d=\lambda\rho+1$ under certain conditions. For $\lambda=2$, we prove that $d=2\rho+1$ always, and provide an efficient, parallelizable erasure-correcting decoder that fully recovers the codeword when there are $\leq 2\rho$ erasures. The decoder uses a novel decoding mechanism that iteratively recovers erasures from pairs of local codes.
翻译:本文设计了一类$[n,k,d]$块循环码,该码由多个$[n_0 \ll n,k_0 \ll k,d_0]$局部码构成,并满足三个特性:(1) 该码支持分布式擦除解码;(2) 其最小距离$d$可通过给定参数扩展至$d_0$以上;(3) 该码适合使用密码学承诺方案对码符号进行低复杂度验证。这些特性使得该码非常适合用于解决区块链网络中数据可用性问题的协议。此外,在给定码率$(k/n)$的高码率区域,该码相较于当前使用的二维里德-所罗门(RS)码具有更大的相对最小距离$(d/n)$,符合协议需求。该码的设计分为两个步骤。首先,我们构建其拓扑结构——即码符号间线性依赖关系的结构,并将其定义为块循环拓扑$T_{[\mu,\lambda,\omega]}(\rho)$。在此拓扑中,存在$\mu$个局部码,每个局部码受$\rho$个奇偶校验约束。任意两个局部码的符号集以均匀模式相交,该模式由重叠因子$\lambda$和重叠宽度$\omega$两个参数决定。接着,我们对拓扑进行实例化——即指定线性依赖关系的系数,以构造块循环码${\cal C}_{\text{BC}}[\mu,\lambda,\omega,\rho]$。每个局部码均为$[\lambda\omega+\rho,\lambda\omega,\rho+1]$广义RS码。该块循环码的参数为$n=\mu(\rho+\omega)$,$k=\mu\omega$,并在特定条件下证明其$d=\lambda\rho+1$。对于$\lambda=2$,我们严格证明$d=2\rho+1$恒成立,并提供一种高效、可并行化的擦除纠正解码器,能够在擦除数量$\leq 2\rho$时完整恢复码字。该解码器采用一种新颖的解码机制,通过迭代地从成对的局部码中恢复擦除符号。