11email: {joglio@,khood@,sharma@cs.,mikhail@cs.}kent.edu
Byzantine Geoconsensus
Abstract
We define and investigate the consensus problem for a set of processes embedded on the -dimensional plane, , which we call the geoconsensus problem. The processes have unique coordinates and can communicate with each other through oral messages. In contrast to the literature where processes are individually considered Byzantine, it is considered that all processes covered by a finite-size convex fault area are Byzantine and there may be one or more processes in a fault area. Similarly as in the literature where correct processes do not know which processes are Byzantine, it is assumed that the fault area location is not known to the correct processes. We prove that the geoconsensus is impossible if all processes may be covered by at most three areas where one is a fault area.
Considering the 2-dimensional embedding, on the constructive side, for fault areas of arbitrary shape with diameter , we present a consensus algorithm that tolerates Byzantine processes provided that there are processes with pairwise distance between them greater than . For square with side , we provide a consensus algorithm that lifts this pairwise distance requirement and tolerates Byzantine processes given that all processes are covered by at least axis aligned squares of the same size as . For a circular of diameter , this algorithm tolerates Byzantine processes if all processes are covered by at least circles. We then extend these results to various size combinations of fault and non-fault areas as well as -dimensional process embeddings, .
1 Introduction
The problem of Byzantine consensus [12, 17] has been attracting extensive attention from researchers and engineers in distributed systems. It has applications in distributed storage [1, 2, 4, 5, 11], secure communication [7], safety-critical systems [19], blockchain [15, 20, 22], and Internet of Things (IoT) [13].
Consider a set of processes with unique IDs that can communicate with each other. Assume that processes out of these processes are Byzantine. Assume also that which process is Byzantine is not known to correct processes, except possibly the size of Byzantine processes. The Byzantine consensus problem here requires the correct processes to reach to an agreement tolerating arbitrary behaviors of the Byzantine processes.
Pease et al. [17] showed that the maximum possible number of faults that can be tolerated depends on the way how the (correct) processes communicate: through oral messages or through unforgable written messages (also called signatures). An oral message is completely under the control of the sender, therefore, if the sender is Byzantine, then it can transmit any possible message. This is not true for a signed, written message. Pease et al. [17] showed that the consensus is solvable only if when communication between processes is through oral messages. For signed, written messages, they showed that the consensus is possible tolerating any number of faulty processes .
The Byzantine consensus problem discussed above assumes nothing about the locations of the processes, except that they have unique IDs. Since each process can communicate with each other, it can be assumed that the processes work under a complete graph (i.e., clique) topology consisting of vertices and edges. Byzantine consensus has also been studied in arbitrary graphs [21, 17] and in wireless networks [16], relaxing the complete graph topology requirement so that a process may not be able to communicate with all other processes. The goal in these studies is to establish necessary and sufficient conditions for consensus to be solvable. For example, Pease et al. [17] showed that the consensus is solvable through oral messages tolerating Byzantine processes if the communication topology is -regular. Furthermore, there is a number of studies on a related problem of Byzantine broadcast when the communication topology is not a complete graph topology, see for example [10, 18]. Byzantine broadcast becomes fairly simple for a complete graph topology.
Recently, motivated by IoT-blockchain applications, Lao et al. [13] proposed a consensus protocol, which they call Geographic-PBFT or simply G-PBFT, that extends the well-known PBFT consensus protocol by Castro and Liskov [4] to the geographic setting. The authors considered the case of fixed IoT devices embedded on geographical locations for data collection and processing. The location data can be obtained through recording location information at the installation time or can also be obtained using low-cost GPS receivers or location estimation algorithms [3, 9]. They argued that the fixed IoT devices have more computational power than other mobile IoT devices (e.g., mobile phones and sensors) and are less likely to become malicious nodes. They then exploited (geographical) location information of fixed IoT devices to reach consensus. They argued that G-PBFT avoids Sybil attacks, reduces the overhead for validating and recording transactions, and achieves high consensus efficiency and low traffic intensity. However, G-PBFT is validated only experimentally and no formal analysis is given.
In this paper, we formally define and study the Byzantine consensus problem when processes are embedded on the geographical locations in fixed unique coordinates, which we call the Byzantine geoconsensus problem. If fault locations are not constrained, the geoconsensus problem differs little from the Byzantine consensus. This is because the unique locations serve as IDs of the processes and same set of results can be established depending on whether communication between processes is through oral messages or unforgable written messages. Therefore, we relate the fault locations to the geometry of the problem, assuming that the faults are limited to a fault area (going beyond the limitation of mapping Byzantine behavior to individual processes). In other words, the fault area lifts the restriction of mapping Byzantine behavior to individual processes in the classic setting and now maps the Byzantine behavior to all the processors within a certain area in the geographical setting. Applying the classic approaches of Byzantine consensus may not exploit the collective Byzantine behavior of the processes in the fault area and hence they may not provide benefits in the geographical setting. Furthermore, we are not aware of prior work in Byzantine consensus where processes are embedded in a geometric plane while faulty processes are located in a fixed area.
In light of the recent development on location-based consensus protocols, such as G-PBFT [13], discussed above, we believe that our setting deserves a formal study. In this paper we consider the Byzantine geoconsensus problem in case the processes are embedded in a -dimensional plane, . We study the possibility and bounds for a solution to geoconsensus. We demonstrate that geoconsensus allows quite robust solutions: all but a fixed number of processes may be Byzantine.
Contributions. Let denotes the number of processes, denotes the number of fault areas , denotes the diameter of , and denotes the number of faulty processes. Assume that each process can communicate with all other processes and the communication is through oral messages. Assume that all the processes covered by a faulty area are Byzantine. The correct processes know the size of each faulty area (such as its diameter, number of edges, area, etc.) and the total number of them but do not know their exact location.
In this paper, we made the following five contributions:
-
(i)
An impossibility result that geoconsensus is not solvable if all processes may be covered by equal size areas and one of them may be fault area. This extends to the case of processes being covered by areas with areas being faulty.
-
(ii)
The algorithm BASIC that solves geoconsensus tolerating Byzantine processes, provided that there are processes with pairwise distance between them greater than .
-
(iii)
The algorithm GENERIC that solves geoconsensus tolerating Byzantine processes, provided that all processes are covered by axis-aligned squares of the same size as the fault area , removing the pairwise distance assumption in the algorithm BASIC.
-
(iv)
An extension of the GENERIC algorithm to circular tolerating Byzantine processes if all processes are covered by circles of same size as .
-
(v)
Extensions of the results (iii) and (iv) to various size combinations of fault and non-fault areas as well as to -dimensional process embeddings, .
Our results are interesting as they provide trade-offs among and , which is in contrast to the trade-off provided only between and in the Byzantine consensus literature. For example, the results in Byzantine consensus show that only Byzantine processes can be tolerated, whereas our results show that as many as , Byzantine processes can be tolerated provided that the processes are placed on the geographical locations so that at least areas (same size as ) are needed to cover them. Here and are both integers with for some constant .
Furthermore, our geoconsensus algorithms reduce the message and space complexity in solving consensus. In the Byzantine consensus literature, every process sends communication with every other process in each round. Therefore, in one round there are messages exchanged in total. As the consensus algorithm runs for rounds, in total messages are exchanged in the worst-case. In our algorithms, let processes are covered by areas of size the same as fault area . Then in a round only messages are exchanged. Since the algorithm runs for rounds to reach geoconsensus, in total messages are exchanged in the worst-case. Therefore, our geoconsensus algorithms are message (equivalently communication) efficient. The improvement on space complexity can also be argued analogously.
Finally, Pease et al. [17] showed that it is impossible to solve consensus through oral messages when but there is a solution when . That is, there is no gap on the impossibility result and a solution. We can only show that it is impossible to solve consensus when all processes are covered by areas that are the same size as but there is a solution when all processes are covered by at least areas (for the axis-aligned squares case). Therefore, there is a general gap between the condition for impossibility and the condition for a solution. We leave this gap as open and note that it would be interesting at the same time challenging to close this gap.
Techniques. Our first contribution is established extending the impossibility proof technique of Pease et al. [17] for Byzantine consensus to the geoconsensus setting. The algorithm BASIC is established first through a leader selection to compute a set of leaders so that they are pairwise more than distance away from each other and then running carefully the Byzantine consensus algorithm of Pease et al. [17] on those leaders.
For the algorithm GENERIC, we start by covering processes by axis-aligned squares and studying how these squares may intersect with fault areas of various shapes and sizes. Determining optimal axis-aligned square coverage is NP-hard. We provide constant-ratio approximation algorithms. We also discuss how to cover processes by circular areas. Then, we use these ideas to construct algorithm GENERIC for fault areas that are either square or circular, which does not need the pairwise distance requirement of BASIC but requires the bound on the number of areas in the cover area set. Finally, we extend these ideas to develop covering techniques for higher dimensions.
Roadmap. We introduce notation and the geoconsensus problem, and establish an impossibility of geoconsensus in Section 2. We present in Section 3 algorithm BASIC. We discuss covering processes in Section 4. We then present in Section 5 algorithm GENERIC. In Section 6, we extend the results to -dimensional space, . In Section 7, we conclude the paper with a short discussion on future work.
2 Notation, Problem Definition, and Impossibility
Processes. A computer system consists of a set of processes. Each process embedded in the 2-dimensional plane has unique planar coordinates . The coordinates for higher dimensions can be defined accordingly. Each process is aware of coordinates of all the other processes and is capable of sending a message to any of them. The sender of the message may not be spoofed. Communication is synchronous. The communication between processes is through oral messages.
Byzantine faults. A process may be either correct or faulty. The fault is Byzantine. A faulty process may behave arbitrarily. This fault is permanent. To simplify the presentation, we assume that all faulty processes are controlled by a unique adversary trying to thwart the system from achieving its task.
Fault area. The adversary controls the processes as follows. Let the fault area be a finite-size convex area in the plane. Let be the diameter of , i.e. the maximum distance between any two points of . The adversary may place in any location on the plane. A process is covered by if the coordinate of is either in the interior or on the boundary of . Every process covered by is faulty.
Symbol | Description |
---|---|
; ; | number of processes; ; planar coordinates of process |
; | fault area; diameter of ; a set of fault areas with |
number of faulty processes | |
processes in such that pairwise distance between them is more than | |
(or ); | cover area that is of same shape and size as ; a set of cover areas |
number of cover areas that a fault area overlaps |
A fault area set or just fault set is the set of identical fault areas . The size of this set is , i.e., . The adversary controls the placement of all areas in . Correct processes know the shape and size of the fault areas as well as , the size of . However, correct processes do not know the precise placement of the fault areas . For example, if contains fault square fault areas with the side , then correct processes know that there are square fault areas with side each but do not know where they are located. Table 1 summarizes notation used in this paper.
Byzantine Geoconsensus. Consider the binary consensus where every correct process is input a value and must output an irrevocable decision with the following three properties.
- agreement
-
– no two correct processes decide differently;
- validity
-
– if all the correct processes input the same value , then every correct process decides ;
- termination
-
– every correct process eventually decides.
Definition 1
An algorithm solves the Byzantine geoconsensus Problem (or geoconsensus for short) for fault area set , if every computation produced by this algorithm satisfies the three consensus properties.
Impossibility of Geoconsensus. Given a certain set of embedded processes and single area , the coverage number of by is the minimum number of such areas required to cover each node of . We show that geoconsensus is not solvable if the coverage number is less than . When the coverage number is or less, the problem translates into classic consensus with 3 sets of peers where one of the sets is faulty. Pease et al. [17] proved the solution to be impossible. The intuition is that a group of correct processes may not be able to distinguish which of the other two groups is Byzantine and which one is correct. Hence, the correct groups may not reach consensus.
Theorem 2.1 (Impossibility of Geoconsensus)
Given a set of processes and an area , there exists no algorithm that solves the geoconsensus Problem if the coverage number of by is less than .
Proof
Set , for some positive integer . Place three areas on the plane in arbitrary locations. To embed processes in , consider a bijective placement function such that processes are covered by each area . Let and be two distinct input values and . Suppose one area is fault area, meaning that all processes in that area are faulty.
This construction reduces the Byzantine goeconsensus problem to the impossibility construction for the classic Byzantine consensus problem given in the theorem in Section 4 of Pease et al. [17] for the processes out of which are Byzantine. ∎
3 The BASIC Geoconsensus Algorithm
In this section, we present the algorithm we call BASIC that solves geoconsensus for up to faulty processes located in fault area set of size provided that contains at least processes such that the pairwise distance between them is greater than the diameter of the fault areas .
The pseudocode of BASIC is shown in Algorithm 1. It contains two parts: the leaders selection and the consensus procedure. The first component is the selection of leaders. So as to not be covered by jointly, the leaders need to be located pairwise distance more than away from each other. Finding the largest set of such leaders is equivalent to computing the maximal independent set in a unit disk graph. This problem is known to be NP-hard [6]. We, therefore, employ a greedy heuristic.
For the leaders selection, for each process , denote by the distance neighborhood of . That is, if . A distance independent set for a planar graph is a set of processes such that all processes in the planar graph are at most away from the processes in this independent set. It is known [14, Lemma 3.3] that every distance graph has a neighborhood whose induced subgraph contains any independent set of size at most 3.
The set of leaders selection procedure operates as follows. A set of leader candidates is processed. At first, all processes are candidates. All processes whose distance neighborhood induce a subgraph with an independent set no more than are found. The process with lexicographically smallest coordinates, i.e. the process in the bottom left corner, is selected into the leader set . Then, all processes in are removed from the leader candidate set . This procedure repeats until is exhausted.
The second part of BASIC relies on the classic consensus algorithm of Pease et al. [17]. We denote this algorithm as PSL. The input of PSL is the set of processes such that at most of them are faulty as well as the input or for each process. As output, the correct processes provide the decisions value subject to the three properties of the solution to consensus. PSL requires communication rounds.
The complete BASIC operates as follows. All processes select leaders in . Then, the leaders run PSL and broadcast their decision. The rest of the correct processes, if any, adopt this decision.
Analysis of BASIC. The observation below is immediate since all processes run exactly the same deterministic leaders selection procedure.
Observation 1
For any two processes , set computed by is the same as set computed by .
Lemma 1
If contains at least processes such that the distance between any pair of such processes is , then the size of computed by processes in BASIC is .
Proof
For the same problem like ours, in [14, Theorem 4.7], it is proven that the heuristic we use for the leaders selection provides a distance independent set whose size is no less than a third of optimal size. Thus, . The lemma follows. ∎
Lemma 2
Consider a fault area with diameter . No two processes in are covered by .
Proof
For any two processes , . Since any area has diameter , no two processes away can be covered by simultaneously. ∎
Theorem 3.1
Algorithm BASIC solves the Byzantine geoconsensus Problem for a fault area set , the size of with fault areas with diameter for processes in tolerating Byzantine faults provided that contains at least processes such that their pairwise distance is more than . The solution is achieved in communication rounds.
Proof
If contains at least processes whose pairwise distance is more than , then, according to Lemma 1, each processes in BASIC selects such that . We have fault areas, i.e., . From Lemma 2, a process can be covered by at most one fault area . Therefore, when , then it is guaranteed that even when processes in are Byzantine, correct processes in can reach consensus using PSL algorithm.
In the worst case, the adversary may position fault areas of such that all but processes in are covered. Hence, BASIC tolerates faults.
Let us address the number of rounds that BASIC requires to achieve geoconsensus. It has two components executed sequentially: leaders election and PSL. Leaders election is done independently by all processes and requires no communication. PSL, takes rounds for the leaders to arrive at the same decision. It takes another round for the leaders to broadcast their decision. Hence, the total number of rounds is . ∎
4 Covering Processes
In this section, in preparation for describing the GENERIC geoconsensus algorithm, we discuss techniques of covering processes by axis-aligned squares and circles. These techniques vary depending on the shape and alignment of the fault area .
Covering by Squares. The algorithm we describe below covers the processes by square areas of size , assuming that the fault areas are also squares of the same size. Although may not be axis-aligned, we use axis-aligned areas for the cover and later determine how many such axis-aligned areas that possibly non-axis-aligned fault area may overlap. Let be positioned on the plane such that the coordinate of its bottom left corner is . The coordinates of its top left, top right, and bottom right corners are respectively and .
Let process be at coordinate . We say that is covered by if and only if and . We assume that is closed, i.e., process is assumed to be covered by even when is positioned on the boundary of .
We first formally define the covering problem by square areas , which we denote by SQUARE-COVER. Let be a set of square areas . We say that completely covers all processes if each is covered by at least one square of .
Definition 2 (The SQUARE-COVER problem)
Suppose processes are embedded into a 2d-plane such that the coordinates of each process are unique. The SQUARE-COVER problem is to determine if a certain number of square areas can completely cover these processes.
Theorem 4.1
SQUARE-COVER is NP-Complete.
Proof
The proof is to show that SQUARE-COVER is equivalent to the BOX-COVER problem which was shown to be NP-Complete by Fowler et al. [8]. BOX-COVER is defined as follows: There is a set of points on the plane such that each point has unique integer coordinates. A closed box (rigid but relocatable) is set to be a square with side 2 and is axis-aligned. The problem is to decide whether a set of identical axis-aligned closed boxes are enough to completely cover all points. Fowler et al. provided a polynomial-time reduction of 3-SAT to BOX-COVER such that boxes will suffice if and only if the 3-SAT formula is satisfiable. In this setting, SQUARE-COVER (Definition 2) reduces to BOX-COVER for . Therefore, the NP-Completeness of BOX-COVER extends to SQUARE-COVER. ∎
A Greedy Square Cover Algorithm. Since SQUARE-COVER is NP-Complete, we use a greedy approximation algorithm to find a set of axis-aligned square areas that completely cover all processes in . We prove that (i.e., 2-approximation), where is the optimal number of axis-aligned squares in any algorithm to cover those processes. We call this algorithm GSQUARE. Each process can run GSQUARE independently, because knows all required input parameters for GSQUARE.
GSQUARE operates as follows. Suppose the coordinates of process are . Let and Let be an axis-aligned rectangle with the bottom left corner at and the top right corner at . It is immediate that is the smallest axis-aligned rectangle that covers all processes. The width of is and the height is . See Figure 1 for illustration.

