Search papers, labs, and topics across Lattice.
This paper reveals a vulnerability in the blocklace Byzantine-Repelling Conflict-Free Replicated Data Type, demonstrating that malicious nodes can exploit the system to generate an arbitrarily large number of arbitrary updates. The authors show that despite the intended restrictions on replication, the finite limit of replicated updates can be manipulated to match the identifier space, allowing attackers to inundate correct nodes with meaningless data. As a result, the findings necessitate stricter controls on identifier acceptance in practical implementations to safeguard against such memory-exhaustion attacks.
Malicious nodes can exploit blocklace's design to overwhelm correct nodes with an infinite stream of arbitrary updates, threatening system integrity.
The blocklace is a directed acyclic graph encoding the causal relationship between authenticated updates produced by participating nodes. Compared to previous approaches, it adds restrictions on what can be replicated: a new update and its causal history is replicated locally if and only if either 1) it reveals a new node behaving arbitrarily (byzantine), or 2) it was signed by a node that still appears to be correct and the new updates provide evidence incriminating at least the set of nodes locally known to have behaved arbitrarily. The restrictions purport to limit the replication of arbitrary updates, even in the presence of colluders that never produce incriminating evidence, so that only a finite number will eventually be replicated by correct nodes. While the original description of the replication behaviour successfully achieve this aim, we show that this finite number can be made arbitrarily large, up to the size of the identifier space used to authenticate messages. This effectively enables malicious nodes to overwhelm correct nodes with arbitrary and useless updates. Practical deployments therefore require additional restrictions on the set of identifiers that will be accepted by correct nodes.