General and Efficient Decentralized Consensus Protocols

In this article we are interested in computing a function or a predicate whose arguments are distributed on the nodes (or processors) of a network. When the computation is finished two cases may occur according to the application. The result is either known by each node or distributed on each node. Furthermore during the computation all the nodes have the same behaviour (there is no privileged node). We shall call the distributed algorithms which achieve such computations "consensus protocols".