Cover rectangle by a set of slabs . The height of each slab is , except for the last slab whose height may be less than . The width of each slab is . That is this width is the same is the width of .
This slab-covering is done as follows. Let . The area of between two horizontal lines passing through to is the first slab . Now consider only the processes in that are not covered by . Denote that process set by . Consider the bottom-most process in , i.e., process . We have that . Draw two horizontal lines passing through and . The area of between these lines is in slab . Continue this way until all the points in are covered by a slab. In the last slab , it may be the case that its height .

So far, we covered by a set of slabs . We now we cover each such slab by axis-aligned square areas . See Figure 2 for illustration. This square-covering is done as follows. Let be a slab to cover. Put area on so that the top left corner of overlaps with the top left corner of slab . Slide horizontally to the right so that there is a process in positioned on the left vertical line of . Fix that area as one cover square and name it . Now consider only the points in not covered by . It is immediate that those points are to the right of . Place on those points so that there is a point in positioned on the left side of . Thus, there is no point of to the left of this second that is not covered by ). Fix this as the second cover square and name it . Continue in this manner to cover all the points in . Repeat this process for every slab of .
Lemma 3
Consider any two slabs produced by GSQUARE. and do not overlap, i.e., if some process , then .
Proof
It is sufficient to prove this lemma for adjacent slabs. Suppose slabs and are adjacent, i.e., . According to the operation of GSQUARE, after the location of is selected, only processes that are not covered by the slabs so far are considered for the selection of . The first such process lies above the top (horizontal) side of . Hence, there is a gap between the top side of and the bottom side of .∎
Lemma 4
Consider any two square areas and selected by GSQUARE in slab . and do not overlap, i.e., if some process , then .
Proof
It is sufficient to prove the lemma for adjacent squares. Suppose and are adjacent, i.e., . Consider the operation of GSQUARE in slab covered by and . Area only covers the processes that are not covered by and, therefore, to the right of the right side of . As the left side of is placed on the first such process, there is a non-empty gap between the two squares: and .∎
Lemma 5
Consider slab . Let be the number of squares to cover all the processes in using GSQUARE. There is no algorithm that can cover the processes in with number of squares such that .
Proof
Notice that slab has height which is the same as the sides of (axis-aligned) squares used to cover .
GSQUARE operates such that it places a square so that some process lies on the left side of this square. Consider a sequence of such processes: . Consider any pair of subsequent processes and in with respective coordinates and . GSQUARE covers them with non-overlapping squares with side . Therefore, . That is, the distance between consequent processes in is greater than . Hence, any such pair of processes may not be covered by a single square. Since the number of squares placed by GSQUARE in slab is , the number of processes in is also . Any algorithm that covers these processes with axis-aligned squares requires at least squares. ∎
Let be the number of axis-aligned square areas to cover all processes in in the optimal cover algorithm. We now show that , i.e., GSQUARE provides 2-approximation. We divide the slabs in the set into two sets and . For , let
Lemma 6
Let and be the total number of (axis-aligned) square areas to cover the processes in the sets and , respectively. Let be the optimal number of axis-aligned squares to cover all the processes in .
Proof
Consider two slabs and for . Consider a square placed by GSQUARE. Consider also two processes and , respectively. The distance between and is . Therefore, if covers , then it cannot cover . Therefore, no algorithm can produce the optimal number of squares less than the maximum between and . ∎
Lemma 7
.
Proof
Covering by Circles. Let us formulate the covering by identical circles of diameter , which we denote CIRCLE-COVER. Let be the set of circles . We say that completely covers all the processes if every process is covered by at least one of the circles in . The following result can be established similar to SQUARE-COVER.
Theorem 4.2
CIRCLE-COVER is NP-Complete.
A Greedy Circle Cover Algorithm. We call this algorithm GCIRCLE. Pick the square cover set produced in Section 4. The processes covered by any square can be completely covered by 4 circles of diameter : Find the midpoints of the 4 sides of the square and draw the circles of diameter with their centers on those midpoints.
Lemma 8
Let be the number of circles of diameter needed to cover all the processes in by algorithm GCIRCLE. , where is the optimal number of circles in any algorithm.
Proof
We first show that where and , respectively, are the number of squares to cover the slabs in and . Consider any square cover of any slab . A circle of diameter can cover at most the processes in but not in any other square . This is because the perimeter of needs to pass through the left side of (since there is a process positioned on that line in ) and with diameter , the perimeter of can touch at most the right side of .
We now prove the upper bound. Since one square area is now covered using at most 4 circles of diameter , GCIRCLE produces the total number of circles
Comparing with as in Lemma 7, we have that
Overlapping Fault Area. The adversary may place the fault area in any location in the plane. This means that may not necessarily be axis-aligned. Algorithms GSQUARE and GCIRCLE produce a cover set of axis-aligned squares and circles, respectively. Therefore, the algorithm we present in the next section needs to know how many areas in that overlaps. We now compute the bound on this number. The bound considers both square and circle areas under various size combinations of fault and non-fault areas. The lemma below is for each and being either squares of side or circles of diameter .
Lemma 9
For the processes in , consider the cover set consisting of the axis-aligned square areas . Place a relocatable square area in any orientation (not necessarily axis-aligned). overlaps no more than 7 squares . If the cover set consists of circles of diameter and is a circle of diameter , then overlaps no more than circles .
Proof
Suppose is axis-aligned. may overlap at most two squares horizontally. Indeed, the total width covered by two squares in is since the squares do not overlap. Meanwhile, the total width of is . Similarly, may overlap at most two squares vertically. Combining possible horizontal and vertical overlaps, we obtain that may overlap at most 4 distinct axis-aligned areas . See Figure 3 for illustration.


