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,也是delta框架轻微泛化下的delta状态CRDT。通过允许任意值作为有效载荷,blocklace在基于操作的方法下还可被视为适用于任意CRDT的通用拜占庭容错实现。现有方法仅关注CRDT收敛性,具有容忍歧义(不检测或防止歧义)的特性,这使得拜占庭节点可通过用无限数量的歧义污染CRDT状态来造成任意程度的危害。我们证明,blocklace不仅可用于容忍歧义的方式,还能实现检测并最终排除拜占庭行为(即歧义),即使在存在共谋的情况下也是如此。Blocklace CRDT协议确保拜占庭节点仅能危害计算的有限前缀。