Atomic Appends in Asynchronous Byzantine Distributed Ledgers
Fecha
2020-09Resumen
A Distributed Ledger Object (DLO) is a concurrent object that maintains a totally ordered sequence of records, and supports two operations: APPEND, which appends a record at the end of the sequence, and GET, which returns the whole sequence of records. The work presented in this article is made up of two main contributions.
The first contribution is a formalization of a Byzantine-tolerant Distributed Ledger Object (BDLO), which is a DLO in which 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.
The second contribution is 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.