2 research outputs found
Recommended from our members
Reliable distributed information : agreement and structure
The world is inherently distributed and concurrent.
The more complicated systems become, the more likely they are to fail or
partially fail.
This work presents several results with Byzantine Agreement and some results of
using coding in solving distributed and concurrent problems.
We explore adding weights to processes to model a priori knowledge of process reliability.
Then, some results of what can be done when performing repeated agreement.
A result between combinatorial geometry and approximate Byzantine agreement is also provided.
Coding is often used in communication, but here we provide examples of the
usage of coding to minimize broadcast information and to solve a concurrent
problem.
The first use of coding is to notice the redundant information in distributed
protocols and how to use a code to reduce the amount of information needed to
be transmitted.
The second is a method of using coding to provide a buffer of memory in a
concurrent system that can be updated such that readers see the update as
atomic.Electrical and Computer Engineerin
Accurate Byzantine Agreement with Feedback
The standard Byzantine Agreement (BA) problem requires non-faulty processes to agree on a common value. In many real-world applications, it is important that the processes agree on the correct value rather than any value. In this paper, we present a problem called Accurate Byzantine Agreement (ABA) in which all processes get a common feedback (or payoff) from the environment indicating if the value they agreed upon was correct or not. The solution to this problem, referred to as the ABA algorithm, requires the non-faulty processes to incorporate the feedback so that their chance of choosing the correct value improves over subsequent iterations of the algorithm. We present an algorithm that solves the ABA problem based on two key ingredients: a standard solution to the BA problem and a multiplicative method to maintain and update process weights indicative of how often they are correct. We give guarantees on the accuracy of the algorithm based on assumptions on the accuracy of the processes and the proportion of faulty and non-faulty processes in the system. For each iteration, if the weight of accurate processes is at least 3/4 th the weight of the non-faulty processes, the algorithm always decides on the correct value. When the non-faulty processes are accurate with probability greater than 1/2, the algorithm decides on the correct value with very high probability after some initial number of mistakes. In fact, among n processes, if there exists even one process which is accurate for all iterations, the algorithm is wrong only O(log n) times for any large number of iterations of the algorithm