Research Report Smart Contracts for resource planning and management Cristina-Maria Miulescu February 2022 Abstract Cloud computing is slowly but steadily infiltrating many facets of our lives. Besides standard Web services like Web mail, searching, and online education, the Internet of Things (IoT) has billions of gadgets that submit data to the cloud. Processing IoT applications in the cloud may not be the most efficient approach in every IoT scenario, particularly for time-sensitive applications. Fog and edge computing, which deal with the problem of managing the high data bandwidth required by end devices, are a viable option. These paradigms demand that huge amounts of created data be processed locally, rather than in the cloud. Resource management, which often focuses around resource allocation, workload balance, resource provisioning, task scheduling, and QoS to achieve performance improvements, is one of the factors for cloud-based IoT settings. In this report, I will discuss several studies that have looked at incorporating Blockchain-based technology for Edge Computing in order to show that it is a low-cost, low-overhead tool for resource management. 1 Introduction Cloud computing has grown in popularity as a platform for storing and processing data from Internet of Things (IoT) devices. The Internet of Things (IoT) links common gadgets to one another and to the rest of the Internet, allowing for more meaningful interactions between objects and humans. Typically, the connecting procedure connects sensing, actuating, and control devices. Furthermore, these devices follow the appropriate communication protocols that are compliant with industry standards. In many efficient and various methods, IoT can achieve the goal of smart recognizing, discovering, following, and controlling things. However, Cloud computing has several constraints, such as the requirement to transfer data from each individual sensor to a data center through a network, process the data, and then send commands to actuators. This is a significant constraint because (a) transmission adds a significant amount of delay; and 1 (b) because sensors and actuators are frequently on the same physical device, control information may be outdated as well. Cloud computing may be aided by fog and edge computing in addressing these restrictions. Cloud computing is not totally replaced by fog computing and edge computing, hence they are not alternatives. The three technologies, on the other hand, can work together to enhance latency, dependability, and reaction times. Location awareness is also enabled by the fog layer’s geo-distributed nature and the edge devices’ geo-distributed nature (see the next paragraphs). One of the most important distinctions between fog and edge computing is the location of intelligence and processing capacity. Figure 1: Cloud vs Fog vs Edge Computing Fog computing uses a network of nodes to connect the cloud to the end devices where intelligence can be found. Base stations or access points are represented by these smart nodes. Fog computing can analyse IoT data in close proximity to the data sources by bringing insight away from the cloud. After then, it can use cloud resources (only if necessary) in a more efficient manner than individual devices. Fog computing, for example, can relocate intelligence to a Local Area Network (LAN) position in the network architecture, allowing data processing in a fog node or an IoT gateway to be supported. Edge computing entails bringing an edge gateway’s intelligence, processing capacity, and intercommunication capabilities directly to the devices. It usually isn’t associated with any cloud-based services and instead focuses on the IoT device side. Mobile services, for example, require ultra-low latency and real-time access to a radio network. Edge computing is a method of bringing compute and communication resources from the cloud to the edge of the network. This is done to facilitate services by eliminating latency and so providing users with quick message delivery. Certain networking difficulties, such as availability, scalability, and interoperability, may be partially addressed when resources are consolidated within the cloud. However, fog and edge computing can help solve some of the novel difficulties (such network bottlenecks and latency). How to quantify the trade-off 2 between data distribution and services at the fog or cloud levels is a specific difficulty. Smart service placement is one method to solve this problem. This may be accomplished more explicitly through data localization, which is achieved by locating the required services closer to the data that they manage. Bittencourt et al. define suitable candidates as applications that do not require a lot of processing power and are capable of evaluating vast amounts of data. 2 Challenges in Resource Allocation for Cloud, Fog, and Edge Computing In cloud, fog, and edge computing, the issues with IoT equipment include responding to resource requirements and load balancing. In this article, load balancing is discussed as one of the important tactics for achieving optimal resource use and reducing or avoiding congestion. As a result, achieving load balancing for processing nodes in a fog environment while also running an IoT application is a unique problem. According to [2, the decided task was to decrease energy usage by decreasing latency and managing workload. The restrictions discussed in [5] are connected to cloud computing and cloud-based synchronization, which is a basic cloud computing function. The majority of data is synchronized to the cloud via IoT devices. This particular design has two hurdles in terms of security and efficiency. The following factors of data integrity, privacy, and availability are key to cloud storage security concerns. Data exposure, data inadequacy, malicious user handling, improper use of cloud computing and its services, and perhaps session theft during data access are among the documented security dangers. In detention-sensitive applications, issues like connection cost and latency between the cloud system and edge layer devices are unacceptable. 3 Smart Contracts on Blockchain Decentralization, non-tampering, full process traceability, collaborative maintenance, openness, and transparency are all properties of blockchain, which is effectively a distributed shared ledger and database. Currency distinguishes blockchain 1.0, smart contracts distinguish blockchain 2.0, and decentralized applications distinguish blockchain 3.0. Consensus allows all ledger nodes to agree on the legitimacy of a record, which also serves as a safeguard against manipulation. It allows non-trusting nodes in a decentralized network to validate the legitimacy of a blockchain without the involvement of a third party. The distributed node (miner) can only add its packed blocks to the blockchain after solving the computational difficulty of determining the qualifying nonce value for the block header. Smart contracts can automatically execute some predetermined rules and terms based on this trustworthy and tamper-proof data. Blockchain has introduced two new functionalities to the digital world: ”value representation” and ”value transfer,” transforming the internet from a ”information internet” to a 3 ”value internet.” Token symbolizes blockchain value in the digital world, which is mirrored in four quadrants split by two dimensions: the digital world/physical world/information internet/value internet, and its on-chain via smart contracts and off-chain via Oracle interface. Figure 2: Smart Contracts A smart contract is a computerized transaction mechanism that lives on the blockchain and has its own address. It may perform basic value transfers as well as define sophisticated regulations. It runs automatically and independently, and its software is similar to that of a special server daemon. The blockchain records ”states,” and smart contracts are the means through which states may be changed. The trustworthy intelligent platform for blockchain is made up of programming languages, tools (smart contracts IDE), standards (ERC20), and an operating environment (EVM). Ethereum’s smart contracts, for example, operate on the Turing-complete programming language EVM (Ethereum Virtual Machine) (Solidity). The logical relationship between complicated smart contracts is turned into program logic flow, which has the following life cycle: Set up (own an account book wallet, i.e., address); Freeze (persistence by authentication); Execution (condition trigger, update status, submit to blockchain, consensus verification); and Finish (condition trigger, update status, submit to blockchain, consensus verification) (transaction and new status information are stored in blockchain). This is taken a step further with a blockchain that supports smart contracts, 4 which enables for multi-step procedures. Smart contracts are self-contained agents whose actions are totally predictable. As a result, they may be trusted to advance any on-chain logic that can be described as a function of on-chain data inputs, as long as the data they need to handle is within their grasp. 4 Related Work on Blockchain integration for Edge Computing In this section, I will discuss several relevant studies in which Blockchain-based technologies for IoT, Cloud, and Edge Computing have been incorporated. The Ankr project is a decentralized cloud solution in development with the goal of providing Clients with the infrastructure to run applications at lower costs than traditional cloud service providers, as well as Data Centers with the infrastructure to generate new revenue streams from underutilized capacity. This will be accomplished by guaranteeing high availability of services, ease of integration, and secure communication. Containerisation, cluster orchestration, and Trusted Execution Environments will be used to achieve this goal (TEE). Traditionally, cloud computing has been created through constructing Virtual Machines, which are emulations that allow you to operate what appear to be several computers on a single piece of hardware. Virtual Machines consume a lot of system resources (CPU and RAM), take a long time to boot up, and need complicated software development resource management. Containerisation, on the other hand, just virtualizes a computer’s operating system, allowing distributed applications to function without requiring each program to start its own virtual machine (VM). Containers start in seconds, and the orchestration mechanism that handles the interconnections and interactions among workloads on the cloud infrastructure makes software development resource management easier and faster. The Dfinity project is a decentralized cloud solution with the goal of creating a global supercomputer with ”unlimited” capacity and processing power. It established the notion of ”AI is law,” in which everything is subject to an intermediary-free algorithmic governance system that combines crowd wisdom and traditional AI technology to freeze misbehaving smart contracts that are harmful to the platform’s users’ interests. This practically indicates that if the algorithmic governance system approves a transaction, it may be amended and turned back. This is in contrast to projects like Bitcoin or Ethereum, where the rule ”The Code is law” demands That a user cannot revert back a transaction after it has been completed. Huh et al. studied the synchronization issue in IoT and suggested a sevenlayer blockchain platform–based IoT device management solution. A smart contract was used to create the platform, which was developed on Ethereum. The significance of a smart contract on the blockchain network is highlighted in this study. The study of Xiong et al. focuses on the establishment of a mobile chain 5 employing edge computing as a supplement to prior applications in healthcare, finance, and other fields. This research examines a prototype model in two scenarios: one in which the relationship between mining rewards and optimal edge service price is fixed, and another in which it is variable, and provides results that these types of providers can use when defining an optimal resource management policy. SmartEdge is a new Ethereum-based edge computing smart contract. It enables nodes to offload computation to edge computing devices owned by other parties in exchange for payment in a verifiable way. The computing node is the first party. The compute node is the computational resource that will be made available to conduct tasks under the SmartEdge contract. The data node, often known as the counterparty, is the second party. Figure 3: SmartEdge participants Sabir et al. want to show how Ethereum and a Smart Contract may be used to protect mobile agents in the context of the Internet of Things. The transactions on the Blockchain are used to identify malicious mobile agents that could compromise IoT networks. The suggested architecture intends to enable safe mobile agent migration in order to assure security and prevent IoT applications from malicious agents. The suggested method is tested using the example of a smart house with several applications. Outside of the smart home, the methodology given in this research might be used to a broader range of IoT systems. 6 5 Conclusion We’ve seen an explosion of data due to significant advancements in cloud computing technologies and IoT applications. Data centers create massive volumes of data, which not only elicit a variety of intriguing data-driven services but also consume a lot of energy every day. I evaluated several resource management difficulties found in cloud/fog and edge settings in my paper. Furthermore, numerous strategies for integrating Blockchain technology into IoT applications using Smart Contracts have been demonstrated. This study project might go in a number of different paths in the future. One of the goals of future research is to find different resource allocation / reallocation approaches using multi-objective optimization methodologies. 7 References [1] Huh, Seyoung, Sangrae Cho, and Soohyung Kim. ”Managing IoT devices using blockchain platform.” 2017 19th international conference on advanced communication technology (ICACT). IEEE, 2017. [2] Christidis, Konstantinos, and Michael Devetsikiotis. ”Blockchains and smart contracts for the internet of things.” Ieee Access 4 (2016): 2292-2303. [3] Zhou, Yiyun, et al. ”Improving iot services in smart-home using blockchain smart contract.” 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). IEEE, 2018. [4] Mohanta, Bhabendu Kumar, Soumyashree S. Panda, and Debasish Jena. ”An overview of smart contract and use cases in blockchain technology.” 2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT). IEEE, 2018. [5] Zhang, Yuanyu, et al. ”Smart contract-based access control for the internet of things.” IEEE Internet of Things Journal 6.2 (2018): 1594-1605. [6] Xu, Ronghua, Yu Chen, and Erik Blasch. ”Decentralized access control for IoT based on blockchain and smart contract.” Modeling and Design of Secure Internet of Things (2020): 505-528. [7] Gulati, Ajay, et al. ”Cloud scale resource management: Challenges and techniques.” 3rd USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 11). 2011. [8] Nzanywayingoma, Frederic, and Yang Yang. ”Efficient resource management techniques in cloud computing environment: a review and discussion.” International Journal of Computers and Applications 41.3 (2019): 165-182. 8