Consider now that is not axis-aligned. can span at most horizontally and vertically. Therefore, horizontally, can overlap at most three areas . Vertically, can overlap three areas as well. However, not all three areas on the top and bottom rows can be overlapped at once. Specifically, not axis-aligned can only overlap 2 squares in the top row and 2 in the bottom row. Therefore, in total, may overlap at most 7 distinct axis-aligned areas. Figure 4 provides an illustration.
For the case of circular , one square area can be completely covered by 4 circles . Furthermore, square of size overlaps at most 7 square areas of side . Moreover, the circular of diameter can be inscribed in a square of side . Therefore, a circular cannot overlap more than 7 squares, and hence the circular may overlap in total at most circles . ∎
The first lemma below is for each being an axis-aligned square of side or a circle of diameter while being either a square of side or a circle of diameter . The second lemma below considers circular fault area of diameter .
Lemma 10
For the processes in , consider the cover set consisting of the axis-aligned squares . Place a relocatable square area in any orientation (not necessarily axis-aligned). overlaps no more than 4 squares . If the cover set consists of circles of diameter each, and is a circle of diameter , then overlaps no more than 16 circles .
Proof
can extend, horizontally and vertically, at most Therefore, can overlap no more than two squares horizontally and two squares vertically.
For the case of circular of diameter , it can be inscribed in a square of side . This square can overlap no more than squares of . Each such square can be covered by at most circles of diameter . Therefore, the total number of circles to overlap the circular fault area is . ∎
Lemma 11
For the processes in , consider the cover set consisting of the axis-aligned squares areas . Place a relocatable circular fault area of diameter . overlaps no more than 8 squares . If consists of circles of diameter , then circular of diameter overlaps no more than 32 circles .

