  An accountable distributed system provides means to detect deviations of
system components from their expected behavior. It is natural to complement
fault detection with a reconfiguration mechanism, so that the system could heal
itself, by replacing malfunctioning parts with new ones. In this paper, we
describe a framework that can be used to implement a large class of accountable
and reconfigurable replicated services. We build atop the fundamental lattice
agreement abstraction lying at the core of storage systems and
cryptocurrencies.
  Our asynchronous implementation of accountable lattice agreement ensures that
every violation of consistency is followed by an undeniable evidence of
misbehavior of a faulty replica. The system can then be seamlessly reconfigured
by evicting faulty replicas, adding new ones and merging inconsistent states.
We believe that this paper opens a direction towards asynchronous
"self-healing" systems that combine accountability and reconfiguration.
