Atomic Appends in Asynchronous Byzantine Distributed Ledgers
Fecha
2023-12Resumen
A Distributed Ledger Object (DLO) is a concurrent object that maintains a
totally ordered sequence of records. In this work we formalize a linearizable
Byzantine-tolerant Distributed Ledger Object (BDLO), which is a linearizable
DLO where clients and servers processes may deviate arbitrarily from their
intended behavior (i.e. they may be Byzantine). The proposed formal definition
is accompanied by algorithms that implement BDLOs on top of an underlying
Byzantine Atomic Broadcast service.
Then we develop a suite of algorithms, based on the previous BDLO implementations, that solve the Atomic Appends problem in the presence of asynchrony, Byzantine clients and Byzantine servers. This problem occurs when
clients have a composite record (set of basic records) to append to different
BDLOs, in such a way that either each basic record is appended to its BDLO
(and this must occur in good circumstances), or no basic record is appended.
Distributed algorithms are presented, which solve the Atomic Appends problem when the clients (involved in the Atomic Appends) and the servers (which maintain the BDLOs) may be Byzantine. Finally we provide proof of concept
implementations and an experimental evaluation of the presented algorithms.