SearcharxivSearch

arXiv subjects

Amit Hendin

Publications and source records attributed to Amit Hendin.

2 recordsLinked to original sources

Self-Stabilizing Replicated State Machine Coping with Byzantine and Recurring Transient Faults

The ability to perform repeated Byzantine agreement lies at the heart of important applications such as blockchain price oracles or replicated state machines. Any such protocol requires the following properties: (1) \textit{Byzantine fault-tolerance}, because not all participants can be assumed to be honest, (2) r\textit{ecurrent transient fault-tolerance}, because even honest participants may be subject to transient ``glitches'', (3) \textit{accuracy}, because the results of quantitative queries (such as price quotes) must lie within the interval of honest participants' inputs, and (4) \textit{self-stabilization}, because it is infeasible to reboot a distributed system following a fault. This paper presents the first protocol for repeated Byzantine agreement that satisfies the properties listed above. Specifically, starting in an arbitrary system configuration, our protocol establishes consistency. It preserves consistency in the face of up to $\lceil n/3 \rceil -1$ Byzantine participants {\em and} constant recurring (``noise'') transient faults, of up to $\lceil n/6 \rceil-1$ additional malicious transient faults, or even more than $\lceil n/6 \rceil-1$ (uniformly distributed) random transient faults, in each repeated Byzantine agreement.

cs.DC

Obfuscated Consensus

The classic Fischer, Lynch, and Paterson impossibility proof demonstrates that any deterministic protocol for consensus in either a message-passing or shared-memory system must violate at least one of termination, validity, or agreement in some execution. But it does not provide an efficient procedure to find such a bad execution. We show that for wait-free shared memory consensus, given a protocol in which each process performs at most $s$ steps computed with total time complexity at most $t$, there exists an adversary algorithm that takes the process's programs as input and computes within $O(st)$ time a schedule that violates agreement. We argue that this bound is tight assuming the random oracle hypothesis: there exists a deterministic obfuscated consensus protocol that forces the adversary to spend ${\Omega}(st)$ time to find a bad execution despite having full access to all information available to the protocol. This bound is based on a general reduction from constructing an obfuscated consensus protocol to constructing an obfuscated threshold function that provably costs $\Omega(t)$ time to evaluate on a single input, where $t$ is a tunable parameter, and for which an adversary with access to the threshold function implementation cannot extract the threshold any faster than by doing binary search. We give a particular implementation of such an obfuscated threshold function that is not very efficient but that is provably secure assuming the random oracle hypothesis. Since our obfuscated consensus protocol does not depend on the specific details of this construction, it may be possible to replace it with one that is more efficient or requires weaker cryptographic assumptions, a task we leave for future work.

cs.DC