63 research outputs found
A Scalable Byzantine Grid
Modern networks assemble an ever growing number of nodes. However, it remains
difficult to increase the number of channels per node, thus the maximal degree
of the network may be bounded. This is typically the case in grid topology
networks, where each node has at most four neighbors. In this paper, we address
the following issue: if each node is likely to fail in an unpredictable manner,
how can we preserve some global reliability guarantees when the number of nodes
keeps increasing unboundedly ? To be more specific, we consider the problem or
reliably broadcasting information on an asynchronous grid in the presence of
Byzantine failures -- that is, some nodes may have an arbitrary and potentially
malicious behavior. Our requirement is that a constant fraction of correct
nodes remain able to achieve reliable communication. Existing solutions can
only tolerate a fixed number of Byzantine failures if they adopt a worst-case
placement scheme. Besides, if we assume a constant Byzantine ratio (each node
has the same probability to be Byzantine), the probability to have a fatal
placement approaches 1 when the number of nodes increases, and reliability
guarantees collapse. In this paper, we propose the first broadcast protocol
that overcomes these difficulties. First, the number of Byzantine failures that
can be tolerated (if they adopt the worst-case placement) now increases with
the number of nodes. Second, we are able to tolerate a constant Byzantine
ratio, however large the grid may be. In other words, the grid becomes
scalable. This result has important security applications in ultra-large
networks, where each node has a given probability to misbehave.Comment: 17 page
Parameterizable Byzantine Broadcast in Loosely Connected Networks
We consider the problem of reliably broadcasting information in a multihop
asynchronous network, despite the presence of Byzantine failures: some nodes
are malicious and behave arbitrarly. We focus on non-cryptographic solutions.
Most existing approaches give conditions for perfect reliable broadcast (all
correct nodes deliver the good information), but require a highly connected
network. A probabilistic approach was recently proposed for loosely connected
networks: the Byzantine failures are randomly distributed, and the correct
nodes deliver the good information with high probability. A first solution
require the nodes to initially know their position on the network, which may be
difficult or impossible in self-organizing or dynamic networks. A second
solution relaxed this hypothesis but has much weaker Byzantine tolerance
guarantees. In this paper, we propose a parameterizable broadcast protocol that
does not require nodes to have any knowledge about the network. We give a
deterministic technique to compute a set of nodes that always deliver authentic
information, for a given set of Byzantine failures. Then, we use this technique
to experimentally evaluate our protocol, and show that it significantely
outperforms previous solutions with the same hypotheses. Important disclaimer:
these results have NOT yet been published in an international conference or
journal. This is just a technical report presenting intermediary and incomplete
results. A generalized version of these results may be under submission
Dining philosophers with masking tolerance to crash faults
We examine the tolerance of dining philosopher algorithms subject to process
crash faults in arbitrary conflict graphs. This classic problem is unsolvable in asynchronous
message-passing systems subject to even a single crash fault. By contrast,
dining can be solved in synchronous systems capable of implementing the perfect
failure detector P (from the Chandra-Toueg hierarchy). We show that dining is also
solvable in weaker timing models using a combination of the trusting detector T and
the strong detector S; Our approach extends and composes two currents of previous
research. First, we define a parametric generalization of Lynch’s classic algorithm
for hierarchical resource allocation. Our construction converts any mutual exclusion
algorithm into a valid dining algorithm. Second, we consider the fault-tolerant mutual
exclusion algorithm (FTME) of Delporte-Gallet, et al., which uses T and the
strong detector S to mask crash faults in any environment. We instantiate our dining
construction with FTME, and prove that the resulting dining algorithm guarantees
masking tolerance to crash faults. Our contribution (1) defines a new construction
for transforming mutual exclusion algorithms into dining algorithms, and (2) demonstrates
a better upper-bound on the fault-detection capabilities necessary to mask
crash faults in dining philosophers
The Weakest Failure Detector for Solving Wait-Free, Eventually Bounded-Fair Dining Philosophers
This dissertation explores the necessary and sufficient conditions to solve a variant
of the dining philosophers problem. This dining variant is defined by three properties:
wait-freedom, eventual weak exclusion, and eventual bounded fairness. Wait-freedom
guarantees that every correct hungry process eventually enters its critical
section, regardless of process crashes. Eventual weak exclusion guarantees that every
execution has an infinite suffix during which no two live neighbors execute overlapping
critical sections. Eventual bounded fairness guarantees that there exists a
fairness bound k such that every execution has an infinite suffix during which no
correct hungry process is overtaken more than k times by any neighbor. This dining
variant (WF-EBF dining for short) is important for synchronization tasks where eventual
safety (i.e., eventual weak exclusion) is sufficient for correctness (e.g., duty-cycle
scheduling, self-stabilizing daemons, and contention managers).
Unfortunately, it is known that wait-free dining is unsolvable in asynchronous
message-passing systems subject to crash faults. To circumvent this impossibility
result, it is necessary to assume the existence of bounds on timing properties, such
as relative process speeds and message delivery time. As such, it is of interest to
characterize the necessary and sufficient timing assumptions to solve WF-EBF dining.
We focus on implicit timing assumptions, which can be encapsulated by failure detectors. Failure detectors can be viewed as distributed oracles that can be queried
for potentially unreliable information about crash faults. The weakest detector D for
WF-EBF dining means that D is both necessary and sufficient. Necessity means that
every failure detector that solves WF-EBF dining is at least as strong as D. Sufficiency
means that there exists at least one algorithm that solves WF-EBF dining using D.
As such, our research goal is to characterize the weakest failure detector to solve
WF-EBF dining.
We prove that the eventually perfect failure detector 3P is the weakest failure
detector for solving WF-EBF dining. 3P eventually suspects crashed processes permanently,
but may make mistakes by wrongfully suspecting correct processes finitely
many times during any execution. As such, 3P eventually stops suspecting correct
processes
Case Studies of Modeling Distributed Algorithms in ABS
This thesis presents four case studies in which well known distributed algorithms are implemented in the abstract behavioral language ABS. These algorithms are the Dining Philosophers problem, the Paxos consensus algorithm, the Kademlia distributed hash table, and the Rarest piece algorithm of the BitTorrent protocol. The implemented models form the basis of an evaluation of the ABS language and its suitability for modeling such algorithms. The different selected algorithms require different strategies for synchronization, and it is shown that the ABS language copes well with this
- …