# Dependable and Secure Voting Mechanism in Edge Computing
## 1 Introduction
The cloud tier corresponds to cloud intelligence and is capable of storing and processing an enormous amount of data, depending on the capability of the data centers. The three-tier architecture retains the core advantage of using clouds as a support infrastructure and places the control and trust decisions on the edge devices. Other solutions have expanded this  
Figure 1: Generic three-tier edge network architecture. architecture to use more layers. These additional layers are designed to add business requirements to the traditional architecture [8; 9]. The capabilities of a generic three-tier architecture satisfy the requirements for this solution. Byzantine fault tolerance (BFT) relates to the dependability of computer systems, especially in distributed systems where components may fail arbitrarily and provide erroneous information. The problem of Byzantine generals was first proposed by [PERSON] et al. [10] and is still of significant interest in the present day [11]. Distributed computing that occurs in environments such as centralized clouds or edge nodes are prone to Byzantine failures. These are the most challenging class of failure modes, which imply no restrictions and make no assumptions about the kind of behavior of the system [10]. In today's networks, the data that pass through the edge network are frequently unattended and unsupervised. Sometimes edge nodes may fail, and there is imperfect information about whether a particular node has failed. The lack of fundamental security features exacerbates the privacy risks of edge devices and edge computing, and the decentralized management of a highly distributed environment can lead to security or privacy violations [3; 12; 13]. Consequently, authentication and access control mechanisms must be extended from current cloud deployments and customized for the edge ecosystem. The need to create methods to ensure 'correctness' in an unsafe environment has become a critical issue. There are risks associated with edge computing that are different from the threats that occur in a centralized environment. Ensuring edge computing security is much more challenging than providing cloud security because it involves distributed data processing. One step to improve safety is to use a set of Byzantine agreement protocols to detect data or computation corruption. Byzantine failures also affect cloud services running in data centers. First, arbitrary faults are known to happen in the data center, corrupting the processing and affecting the 'correctness of the results' [14; 15; 16]. Second, malicious attacks perpetrated by cloud insiders or external hackers can also cause corruption of the processing and of its results [17; 18; 19]. Third, cloud outages may lead to the unavailability for cloud services. Experience shows that these events are frequent, with cases of unavailability of hours in services like Facebook or Cloudflare, to name just a few, that can impact the global traffic [20]. In this paper, we propose a voting scheme that works in a set of edge nodes located in the same geographical region that validates the computation that occurred in the multi-cloud environment. The novelty of this proposal arises from the combination of using multiple clouds and edge nodes to not only parallelize computation but also to tolerate Byzantine faults transparently. This solution can be useful for information-centric IoT applications that require the following requisites: (i) IoT data rely on the network for further computational analysis, (ii) it is necessary to ensure the correctness of the computation, and (iii) applications are not subject to reduced latency. The nature of most IoT applications tends to possess these characteristics because consumers desire to receive meaningful knowledge from the data. Our solution addresses several non-trivial challenges toward this purpose in the edge environment. First, it aims to be transparent for the user or any IoT device. Second, this is a general framework that aims to relay computation from edge nodes into the cloud.