Proof
Since is a circle of diameter , can span horizontally and vertically at most . Arguing similarly as in Lemma 9, can overlap either at most 3 squares in top row or 3 on the bottom row. Interestingly, if overlaps 3 squares in the top row, it can only overlap at most 2 in the bottom row and vice-versa. Therefore, in total, overlaps at most 8 distinct squares of side . Figure 5 provides an illustration.
Since one square of side can be completely covered using 4 circles of diameter , of diameter can cover at most circles of diameter . ∎
5 The GENERIC Geoconsensus Algorithm
We now describe an algorithm solving geoconsensus we call GENERIC for a set of processes on the plane. Each process knows the coordinates of all other processes and can communicate with all of them. Each process knows the shape (circle, square, etc.) and size (diameter, side, etc.) of the fault area . There are fault areas, i.e., and knows . The processes do not know the orientation and location of each fault area . Fault area is controlled by an adversary and all processes covered by that area are Byzantine. Each process is given an initial value either 0 or 1. The output of each process has to comply with the three properties of geoconsensus.
The pseudocode is given in Algorithm 2. GENERIC operates as follows. Each process computes a set of covers that are of same size as . Then determines the leader in each cover . The process in with smallest -coordinate is selected as a leader. If there exist two processes with the same smallest -coordinate, then the process with the smaller -coordinate between them is picked. If is selected leader, it participates in running PSL [17]. The leaders run PSL then broadcast the achieved decision. The non-leader processes adopt it.
Analysis of GENERIC. We now study the correctness and fault-tolerance guarantees of GENERIC. In all theorems of this section, GENERIC achieves the solution in communication rounds. The proof for this claim is similar to that for BASIC in Theorem 3.1.
Let the fault area be a, not necessarily axis-aligned, square.
Theorem 5.1
Given a set of processes and one square are are positioned at an unknown location such that any process of covered by is Byzantine. Algorithm GENERIC solves geoconsensus with the following guarantees:
-
•
If and not axis-aligned and , faulty processes can be tolerated given that .
-
•
If and axis-aligned and , faulty processes can be tolerated given that .
-
•
If but , then even if is not axis aligned, faulty processes can be tolerated given that .
Proof
We start by proving the first case. From Lemma 9, we obtain that a square fault area , regardless of orientation and location, can overlap at most axis-aligned squares . When , we have at least axis-aligned squares containing only correct processes. Since GENERIC reaches consensus using only the values of the leader processes in each area , if we have areas, it is guaranteed that leader processes are correct (with ) and they can reach consensus using PSL algorithm. Regarding the number of faulty process that can be tolerated, the fault area can cover processes but still algorithm GSQUARE produces total areas. All these faulty processes can be tolerated.
Let us address the second case. An axis-aligned square can overlap at most axis-aligned squares . Therefore, when , we have that leader processes are correct and they can reach consensus. In this case, processes can be covered by and still they all can be tolerated.
Let us now address the third case, when but . Regardless of its orientation, can overlap at most squares . Therefore, is sufficient for consensus and total processes can be tolerated. ∎
For the multiple fault areas with , Theorem 5.1 extends as follows.
Theorem 5.2
Given a set of processes and a set of of square areas positioned at unknown locations such that any process of covered by any may be Byzantine. Algorithm GENERIC solves geoconsensus with the following guarantees:
-
•
If each and not axis-aligned and , faulty processes can be tolerated given that .
-
•
If each and axis-aligned and , faulty processes can be tolerated given that .
-
•
If each but , then even if is not axis-aligned, faulty processes can be tolerated given that .
Proof
The proof for the case of extends to the case of as follows. Theorem 5.1 gives the bounds and for one fault area for some positive integers . For fault areas, separate sets are needed, with each set tolerating a single fault area . Therefore, the bounds of Theorem 5.1 extend to multiple fault areas with a factor of , i.e., GENERIC needs covers and faulty processes can be tolerated. Using the appropriate numbers from Theorem 5.1 provides the claimed bounds. ∎
We have the following theorem for the case of circular fault set , .
Theorem 5.3
Given a set of processes and a set of circles positioned at unknown locations such that any process of covered by may be Byzantine. Algorithm GENERIC solves geoconsensus with the following guarantees:
-
•
If each and are circles of diameter , faulty processes can be tolerated given that .
-
•
If each is a circle of diameter and is a circle of diameter , faulty processes can be tolerated given that .
-
•
If each is a circle of diameter and is a circle of diameter , faulty processes can be tolerated given that .
Proof
For the first case, we have that , when cover set is of circles of diameter and the fault area is also a circle of diameter . Therefore, when , we have that at least circles containing only correct processes. Since Algorithm 2 reaches consensus using only the values of the leader processes in each area , when we have , it is guaranteed that leader processes are correct and hence GENERIC can reach consensus. The fault tolerance guarantee of can be shown similarly to the proof of Theorem 5.1.
For the second result, we have shown that . Therefore, we need for one faulty circle of diameter . For faulty circles, we need . Therefore, the fault tolerance bound is .
For the third result, we have shown that for a single faulty circle of diameter . Therefore, we need and . ∎
6 Extensions to Higher Dimensions
Our approach can be extended to solve geoconsensus in -dimensions, . BASIC extends as is, whereas GENERIC runs without modifications in higher dimensions so long as we determine (i) the cover set of appropriate dimension and (ii) the overlap bound – the maximum number of -dimensional covers that the fault area may overlap. The bound on then depends on and the cover set size . In what follows, we discuss 3-dimensional space. The still higher dimensions can be studied similarly.
When , the objective is to cover the embedded processes of by cubes of size or spheres of diameter . It can be shown that the greedy cube (sphere) cover algorithm, let us call it GCUBE (GSPHERE), provides (16) approximation of the optimal cover. The idea is to appropriately extend the 2-dimensional slab-based division and axis-aligned square-based covers discussed in Section 4 to -dimensions with rectangular cuboids and cube-based covers.
Suppose the coordinates of process are . GCUBE operates as follows. It first finds as well as . Then, a smallest axis-aligned (w.r.t. -axis) cuboid, i.e. rectangular parallelepiped, with the left-bottom-near corner and the right-top-far corner at is constructed such that covers all processes in . Assume that is away from the viewer. The depth of is ; and are similar to GSQUARE.
GCUBE now divides into a set of cuboids such that but the and . Each is further divided into a set of of cuboids such that each has but and . Each cuboid is similar to the slab shown in Figure 2 but has depth .
It now remains to cover each axis-aligned cuboid with cubic areas of side . Area can be put on so that the top left corner of overlaps with the top left corner of cuboid . Slide on the -axis to the right so that there is a process covered by positioned on the left vertical plane of . Fix that area as one cover cube and name it . Now consider only the processes in not covered by . Place another on those processes so that there is a point in positioned on the left vertical plane of and there is no process on the left of that is not covered by . Let that be . Continue this way to cover all the processes in .
Apply the procedure of covering to all cuboids. Lemma 3 can be extended to show that no two cuboids overlap. Lemma 4 can be extended to show that no two cubic covers and overlap. For each cuboid , Lemma 5 can be extended to show that no other algorithm produces the number of cubes less than the number of cubes produced by algorithm GCUBE.
Since the cover for each square cuboid is individually optimal, let be the number of axis-aligned cubes to cover all processes in in the optimal cover algorithm. We now show that , i.e., GCUBE provides 4-approximation. We do this by combining two approximation bounds. The first is for the cuboids , for which we show -approximation. We then provide -approximation for each cuboid which is now divided into cuboids . Combining these two approximations, we have, in total, a -approximation.
As in the 2-dimensional case, divide the cuboids in the set into two sets snd . Arguing as in Lemma 5, we can show that and . Therefore, the ratio while dividing into cuboids.
Now consider any cuboid ( case is analogous). is divided into a set of cuboids . Divide cuboids in the set into two sets and based on odd and even . Therefore, it can be shown that, similarly to Lemma 5, that and . Therefore, . Combining the -approximations each for the two steps, we have the overall -approximation.
Let us now discuss the -approximation for spheres of diameter . One cube of side can be completely covered by spheres of diameter . Since, for cubes, GCUBE is -approximation, we, therefore, obtain that GSPHERE is a -approximation. We omit this discussion but it can be shown that GSPHERE, appropriately extended from GCIRCLE into 3-dimensions, achieves approximation.
Now we need to find the overlap number . Cube of side has diameter . That means that a cubic fault area that has the same size as can overlap at most 3 cubes in all 3 dimensions. Therefore, can cover at most cubes . For sphere of diameter , since one cube can be completely covered by spheres of diameter and can be inscribed inside , it overlaps the total spheres . For the the axis-aligned case of cubic fault area , it can be shown that cubes . This is because it can overlap with at most cubes as Figure 3 and, due to depth , it can go up to two layers, totaling 8. for sphere is immediate since each cube is covered by spheres of diameter , sphere of diameter can be inscribed inside a cube of side , and a faulty cube of side can overlap at most 8 axis-aligned cubes .
We summarize the results for cubic covers and cubic fault areas in Theorem 6.1.
Theorem 6.1
Given a set of processes embedded in 3-d space and a set of of cubic areas at unknown locations, such that any process of covered by may be Byzantine. Algorithm GENERIC solves geoconsensus with the following guarantees:
-
•
If is cube of side and not axis-aligned and is also a cube of side , faulty processes can be tolerated given that the cover set .
-
•
If is cube of side and axis-aligned and is also a cube of side , faulty processes can be tolerated given that .
-
•
If is a sphere of diameter and is a sphere of diameter , faulty processes can be tolerated given that .
7 Concluding Remarks
Byzantine consensus is a relatively old, practically applicable and well-researched problem. It had been attracting extensive attention from researchers and engineers in distributed systems. In light of the recent development on location-based consensus protocols, such as G-PBFT [13], we have formally defined and studied the consensus problem of processes that are embedded in a -dimensional plane, . We have explored both the possibility as well bounds for a solution to geoconsensus. Our results provide trade-offs on three parameters and , in constant to the trade-off between only two parameters and in the Byzantine consensus literature. Our results also show the dependency of the tolerance guarantees on the shapes of the fault areas.
For future work, it would be interesting to close or reduce the gap between the condition for impossibility and a solution (as discussed in Contributions). It would also be interesting to consider fault area shapes beyond circles and squares that we studied; to investigate process coverage by non-identical squares, circles or other shapes to see whether better bounds on the set and fault-tolerance guarantee can be obtained.
References
- [1] Abd-El-Malek, M., Ganger, G.R., Goodson, G.R., Reiter, M.K., Wylie, J.J.: Fault-scalable byzantine fault-tolerant services. ACM SIGOPS Operating Systems Review 39(5), 59–74 (2005)
- [2] Adya, A., Bolosky, W.J., Castro, M., Cermak, G., Chaiken, R., Douceur, J.R., Howell, J., Lorch, J.R., Theimer, M., Wattenhofer, R.P.: Farsite: Federated, available, and reliable storage for an incompletely trusted environment. ACM SIGOPS Operating Systems Review 36(SI), 1–14 (2002)
- [3] Bulusu, N., Heidemann, J., Estrin, D., Tran, T.: Self-configuring localization systems: Design and experimental evaluation. ACM Transactions on Embedded Computing Systems (TECS) 3(1), 24–60 (2004)
- [4] Castro, M., Liskov, B.: Practical byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems (TOCS) 20(4), 398–461 (2002)
- [5] Castro, M., Rodrigues, R., Liskov, B.: Base: Using abstraction to improve fault tolerance. ACM Transactions on Computer Systems (TOCS) 21(3), 236–269 (2003)
- [6] Clark, B.N., Colbourn, C.J., Johnson, D.S.: Unit disk graphs. Discrete mathematics 86(1-3), 165–177 (1990)
- [7] Cramer, R., Gennaro, R., Schoenmakers, B.: A secure and optimally efficient multi-authority election scheme. European transactions on Telecommunications 8(5), 481–490 (1997)
- [8] Fowler, R.J., Paterson, M., Tanimoto, S.L.: Optimal packing and covering in the plane are np-complete. Inf. Process. Lett. 12(3), 133–137 (1981)
- [9] Hightower, J., Borriello, G.: Location systems for ubiquitous computing. computer 34(8), 57–66 (2001)
- [10] Koo, C.Y.: Broadcast in radio networks tolerating byzantine adversarial behavior. In: PODC. pp. 275–282 (2004)
- [11] Kubiatowicz, J., Bindel, D., Chen, Y., Czerwinski, S., Eaton, P., Geels, D., Gummadi, R., Rhea, S., Weatherspoon, H., Weimer, W., et al.: Oceanstore: An architecture for global-scale persistent storage. ACM SIGOPS Operating Systems Review 34(5), 190–201 (2000)
- [12] Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Transactions on Programming Languages and Systems 4(3), 382–401 (1982)
- [13] Lao, L., Dai, X., Xiao, B., Guo, S.: G-PBFT: A location-based and scalable consensus protocol for iot-blockchain applications. In: IPDPS. pp. 664–673 (2020)
- [14] Marathe, M.V., Breu, H., Hunt III, H.B., Ravi, S.S., Rosenkrantz, D.J.: Simple heuristics for unit disk graphs. Networks 25(2), 59–68 (1995)
- [15] Miller, A., Xia, Y., Croman, K., Shi, E., Song, D.: The honey badger of bft protocols. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. pp. 31–42 (2016)
- [16] Moniz, H., Neves, N.F., Correia, M.: Byzantine fault-tolerant consensus in wireless ad hoc networks. IEEE Transactions on Mobile Computing 12(12), 2441–2454 (2012)
- [17] Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (Apr 1980), https://doi.org/10.1145/322186.322188
- [18] Pelc, A., Peleg, D.: Broadcasting with locally bounded byzantine faults. Information Processing Letters 93(3), 109–115 (Feb 2005)
- [19] Rushby, J.: Bus architectures for safety-critical embedded systems. In: International Workshop on Embedded Software. pp. 306–323. Springer (2001)
- [20] Sousa, J., Bessani, A., Vukolic, M.: A byzantine fault-tolerant ordering service for the hyperledger fabric blockchain platform. In: DSN. pp. 51–58. IEEE (2018)
- [21] Vaidya, N.H., Tseng, L., Liang, G.: Iterative approximate byzantine consensus in arbitrary directed graphs. In: PODC. pp. 365–374 (2012)
- [22] Zamani, M., Movahedi, M., Raykova, M.: Rapidchain: Scaling blockchain via full sharding. In: CCS. pp. 931–948 (2018)