A virtual grouping based fault-tolerant scheme for autonomous networks

https://doi.org/10.1016/j.engappai.2013.09.012Get rights and content

Abstract

In an autonomous network environment, each independent node communicates with others by some agreement mechanism to make sure that the majority of nodes can take a common corresponding action. Under a constraint on the amount of faulty nodes, the classical solution, Byzantine Agreement (BA), has been proved to effectively make all healthy nodes able to obey the same command issued from the commander node. The major challenge for BA is its considerable amount of exchanged messages among nodes to reach the consensus, especially when BA is applied to a network environment, which comprises a lot of cooperative nodes. Such a situation may hinder BA from being practically applied in the modern network environment, such as an autonomous wireless sensor network. Thus, we propose a Virtual Grouping Byzantine Agreement (VGBA) scheme to compromise between the percentage of nodes, which can obtain the common command, and the number of exchanged messages produced in the network. That means that VGBA may suffer a lower tolerance capability of faulty nodes and a lower percentage of healthy nodes having the command, but it significantly reduces the message volume. Consequently, the improved VGBA scheme is still applicable while facing a larger number of nodes.

Introduction

The 1980s saw a wealth of research into the properties of agreement making and how these are related to the computer system. BA (Byzantine Agreement) was first studied and defined by Lamport et al. (1982) to solve the consensus problem among cooperative nodes, such as processors in a multi-processor environment. Subsequent extensions and applications have been derived (Hsieh et al., 2010, Wada et al., 2009, Tang et al., 2009, Kate and Goldberg, 2009, Wang et al., 1995, Yin et al., 2003, Correia et al., 2004) based on the BA concept. For example, BFT (Byzantine Fault Tolerance) in (Castro and Liskov, 2002) was proposed to practically implement a fault tolerance scheme for BA. In a distributed and cooperative network environment, the BA algorithm may still be able to facilitate agreement to ensure most distributed nodes in the network autonomously reach a common value by assuming that less than one-third of the total nodes in the network malfunction. However, the major obstacle for executing BA is the large volume of exchange messages generated when delivering the command value from the command node to other nodes on the way to reach agreement. In the past, some ideas (Kursawe, 2002, Dolev et al., 1990, Blough and Pelc, 1993, Zamsky, 1996) were proposed to optimize BA by reducing complexity of BA. In this article, we revisit the problem in which the BA protocol drives too many process cycles and an increase in the number of nodes results in a hugely increased volume of messages in the network. Even though it could guarantee a correct final result, these conditions render BA unworkable. We therefore aim to achieve a balance between the message volume and a correct result to make BA still applicable when the application can tolerate a lower degree of correctness. We propose a grouping model over the network nodes to form a two-tier BA solution – Virtual Grouping of Byzantine Agreement (VGBA) for reducing the message volume while conducting the agreement process. In this model, the message exchange to deliver the command value from the commanding node among nodes follows the Oral Message (Lamport et al., 1982) rule. A healthy node in the BA model can correctly send the received value to other nodes; whereas a faulty node is assumed to send inconsistent and arbitrary values to other nodes. The requirement for agreement in the virtual grouping based autonomous network application is that each node in the network should express its way of looking at an event and a common consensus then can be achieved based on the condition on each node by VGBA. Some practical examples include achieving a common opinion by referring to each member's individual perspective for a certain event in a social network or taking a common water sprinkling action by referring to each sensor node's individual sensed temperature in a sensor based fire fighting system.

Following the virtual grouping model, all nodes would first be virtually clustered in groups. If a group with h nodes has no more than (h1)/3 faulty nodes, such a group is called a healthy group; otherwise, it is called a faulty group. For example, Fig. 1 shows a network consisted of sixteen nodes. As Fig. 1(a) shows, these nodes are uniformly virtually grouped into four groups. Three of them are healthy whereas one is faulty, as shown in Fig. 1(b). To achieve an agreement under the circumstance where some faulty nodes occur in the system, the upper bound of the faulty node volume is (n1)/3 (n is the total number of nodes) for the tradition BA; whereas one of the faulty group volume is (m1)/3 (m is the total number of virtual groups) for VGBA. However, this is not a precise bound of fault tolerance. We will show how to calculate the exact bound of fault tolerance in VGBA with respect to the number of nodes in Section 5.1.

The concept of our proposed VGBA is that the commander group, which contains the commander node, first executes BA to pass the command value only in the commander group. Next, our scheme proceeds to carry out a group-based BA passing the command value in the commander group to all other groups in the network, regarding each group as a node by our proposed scheme. Compared to traditional BA, the proposed scheme may have a reduced tolerance for faulty nodes, and some healthy nodes in faulty groups may not obtain the correct command value. Even though this compromised scheme cannot guarantee that all nodes will agree on a common value, it can still ensure the majority of the nodes in the network reach a consensus. Moreover, the significant reduced volume of exchange messages makes the improved BA practically applicable.

The remainder of this study is organized as follows. Section 2 depicts some past studies about BA. Section 3 introduces the basic concept of the BA protocol. Section 4 describes our proposed scheme – Virtual Grouping Byzantine Agreement (VGBA) Protocol. Section 5 illustrates the theoretical analysis and simulation results. A short conclusion is presented in Section 6.

Section snippets

Related work

BA has been used in many applications. In (Wada et al., 2009), BA is used to raise the reliability of a P2P online game by increasing fault tolerance. The authors in (Hsieh et al., 2010) applied BA to prevent the single point of failure problem from a sink in a traditional wireless sensor network environment. The local sensors can take a consistent action autonomously based on the agreement achieved by BA. Other BA based applications include secure key issuing for a P2P network (Tang et al.,

Byzantine Agreement (BA) protocol

Originally, BA (Lamport et al., 1982) has been proposed as a way to ensure all cooperative troops obey the same command from a commander through the Oral Message (Lamport et al., 1982). Gradually, the concept was applied to computer science, especially in distributing/parallel computing or network applications, by mapping the troops in a practical situation to the processor/network node in the computation model. The Oral Message is used to carry the message delivered among nodes for a given

Assumptions of VGBA

In this article, we propose a compromised scheme Virtual Group Byzantine Agreement (VGBA) derived from BA. Based on a virtual grouping model, VGBA aims to reduce the volume of exchange messages with results close to that of the traditional BA. Even though VGBA may sacrifice some fault tolerance, it can make BA more practical in the modern network environment. We still assume that exchange messages are delivered by the Oral Message as in BA (Lamport et al., 1982). The assumption of faulty

Correctness

VGBA can be verified by two steps as follows. In the first step, we want to prove the correctness of GTrans() in VGBA. Then we prove that the SoGCMVs transmitted among groups in VGBA is equivalent to the value transmitted among nodes in the traditional BA. In the second step, we prove the correctness of the VGBA algorithm.

In our proposed scheme, a message transmission mechanism – GTrans() – between every two groups can achieve a group-scale BA. To prove the equivalence of GTrans() among groups

Conclusion

BA is a classical solution for enabling nodes in a cooperative environment to obtain and agree on the common value issued from the commander node. The correct proof has been well studied in the past research. Its major flaw is that BA may generate a large volume of exchanged messages prior to achieving a common agreement among healthy nodes. As network technology continues to develop and more and more cooperative nodes join the autonomous network, the convergence of the consensus problem among

References (19)

There are more references available in the full text version of this article.

Cited by (1)

A preliminary version of this paper has been presented in the main symposium of 7th IEEE International Wireless Communications and Mobile Computing Conference (IEEE IWCMC 2011).

View full text