Conflict-free Replicated Data Types (CRDTs) are designed for replica convergence without global coordination or consensus. Recent work has achieves the same in a Byzantine environment, through DAG-like structures based on cryptographic hashes of content. The blocklace is a partially-ordered generalization of the blockchain in which each block has any finite number of signed hash pointers to preceding blocks. We show that the blocklace datatype, with the sole operation of adding a single block, is a CRDT: it is both a pure operation-based CRDT, with self-tagging; and a delta-state CRDT, under a slight generalization of the delta framework. Allowing arbitrary values as payload, the blocklace can also be seen as a universal Byzantine fault-tolerant implementation for arbitrary CRDTs, under the operation-based approach. Current approaches only care about CRDT convergence, being equivocation-tolerant (they do not detect or prevent equivocations), allowing a Byzantine node to cause an arbitrary amount of harm by polluting the CRDT state with an infinite number of equivocations. We show that a blocklace can be used not only in an equivocation-tolerant way, but also so as to detect and eventually exclude Byzantine behavior, namely equivocations, even under the presence of collusion. The blocklace CRDT protocol ensures that the Byzantine nodes may harm only a finite prefix of the computation.
翻译:摘要:无冲突复制数据类型(CRDT)专为无需全局协调或共识的副本收敛而设计。近期研究通过基于内容密码学哈希的DAG类结构,在拜占庭环境下实现了相同的目标。Blocklace是区块链的一种偏序推广,其中每个区块可包含任意有限数量的指向先前区块的签名哈希指针。我们证明,仅具有添加单个区块这一操作的Blocklace数据类型即是一种CRDT:它既是一种带有自标记的纯操作型CRDT,也是增量框架轻微泛化下的增量状态CRDT。通过允许任意值作为有效载荷,基于操作型方法,Blocklace还可被视为任意CRDT的通用拜占庭容错实现。现有方法仅关注CRDT收敛,具有容忍模糊性(即不检测或阻止模糊行为)的特性,这使得拜占庭节点能够通过用无限数量的模糊数据污染CRDT状态而造成任意程度的损害。我们证明,Blocklace不仅能够以容忍模糊性的方式使用,还能在存在共谋的情况下检测并最终排除拜占庭行为(即模糊性)。Blocklace CRDT协议确保拜占庭节点仅可能损害计算的有限前缀部分。