This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Pricing and Budget Allocation for IoT Blockchain with Edge Computing

Xingjian Ding, Jianxiong Guo, Deying Li, and Weili Wu,  This work is supported by the National Natural Science Foundation of China (Grant NO.11671400, 61972404, 61672524), and partially by NSF 1907472. X. Ding and D. Li are with School of Information, Renmin University of China, Beijing, 100872, China (e-mail: dxj@ruc.edu.cn; deyingli@ruc.edu.cn).D. Li is the corresponding author.J. Guo and W. Wei are with the Department of Computer Science, Erik Jonsson School of Engineering and Computer Science, University of Texas at Dallas, Richardson, TX, 75080, USA (e-mail: jianxiong.guo@utdallas.edu; weiliwu@utdallas.edu).
Abstract

Attracted by the inherent security and privacy protection of the blockchain, incorporating blockchain into Internet of Things (IoT) has been widely studied in these years. However, the mining process requires high computational power, which prevents IoT devices from directly participating in blockchain construction. For this reason, edge computing service is introduced to help build the IoT blockchain, where IoT devices could purchase computational resources from the edge servers. In this paper, we consider the case that IoT devices also have other tasks that need the help of edge servers, such as data analysis and data storage. The profits they can get from these tasks is closely related to the amounts of resources they purchased from the edge servers. In this scenario, IoT devices will allocate their limited budgets to purchase different resources from different edge servers, such that their profits can be maximized. Moreover, edge servers will set “best” prices such that they can get the biggest benefits. Accordingly, there raise a pricing and budget allocation problem between edge servers and IoT devices. We model the interaction between edge servers and IoT devices as a multi-leader multi-follower Stackelberg game, whose objective is to reach the Stackelberg Equilibrium (SE). We prove the existence and uniqueness of the SE point, and design efficient algorithms to reach the SE point. In the end, we verify our model and algorithms by performing extensive simulations, and the results show the correctness and effectiveness of our designs.

Index Terms:
Internet of things, Blockchain, Edge computing, Stackelberg game.

I introduction

In the past few decades, the Internet of Things (IoT) has been greatly developed and attracted more and more attention in academia and industry. The IoT technology helps integrate data by connecting different types of devices and has played an irreplaceable role in many fields, such as smart homes, smart factories, smart grids, and so on. In the traditional centralized IoT system, all IoT devices are connected to a centralized cloud server, which is used to manage devices and coordinate communications among devices. The most serious drawback of this centralized architecture is that it faces many problems, such as single point of failure, poor scalability, and network congestion [1]. Some studies introduce distributed IoT [2] and peer-to-peer (P2P) networks [3] to overcome these problems. However, the above studies didn’t solve the inherent threats and vulnerabilities of the IoT, such as security and privacy issues [4].

A very effective way to solve the above issues is to incorporate blockchain into IoT [5]. The blockchain technology has been widely used since it was first implemented for Bitcoin in 2009 [6]. Blockchain records data as a decentralized public ledger, it does not require a third party server to store the data. Instead, data are stored in the form of blocks and maintained by all of the members of the blockchain network. The distributed feature allows blockchain to avoid suffering single point of failure which may happen in centralized systems. The blocks are linked by cryptography, and thus any change in a block will affect the subsequent blocks. The security of a blockchain mainly comes from the way that a new block is generated, which is called mining. To generate a new block, the members of the blockchain network need to win the competition of solving a hash puzzle which is very computation-consuming, and the winner will get a reward from the blockchain network platform. In this paper, we consider that the IoT blockchain network adopts the Proof-of-Work (PoW) consensus mechanism. It is worth mentioning that some researchers have proposed a Directed Acyclic Graph (DAG) based blockchain which is known as tangle for lightweight IoT applications, such as IoTA [7]. However, the DAG-based blockchain has many vulnerabilities, such as it facing the threats of denial of service attacks and spam attacks [8], and it’s vulnerable to double-spending attacks [9]. Therefore, we do not adopt the DAG-based blockchain in this paper.

As mentioned before, solving the hash puzzle is computation-consuming, so it’s hard for the lightweight IoT devices to participate in the mining process. Fortunately, edge computing service is helpful for establishing an IoT blockchain [10], where IoT devices could purchase computational power from edge servers. Consider such an IoT blockchain network that contains lots of IoT systems such as smart factories or smart homes. Each IoT system can be seen as a group, and all of the groups together maintain the operation of the blockchain. The IoT blockchain network will attract nearby IoT systems to join in it due to its security and privacy protection. Motivated by the reward from the blockchain network platform, the IoT devices in an IoT system will purchase the computational resource from the edge server which provides hash computing service (hash-server) to participate in the mining process. In addition, these IoT devices may have other tasks that require the help of the edge server which provides task processing service (task-server). For example, IoT devices that used for building smart cities or realizing augmented reality (AR) need to store and process large amounts of data [11], which is very difficult for lightweight IoT devices to accomplish. Thus it’s necessary for these devices to purchase resources from the task-server, so that they can perform their tasks with the help of the task-server. Generally, the more resources they purchase, the faster and better they perform their tasks, and the more profits they could get from the tasks. As IoT devices usually have limited budgets, how to allocate the budgets to purchase different resources from the two kind of servers so as to maximize the profits, therefore, is an important problem for these IoT devices.

Driven by profit, edge servers will set the unit price of their resources to maximize their utilities, and accordingly, there raise a pricing and budget allocation problem between edge servers and IoT devices, We model the interaction between edge servers and IoT devices as a multi-leader multi-follower Stackelberg game, where edge servers are leaders and IoT devices are followers. The main contributions of this paper are summarized as follows.

  • We introduce the IoT blockchain network with edge computing, and describe the operation of the IoT blockchain system.

  • We establish a multi-leader multi-follower Stackelberg game to model the interaction between edge servers and IoT devices. We prove that the Stackelberg equilibrium of the game exists and is unique, and then propose algorithms to find the Stackelberg equilibrium in limited interactions.

  • We perform extensive simulations to validate the feasibility and effectiveness of our proposed algorithms, simulation results show that our algorithms can quickly reach the unique Stackelberg equilibrium point.

The rest of this paper is structured as follows. Section II introduces the related works. Section III describes the IoT blockchain with edge computing. Section IV presents the Stackelberg game. Section V designs algorithms to get the Stackelberg equilibrium. Section VI performs numerical simulations. And finally, Section VII concludes this paper.

II related works

Due to the inherent security and privacy protection properties of the blockchain, incorporating blockchain technology into IoT has been widely studied in recent years. Novo [12] design an architecture for scalable access management in IoT based on blockchain technology. To address the privacy and security issues in the smart grid, Gai et al. [13] present a permissioned blockchain edge model by combing blockchain and edge computing technologies. Guo et al. [14] design a blockchain-enabled energy management system to ensure the security of energy trading between the power grid and energy stations. Li et al. [15] propose a resource optimization for delay-tolerant data in blockchain-enabled IoT, they use the blockchain technology to improve the data security and efficiency in the IoT system. Liu et al. [16] propose a blockchain-based approach for the data provenance in IoT, which ensures the correctness and integrity of the query results. Qi et al. [17] build a compressed and data sharing framework with the help of blockchain technology, which provides efficient and private data management for industrial IoT. Lei et al. [18] design the groupchain which is a two-chain structured blockchain to ensure the scalability of the IoT services with fog computing.

There are some works that use the Stackelberg game to study the interaction among the participators in the edge computing-based blockchain network, which are closely related to our work. Chang et al. [19] study the incentive mechanism for edge computing-based blockchain networks, in which they aim to find the Stackelberg equilibrium between the edge service provider and the miners. Yao et al. [20] use a Stackelberg game to model the pricing and resource trading problem between the cloud provider and industrial IoT devices, and they find the near-optimal policy through a multiagent reinforcement learning algorithm. Xiong et al. [21, 22] formulate a Stackelberg game to jointly maximize the profit of mobile devices and the edge server in mobile blockchain networks. Ding et al. [23] investigate the interaction between the blockchain platform and IoT devices, where their objective is to find the Stackelberg equilibrium such that both the blockchain platform and IoT devices could maximize their utility and profits respectively. Guo et al. [24] study a Stackelberg game and double auction based task offloading scheme for mobile blockchain. However, all of these existing works only considered the computational power demand of IoT devices, and the game models in these works only have one leader, which is fundamentally different from our work.

III IoT Blockchain with Edge Computing

In this section, we introduce the model of the IoT blockchain with edge computing, and describe the operation of the blockchain system. Moreover, we analyze the security and reliability of the IoT blockchain network.

Refer to caption
Figure 1: The architecture of the IoT blockchain with edge computing.

III-A System Model

Fig. 1 depicts the architecture of the system model of this paper. Consider that there is an IoT blockchain network that has been running for a period which adopts the proof-of-work consensus mechanism. The IoT blockchain network consists of lots of IoT systems such as smart factories or smart homes. Each IoT system includes a set of IoT devices and can be seen as a group. Due to the security and privacy protection brought by the blockchain, the IoT blockchain network will continuously attract other IoT systems to join.

In each IoT system, there are two edge servers which provide hash computing service (hash-server) and task processing service (task-server), respectively. Motivated by the reward from the blockchain network platform, devices in the IoT system would like to be miners of the blockchain network, that is, they will compete with other miners to scramble the right of generating a new block by solving a hash puzzle. Due to the limited computational power of these devices, they will purchase computational resources from the hash-server and then offload their hash puzzle to the hash-server during the mining process. Moreover, each IoT device has its own tasks, such as data collecting, data analysis, and data processing. IoT devices could benefit from performing these tasks. However, when the amount of data is relatively large, it is difficult for these IoT devices to perform the tasks. Then IoT devices will purchase task processing resources from the task-server to perform their tasks. Generally, the more resource they purchase, the faster and better they perform their tasks, and then the more benefit they get from these tasks.

III-B Blockchain System

III-B1 System Initialization

Before each IoT device joins in the blockchain network, it needs to register with the Authentication Server (AS) which is authorized by the blockchain platform. The process is as follows. A device sns_{n} first selects its own identifier IDnID_{n}, and then generate its public/private key pair (PKn,SKn)(PK_{n},SK_{n}) with Elliptic Curve Digital Signature Algorithm (ECDSA) asymmetric cryptography [25]. The public key is opened to the whole blockchain network, and the private key is only known by the device itself. To avoid public key replacement attacks, each IoT device sns_{n} needs to get its digital certificate CertnCert_{n} from the Certificate Authority (CA). The digital certificate CertnCert_{n} is generated by CA’s private key SKcaSK^{ca} with sns_{n}’s identifier IDnID_{n} and public key PKnPK_{n}, i.e., Certn=SKca(IDn,PKn)Cert_{n}=SK^{ca}(ID_{n},PK_{n}). CA send the encrypted message m=PKn(Certn)m=PK_{n}(Cert_{n}) to sns_{n}, and sns_{n} decrypt the message with its private key to get its digital certificate, that is, Certn=SKn(m)Cert_{n}=SK_{n}(m). The digital certificate is used to uniquely identify the IoT device. After gets its digital certificate, the device sns_{n} submits its registration information regn=PKas(IDn,PKn,Certn)reg_{n}=PK^{as}(ID_{n},PK_{n},Cert_{n}) to the AS. Upon receiving regnreg_{n}, AS get the registration information by decrypting regnreg_{n} with its private key (IDn,PKn,Certn)=SKas(regn)(ID_{n},PK_{n},Cert_{n})=SK^{as}(reg_{n}). Then AS check the identity of sns_{n}, if (IDn,PKn)=PKca(Certn)(ID_{n},PK_{n})=PK^{ca}(Cert_{n}), sns_{n} passes the authentication. Device sns_{n} gets its wallet address WADnWAD_{n} from AS, which is generated from its public key with SHA256, RIPEMD-160 and BASE58 algorithms [26]. The AS will store the information (IDn,PKn,Certn,WADn)(ID_{n},PK_{n},Cert_{n},WAD_{n}) about IoT device sns_{n}.

III-B2 Create Transactions

In the IoT blockchain network, devices can trading with each other, and purchase or exchange sensing data with each other. For example, a device sns_{n} wants to purchase the sensing data from sms_{m}, sns_{n} first generate a request req={IDn||WADn||DataMesn||Tstamp}req=\{ID_{n}||WAD_{n}||DataMes_{n}||T_{stamp}\}, where DataMesnDataMes_{n} is the description of its request and TstampT_{stamp} is the timestamp of the message. Then sns_{n} signs the request message with its private key SKnSK_{n} and digital certificate CertnCert_{n} to prove its identity, Sreq={req||SignSKn(Hash(req))||Certn}Sreq=\{req||Sign_{SK_{n}}(Hash(req))||Cert_{n}\}. At last, sns_{n} encrypt the message with sms_{m}’s public key EncSreq=PKm(Sreq)EncSreq=PK_{m}(Sreq), and sent the message EncSreqEncSreq to sms_{m}. Upon receiving the message, sms_{m} first decrypt the message with its private key Sreq=SKm(EncSreq)Sreq=SK_{m}(EncSreq). Then check the signature and digital certificate of sns_{n}. If Hash(req)=PKn(SignSKn(Hash(req)))Hash(req)=PK_{n}(Sign_{SK_{n}}(Hash(req))), it can make sure that the message is sent by sns_{n}. The digital certificate is used to validate the authenticity of the signature. sms_{m} use CACA’s public key to decrypt the digital certificate CertnCert_{n}, if (IDn,PKn)=PKca(Certn)(ID_{n},PK_{n})=PK^{ca}(Cert_{n}), it’s known that the signature is signed by sns_{n}. Then sms_{m} will send a response message to sns_{n}, similar to the above process, all the messages between sns_{n} and sms_{m} are sent in an encrypted way. After finish the trading, sns_{n} will broadcast their trading record to the blockchain network, and waiting to be stored in the blockchain. Besides the trading information between devices, some devices may want to store the sensing data which is important and sensitive into blockchain. Both the trading records and sensing data are considered as transactions.

III-B3 Building Blocks

IoT devices collect a certain number of transactions in a period, and package them into a block. Each block is composed of two parts: block content and block header. The block content records the detail of transactions in a Merkle tree structure. The block header consists of the previous block hash value, which is used as a cryptographic link that creates the chain, a version number that used for tracking for software or protocol updates, a timestamp that records the time at which the block is generated, a Merkle tree root of all the transactions, a hash threshold value that records the current mining difficulty, and a nonce, which is used for solving the PoW puzzle. The mining process is similar to that in the Bitcoin system. Denoted hdatah_{data} by the block header excludes the nonce, then the mining process is to find a nonce aa such that Hash(hdata+a)<difficultyHash(h_{data}+a)<difficulty [6], where difficultydifficulty is a 256-bits binary number and is controlled by the blockchain platform to adjust the block generation speed. As the hash operation is very costly, the hash task of each IoT device will be offloaded to the hash-server, and each device is only responsible for generating new blocks after receiving the result from the hash-server.

III-B4 Carrying Out Consensus Process

The device who first solves the PoW puzzle gets the right to generate a new block, and then the new block needs to be verified by other devices. By adopting the group signature and authentication scheme proposed in [27], each IoT system in the blockchain network can be seen as a group. For a new block which is generated by a device in group ii, it needs to pass a two-round validation before to be added in the blockchain. In the first round, the block is checked by the devices in group ii, each device will validate the transactions recorded in this block. The block will get a signature if it passes the validation from a device, and it can be broadcast to other groups for a second round validation only if it gets all the signatures of devices in group ii. In the second round, upon receiving the block, devices in other groups only check the signature attached in the block. If more than 50%50\% of the devices agreed with the block, the block will be added into the blockchain. Due to the constraints in memory, we let each IoT device only stores a certain number of the latest blocks, which is also applied in [28, 29]. The whole blockchain is stored in the monitoring nodes [29] in each group (IoT system), as the monitoring nodes are authoritative and have larger memory capacity.

III-C Security and Reliability Analysis

Different from traditional IoT systems, merging the IoT system into a blockchain network has many advantages, especially in terms of security and reliability. Specifically, the IoT blockchain network with edge computing inherits the security and reliability performance of the blockchain, as shown in follows.

  1. 1.

    Get rid of a third party: IoT devices carry out transactions in a P2P manner, in which each device has the same rights, and the trust between devices is built with the help of the smart contract of the blockchain. Therefore, the IoT blockchain network guarantees the robustness and scalability without involving a trusted third party.

  2. 2.

    Privacy protection: Blockchain can help deal with the increasing risk of sensitive data being exposed to malwares. In the blockchain network, the communication between devices uses the asymmetric encryption technology to protect the sensitive data. The message sent to a device will be encrypted with the receiver’s public key, and it can only be decrypted by the receiver’s private key. In this way, even if malicious devices intercept the message, they cannot know the content of the message.

  3. 3.

    Integrity: The blocks are duplicated recorded in different devices in a distributed way, so it’s very hard for attackers to tamper with the blockchain. Besides, the blocks are linked together through cryptography. If an attacker attempts to tamper with the transactions in a block, the hash value of each subsequent block will be changed, and thus the attacker needs to redo the PoW puzzle of each subsequent block, which is nearly impossible for the attackers.

  4. 4.

    Authentication: In this IoT blockchain network, each new block needs to pass a two-round validation before it is added into the blockchain. It’s very hard for an attacker to control a whole group (IoT system), so the new block that contains illegal transactions cannot pass the first round validation. Even if some attackers forge the signature of a group, the illegal block cannot pass the second round validation.

IV multi-leader multi-follower Stackelberg game

Consider that a new IoT system now join in the IoT blockchain network, the IoT devices in this system will purchase resources from the edge servers to participate in the mining process and perform their tasks. Driven by profit, the hash-server and task-server will adjust the unit price of their resources to maximize their utilities. After the two servers publish their pricing strategies, each IoT device will determine its strategy for purchasing resources from the two servers according to the resource price and their budgets, such that their profits can be maximized. In this section, we first give the utility functions of the two servers and the profit function of each device, and then describe the problem to be addressed in this paper, specifically, we model the interaction between the two servers and IoT devices as a multi-leader multi-follower Stackelberg game.

IV-A Utility Function

We assume that each IoT device has a unique budget to purchase resources from edge servers. The amount of resources they purchase from the two edge servers depends on how many profits they can get from the trading and are limited by their budgets. Each IoT device will allocate their budget to purchase different services from the hash-server and the task-server to maximize their profits. For the hash-server and the task-server, they will set the unit price of their resources to maximize their utilities. Moreover, there is a competition between the two servers. For example, if the unit price of resources from hash-server is too high, IoT devices would purchase more resources from the task-server, and vice versa. Naturally, we model the interaction between the two servers and IoT devices as a multi-leader multi-follower Stackelberg game, where the hash-server and the task-server act as leaders who first set the unit price of their resources, and IoT devices act as followers who determine their strategies according to the leaders’ bids.

We use 𝒮={s1,s2,,sn}\mathcal{S}=\{s_{1},s_{2},\dots,s_{n}\} to denote the set of IoT devices, the budget for each device si𝒮s_{i}\in\mathcal{S} to purchase resources is bib_{i} where bi>0b_{i}>0. The unit price of resources from the hash-server and the task-server are denoted by php_{h} and ptp_{t} per day, respectively. Let xihx_{i}^{h} and xitx_{i}^{t} be the amount of resources purchased by sis_{i} from the hash-server and the task-server, respectively. The amount of resources purchased buy each device is limited by its budget, that is, xihph+xitptbi,si𝒮x_{i}^{h}*p_{h}+x_{i}^{t}*p_{t}\leq b_{i},\forall s_{i}\in\mathcal{S}.

The profits of each IoT device si𝒮s_{i}\in\mathcal{S} includes two parts. The first part comes from mining new blocks for the blockchain network, which is related to the amount of resources xihx_{i}^{h} purchased by sis_{i} from the hash-server. The second part comes from performing tasks, which is related to the amount of resources xitx_{i}^{t} purchased by sis_{i} from the task-server. We use PihP_{i}^{h} and PitP_{i}^{t} to denote the two parts of profits, respectively. In the following, we will describe how to calculate the two parts of profits.

As the blockchain network has been running for a period, in this paper, we assume that the total hash computational power of the blockchain network in a period time in the future can be estimated and is denoted by HH. In the PoW consensus, the first miner who solves the hash puzzle has the right to generate a new block and will get the reward from the blockchain network. The probability of a miner winning the mining competition is directly related to the hash computational power. We use proipro_{i} to denote the probability that device si𝒮s_{i}\in\mathcal{S} is the first one to solve the hash puzzle, and proipro_{i} can be estimated by

proi=xihH+xih.\displaystyle pro_{i}=\frac{x_{i}^{h}}{H+x_{i}^{h}}. (1)

Generally, the blockchain network will adjust the difficulty of the hash puzzle periodically according to the total hash computation power in the network to stabilize the block generation speed. We assume that an average of NN new blocks are generated per day, and the miners will get a reward RR for generating a new block. The expected reward obtained by device sis_{i} in per day is proiRNpro_{i}RN, and the cost is xihphx_{i}^{h}p_{h}. Then the expected profits that sis_{i} gets from the mining process in a day is calculated as

Pih=proiRNxihph.\displaystyle P_{i}^{h}=pro_{i}RN-x_{i}^{h}p_{h}. (2)

The profits PitP_{i}^{t} got by sis_{i} comes from performing tasks is related to the amount of resources purchased by sis_{i} from the task server, we use a logarithmic function to estimate the benefits of device sis_{i} for performing tasks, and then PitP_{i}^{t} is calculated as

Pit=αlog(1+βxit)xitpt,\displaystyle P_{i}^{t}=\alpha\log(1+\beta x_{i}^{t})-x_{i}^{t}p_{t}, (3)

where α>0\alpha>0 and β1\beta\geq 1 are two constant parameters.

Therefore, the total profits got by device sis_{i} is calculated as

Pi=Pih+Pit=RNxihH+xihxihph+αlog(1+βxit)xitpt.\displaystyle\begin{split}P_{i}&=P_{i}^{h}+P_{i}^{t}\\ &=RN\frac{x_{i}^{h}}{H+x_{i}^{h}}-x_{i}^{h}p_{h}+\alpha\log(1+\beta x_{i}^{t})-x_{i}^{t}p_{t}.\end{split} (4)

We use UhU_{h} and UtU_{t} to denote the utility of the hash-server and task-server, respectively. Assume that the unit hash resource cost of the hash-server is chc_{h}, and the unit task resource cost of the task-server is ctc_{t}. Then the utilities of the two servers can be calculated as

Uh=si𝒮(phch)xih,\displaystyle U_{h}=\sum_{s_{i}\in\mathcal{S}}(p_{h}-c_{h})x_{i}^{h}, (5)
Ut=si𝒮(ptct)xit.\displaystyle U_{t}=\sum_{s_{i}\in\mathcal{S}}(p_{t}-c_{t})x_{i}^{t}. (6)

The profits PiP_{i} gots by device sis_{i} involves two parts, i.e., PihP_{i}^{h} and PitP_{i}^{t}, which comes from trading with the two servers, respectively. The first-order derivatives of PihP_{i}^{h} and PitP_{i}^{t} are

Pihxih=RNH(H+xih)2ph,\displaystyle\frac{\partial P_{i}^{h}}{\partial x_{i}^{h}}=RN\frac{H}{(H+x_{i}^{h})^{2}}-p_{h}, (7)
Pitxit=αβ1+βxitpt.\displaystyle\frac{\partial P_{i}^{t}}{\partial x_{i}^{t}}=\frac{\alpha\beta}{1+\beta x_{i}^{t}}-p_{t}. (8)

To make the problem reasonable, the conditions Pihxih(0)0\frac{\partial P_{i}^{h}}{\partial x_{i}^{h}}(0)\geq 0 and Pitxit(0)0\frac{\partial P_{i}^{t}}{\partial x_{i}^{t}}(0)\geq 0 should be hold, otherwise, IoT devices will never purchase resources from the hash-server or the task-server. Hence, we have phRNHp_{h}\leq\frac{RN}{H} and ptαβp_{t}\leq\alpha\beta. As servers will never sell their resources at a price below the cost, that is, phchp_{h}\geq c_{h} and ptctp_{t}\geq c_{t}. Therefore, in this paper, we assume that chphRNHc_{h}\leq p_{h}\leq\frac{RN}{H} and ctptαβc_{t}\leq p_{t}\leq\alpha\beta.

IV-B Problem Formulation

The interaction between the two servers and IoT devices has two stages. In the upper stage, the hash-server and the task-server offer a unit price of their resources. In the lower stage, IoT devices determine their strategies to maximize their profits according to the price of different services. In the following, we give a detailed definition of the problem in each stage.

Problem 1.

The problem in the lower stage (followers side).

maxxih,xitPi\displaystyle\max\limits_{x_{i}^{h},x_{i}^{t}}~{}~{}~{}P_{i} (9)
s.t.xihph+xitptbi,\displaystyle s.t.~{}~{}~{}x_{i}^{h}p_{h}+x_{i}^{t}p_{t}\leq b_{i}, (10)
xih0,xit0.\displaystyle~{}~{}~{}~{}~{}~{}~{}x_{i}^{h}\geq 0,x_{i}^{t}\geq 0. (11)
Problem 2.

The problem in the upper stage (leaders side).

maxphUh\displaystyle\max\limits_{p_{h}}~{}~{}~{}U_{h} (12)
s.t.chphRNH,\displaystyle~{}s.t.~{}~{}~{}c_{h}\leq p_{h}\leq\frac{RN}{H}, (13)

and

maxptUt\displaystyle\max\limits_{p_{t}}~{}~{}~{}U_{t} (14)
s.t.ctptαβ.\displaystyle~{}s.t.~{}~{}~{}c_{t}\leq p_{t}\leq\alpha\beta. (15)

Note that in the lower stage, each IoT device make their decision independently, and in the upper stage, the two servers are also non-cooperative. Therefore, the problems in the two stages form a non-cooperative multi-leader multi-follower Stackelberg game. Our objective is to find the Stackelberg equilibrium (SE) point of the game, where none of the players of the game wants to change its strategy unilaterally. The SE point in our model is defined as follows.

Definition 1.

Let 𝐱𝐢={xih,xit}\bm{x_{i}^{*}}=\{x_{i}^{h*},x_{i}^{t*}\} be a strategy of IoT device sis_{i}, and we use 𝐗={𝐱𝟏,𝐱𝟐,,𝐱𝐧}\bm{X^{*}}=\{\bm{x_{1}^{*}},\bm{x_{2}^{*}},\dots,\bm{x_{n}^{*}}\} to denote the set of strategies of all of the IoT devices. Let php_{h}^{*} and ptp_{t}^{*} be the strategies of the hash-server and the task-server, respectively. The point (𝐗,ph,pt)(\bm{X^{*}},p_{h}^{*},p_{t}^{*}) is the Stackelberg equilibrium point if the following conditions are satisfied.

Pi(𝒙𝒊,ph,pt)\displaystyle P_{i}(\bm{x_{i}^{*}},p_{h}^{*},p_{t}^{*}) Pi(𝒙𝒊,ph,pt),si𝒮,\displaystyle\geq P_{i}(\bm{x_{i}},p_{h}^{*},p_{t}^{*}),\forall s_{i}\in\mathcal{S}, (16)
Uh(ph,pt)\displaystyle U_{h}(p_{h}^{*},p_{t}^{*}) Uh(ph,pt),\displaystyle\geq U_{h}(p_{h},p_{t}^{*}), (17)
Ut(pt,ph)\displaystyle U_{t}(p_{t}^{*},p_{h}^{*}) Ut(pt,ph),\displaystyle\geq U_{t}(p_{t},p_{h}^{*}), (18)

where 𝐱𝐢={xih,xit}\bm{x_{i}}=\{x_{i}^{h},x_{i}^{t}\} is an arbitrary feasible strategy for any device si𝒮s_{i}\in\mathcal{S}, php_{h} and ptp_{t} are arbitrary feasible strategies for the hash-server and the task-server, respectively.

V Solution of the multi-leader multi-follower Stackelberg game

In this section, we analyze the existence and uniqueness of the Stackelberg equilibrium point of the multi-leader multi-follower Stackelberg game. We first analyze the lower stage of the game, where each follower purchases different resources from the two servers with a limited budget to maximize its profits. Then we analyze the upper stage of the game, where the two servers determine their pricing strategies to maximize their utilities.

V-A Lower stage (followers side) analysis

The second-order derivatives of the profits function PiP_{i} of device sis_{i} are

2Pi(xih)2=2RN(H+xih)3<0,\displaystyle\frac{\partial^{2}P_{i}}{\partial(x_{i}^{h})^{2}}=\frac{-2RN}{(H+x_{i}^{h})^{3}}<0, (19)
2Pi(xit)2=αβ2(1+βxit)2<0,\displaystyle\frac{\partial^{2}P_{i}}{\partial(x_{i}^{t})^{2}}=\frac{-\alpha\beta^{2}}{(1+\beta x_{i}^{t})^{2}}<0, (20)
2Pixihxit=0.\displaystyle\frac{\partial^{2}P_{i}}{\partial x_{i}^{h}\partial x_{i}^{t}}=0. (21)

Therefore, the profits function PiP_{i} is strictly concave, and the problem for each device sis_{i} in the lower stage is actually a convex optimization problem. Sequentially, we use the Karush–Kuhn–Tucker (KKT) conditions to solve the problem.

Let λ1,λ2\lambda_{1},\lambda_{2} and λ3\lambda_{3} be the Lagrange’s multipliers that associated with conditions in Eqs. (10) and (11). Then we define the Lagrangian function as follows.

Li=Pi+λ1(bixihphxitpt)+λ2xih+λ3xit.\displaystyle L_{i}=P_{i}+\lambda_{1}(b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t})+\lambda_{2}x_{i}^{h}+\lambda_{3}x_{i}^{t}. (22)

The KKT conditions (including four group of conditions) of Problem 1 are listed as follows.

Stationarity conditions:

Lixih=RNH(H+xih)2phλ1ph+λ2=0,\displaystyle~{}~{}~{}~{}~{}~{}~{}\frac{\partial L_{i}}{\partial x_{i}^{h}}=RN\frac{H}{(H+x_{i}^{h})^{2}}-p_{h}-\lambda_{1}p_{h}+\lambda_{2}=0, (23)
Lixit=αβ1+βxitptλ1pt+λ3=0.\displaystyle~{}~{}~{}~{}~{}~{}~{}\frac{\partial L_{i}}{\partial x_{i}^{t}}=\frac{\alpha\beta}{1+\beta x_{i}^{t}}-p_{t}-\lambda_{1}p_{t}+\lambda_{3}=0. (24)

Primal feasibility conditions:

bixihphxitpt0,\displaystyle~{}~{}~{}~{}~{}~{}~{}b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t}\geq 0, (25)
xih,xit0.\displaystyle~{}~{}~{}~{}~{}~{}~{}x_{i}^{h},x_{i}^{t}\geq 0. (26)

Dual feasibility conditions:

λ1,λ2,λ30.\displaystyle~{}~{}~{}~{}~{}~{}~{}\lambda_{1},\lambda_{2},\lambda_{3}\geq 0. (27)

Complementary slackness conditions:

λ1(bixihphxitpt)=0,\displaystyle~{}~{}~{}~{}~{}~{}~{}\lambda_{1}(b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t})=0, (28)
λ2xih=0,\displaystyle~{}~{}~{}~{}~{}~{}~{}\lambda_{2}x_{i}^{h}=0, (29)
λ3xit=0.\displaystyle~{}~{}~{}~{}~{}~{}~{}\lambda_{3}x_{i}^{t}=0. (30)

The optimal solution of the problem is taken in one of the following four cases.

(1) Case 1: xih=xit=0x_{i}^{h}=x_{i}^{t}=0. According to the KKT condition (28), we have λ1=0\lambda_{1}=0 as bi>0b_{i}>0. Substitute it into KKT conditions (23) and (24), we have λ2=phRNH\lambda_{2}=p_{h}-\frac{RN}{H} and λ3=ptαβ\lambda_{3}=p_{t}-\alpha\beta. As phRNHp_{h}\leq\frac{RN}{H} and ptαβp_{t}\leq\alpha\beta hold, we have λ20\lambda_{2}\leq 0 and λ30\lambda_{3}\leq 0. The KKT conditions can be satisfied only when λ2=0\lambda_{2}=0 and λ3=0\lambda_{3}=0. Thus we need to check whether ph=RNHp_{h}=\frac{RN}{H} and pt=αβp_{t}=\alpha\beta hold, if yes, the optimal solution is xih=xit=0x_{i}^{h}=x_{i}^{t}=0, otherwise, the optimal solution is not in this case.

(2) Case 2: xih=0x_{i}^{h}=0 and xit>0x_{i}^{t}>0. In this case, we have λ3=0\lambda_{3}=0 according to the KKT condition (30).

Consider λ1=0\lambda_{1}=0, substitute xih=0x_{i}^{h}=0 and λ1=0\lambda_{1}=0 into (23), we have λ2=phRNH0\lambda_{2}=p_{h}-\frac{RN}{H}\leq 0. If ph<RNHp_{h}<\frac{RN}{H}, the KKT condition (27) cannot be satisfied as λ2<0\lambda_{2}<0, which means λ1=0\lambda_{1}=0 is not feasible in this case. Otherwise, if ph=RNHp_{h}=\frac{RN}{H}, we have λ2=0\lambda_{2}=0. Substitute λ1=λ3=0\lambda_{1}=\lambda_{3}=0 into (24), we have xit=αpt1βx_{i}^{t}=\frac{\alpha}{p_{t}}-\frac{1}{\beta}. Then we need to check whether the primal feasibility condition (25) is satisfied, if yes, the optimal solution is (0,αpt1β)(0,\frac{\alpha}{p_{t}}-\frac{1}{\beta}), if no, λ1=0\lambda_{1}=0 is not feasible in this case.

Consider λ1>0\lambda_{1}>0, according to (28), we have bixihphxitpt=0b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t}=0. Combing xih=0x_{i}^{h}=0, we have

xit=bipt.\displaystyle x_{i}^{t}=\frac{b_{i}}{p_{t}}. (31)

Substitute (31) and λ3=0\lambda_{3}=0 into KKT condition (24), we have

λ1=αββbi+pt1.\displaystyle\lambda_{1}=\frac{\alpha\beta}{\beta b_{i}+p_{t}}-1. (32)

Substitute (32) and xih=0x_{i}^{h}=0 into (23), we have

λ2=αβphβbi+ptRNH.\displaystyle\lambda_{2}=\frac{\alpha\beta p_{h}}{\beta b_{i}+p_{t}}-\frac{RN}{H}. (33)

It obvious that xit=bipt>0x_{i}^{t}=\frac{b_{i}}{p_{t}}>0 is satisfied. If λ1\lambda_{1} got by (32) satisfies λ1>0\lambda_{1}>0 and λ2\lambda_{2} got by (33) satisfies λ20\lambda_{2}\geq 0, it means all of the KKT conditions can be satisfied, and thus the optimal solution can be determined as (0,bipt)(0,\frac{b_{i}}{p_{t}}). Otherwise, the optimal solution is not in Case 2.

(3) Case 3: xih>0x_{i}^{h}>0 and xit=0x_{i}^{t}=0. In this case, we have λ2=0\lambda_{2}=0 according to the KKT condition (29).

Consider λ1=0\lambda_{1}=0, substitute xit=0x_{i}^{t}=0 and λ1=0\lambda_{1}=0 into (24), we have λ3=ptαβ0\lambda_{3}=p_{t}-\alpha\beta\leq 0. If pt<αβp_{t}<\alpha\beta, the KKT condition (27) cannot be satisfied as λ3<0\lambda_{3}<0, which implies λ1=0\lambda_{1}=0 in not feasible in this case. Otherwise, if pt=αβp_{t}=\alpha\beta, we have λ3=0\lambda_{3}=0. Substitute λ1=λ2=0\lambda_{1}=\lambda_{2}=0 into (23), we have xih=RNHphHx_{i}^{h}=\sqrt{\frac{RNH}{p_{h}}}-H. Then we need to check whether the primal feasibility condition (25) is satisfied, if yes, the optimal solution is (RNHphH,0)(\sqrt{\frac{RNH}{p_{h}}}-H,0), if no, λ1=0\lambda_{1}=0 is not feasible in this case.

Consider λ1>0\lambda_{1}>0, we have bixihphxitpt=0b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t}=0 according to (28). Combing xit=0x_{i}^{t}=0, we have

xih=biph.\displaystyle x_{i}^{h}=\frac{b_{i}}{p_{h}}. (34)

Substitute (34) and λ2=0\lambda_{2}=0 into KKT condition (23), we have

λ1=RNHph(bi+Hph)21.\displaystyle\lambda_{1}=\frac{RNHp_{h}}{(b_{i}+Hp_{h})^{2}}-1. (35)

Substitute (35) and xit=0x_{i}^{t}=0 into (24), we have

λ3=RNHphpt(bi+Hph)2αβ.\displaystyle\lambda_{3}=\frac{RNHp_{h}p_{t}}{(b_{i}+Hp_{h})^{2}}-\alpha\beta. (36)

It’s obvious that xih=biph>0x_{i}^{h}=\frac{b_{i}}{p_{h}}>0 is satisfied. If λ1\lambda_{1} got by (35) satisfies λ1>0\lambda_{1}>0 and λ3\lambda_{3} got by (36) satisfies λ30\lambda_{3}\geq 0, it means that all of the KKT conditions can be satisfied, and thus the optimal solution is (biph,0)(\frac{b_{i}}{p_{h}},0). Otherwise, the optimal solution is not in Case 3.

(4) Case 4: xih>0x_{i}^{h}>0 and xit>0x_{i}^{t}>0. In this case, we have λ2=λ3=0\lambda_{2}=\lambda_{3}=0 according to the KKT conditions (29) and (30).

Suppose λ1=0\lambda_{1}=0, substitute it into the stationarity conditions (23) and (24), we have

xih=RNHphH;xit=αpt1β.\displaystyle x_{i}^{h}=\sqrt{\frac{RNH}{p_{h}}}-H;x_{i}^{t}=\frac{\alpha}{p_{t}}-\frac{1}{\beta}. (37)

As phRNHp_{h}\leq\frac{RN}{H} and ptαβp_{t}\leq\alpha\beta, it’s easy to know that the condition (26) is satisfied. Then we check whether the condition (25) is satisfied. If yes, then the solution shown in Eq. (37) is the optimal solution. Otherwise, λ1=0\lambda_{1}=0 is not feasible in this case.

Now we consider the case that λ1>0\lambda_{1}>0. According to the condition (28), we have bixihphxitpt=0b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t}=0. Solving conditions (23) and (24), we have

xih=RNHph+λ1phH;xit=αpt+λ1pt1β.\displaystyle x_{i}^{h}=\sqrt{\frac{RNH}{p_{h}+\lambda_{1}p_{h}}}-H;x_{i}^{t}=\frac{\alpha}{p_{t}+\lambda_{1}p_{t}}-\frac{1}{\beta}. (38)

Substitute (38) into bixihphxitpt=0b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t}=0, we have

AB11+λ1α1+λ1=0.\displaystyle A-B\sqrt{\frac{1}{1+\lambda_{1}}}-\frac{\alpha}{1+\lambda_{1}}=0. (39)

where A=bi+Hph+1βpt>0A=b_{i}+Hp_{h}+\frac{1}{\beta}p_{t}>0, and B=RNHph>0B=\sqrt{RNHp_{h}}>0. Let t=1+λ1>0t=\sqrt{1+\lambda_{1}}>0, substitute tt into (39) and solve the function, we have t=B±B2+4Aα2At=\frac{B\pm\sqrt{B^{2}+4A\alpha}}{2A}. As t>0t>0, we have

t=1+λ1=B+B2+4Aα2A.\displaystyle t=\sqrt{1+\lambda_{1}}=\frac{B+\sqrt{B^{2}+4A\alpha}}{2A}. (40)

By solving (40), we have

λ1=(B+B2+4Aα2A)21.\displaystyle\lambda_{1}=\left(\frac{B+\sqrt{B^{2}+4A\alpha}}{2A}\right)^{2}-1. (41)

Then we check whether λ1\lambda_{1} got by (41) satisfies λ1>0\lambda_{1}>0. If λ10\lambda_{1}\leq 0, it means that the solutions found in (38) cannot satisfy all of the KKT conditions, and thus the optimal solution is not in Case 4. Otherwise, we substitute (41) into (38), and we will get a solution (xih,xit)(x_{i}^{h},x_{i}^{t}). Then we check whether the solution (xih,xit)(x_{i}^{h},x_{i}^{t}) satisfies xih>0x_{i}^{h}>0 and xit>0x_{i}^{t}>0. If yes, the solution (xih,xit)(x_{i}^{h},x_{i}^{t}) is the optimal solution. If no, the optimal solution is not in Case 4.

The optimal solution will be found in one of the four cases from Case 1 to Case 4. Based on above analysis, we present the algorithm 𝖥𝖮𝖲𝖣\sf{FOSD} to solve Problem 1 in the lower stage. The pseudo-code is shown in Algorithm 1.

Algorithm 1 Find Optimal Strategy for a Device sis_{i}. (𝖥𝖮𝖲𝖣\sf{FOSD})
1:H, R, N, α\alpha, β\beta, bib_{i}, php_{h} and ptp_{t};
2:The optimal strategy (xih,xit)(x_{i}^{h},x_{i}^{t}) for IoT device sis_{i};
3:// Case 1:
4:if ph=RNHp_{h}=\frac{RN}{H} && pt=αβp_{t}=\alpha\beta then
5:     return (0,0)(0,0);
6:end if
7:// Case 2-1:
8:xit=αpt1βx_{i}^{t}=\frac{\alpha}{p_{t}}-\frac{1}{\beta};
9:if ph=RNHp_{h}=\frac{RN}{H} && bixitpt0b_{i}-x_{i}^{t}p_{t}\geq 0 then
10:     return (0,xit)(0,x_{i}^{t});
11:end if
12:// Case 2-2:
13:xit=biptx_{i}^{t}=\frac{b_{i}}{p_{t}}; λ1=αββbi+pt1\lambda_{1}=\frac{\alpha\beta}{\beta b_{i}+p_{t}}-1; λ2=αβphβbi+ptRNH\lambda_{2}=\frac{\alpha\beta p_{h}}{\beta b_{i}+p_{t}}-\frac{RN}{H};
14:if λ1>0\lambda_{1}>0 && λ20\lambda_{2}\geq 0 then
15:     return (0,xit)(0,x_{i}^{t});
16:end if
17:// Case 3-1:
18:xih=RNHphHx_{i}^{h}=\sqrt{\frac{RNH}{p_{h}}}-H;
19:if pt=αβp_{t}=\alpha\beta && bixihph0b_{i}-x_{i}^{h}p_{h}\geq 0 then
20:     return (xih,0)(x_{i}^{h},0);
21:end if
22:// Case 3-2:
23:xih=biphx_{i}^{h}=\frac{b_{i}}{p_{h}}; λ1=RNHph(bi+Hph)21;λ3=RNHphpt(bi+Hph)2αβ\lambda_{1}=\frac{RNHp_{h}}{(b_{i}+Hp_{h})^{2}}-1;\lambda_{3}=\frac{RNHp_{h}p_{t}}{(b_{i}+Hp_{h})^{2}}-\alpha\beta;
24:if λ1>0\lambda_{1}>0 && λ30\lambda_{3}\geq 0 then
25:     return (xih,0)(x_{i}^{h},0);
26:end if
27:// Case 4-1:
28:xih=RNHphH;xit=αpt1βx_{i}^{h}=\sqrt{\frac{RNH}{p_{h}}}-H;x_{i}^{t}=\frac{\alpha}{p_{t}}-\frac{1}{\beta};
29:if bixihphxitpt0b_{i}-x_{i}^{h}p_{h}-x_{i}^{t}p_{t}\geq 0 then
30:     return (xih,xit)(x_{i}^{h},x_{i}^{t});
31:end if
32:// Case 4-2:
33:A=bi+Hph+1βptA=b_{i}+Hp_{h}+\frac{1}{\beta}p_{t}, B=RNHphB=\sqrt{RNHp_{h}};
34:λ1=(B+B2+4Aα2A)21\lambda_{1}=\left(\frac{B+\sqrt{B^{2}+4A\alpha}}{2A}\right)^{2}-1;
35:if λ1>0\lambda_{1}>0 then
36:     xih=RNHph+λ1phH;xit=αpt+λ1pt1βx_{i}^{h}=\sqrt{\frac{RNH}{p_{h}+\lambda_{1}p_{h}}}-H;x_{i}^{t}=\frac{\alpha}{p_{t}+\lambda_{1}p_{t}}-\frac{1}{\beta};
37:     if xih>0x_{i}^{h}>0 && xit>0x_{i}^{t}>0 then
38:         return (xih,xit)(x_{i}^{h},x_{i}^{t});
39:     end if
40:end if

V-B Upper stage (leaders side) analysis

On the leaders’ side, hash-server and task-server set their unit prices php_{h} and ptp_{t} of resources to maximize their utilities UhU_{h} and UtU_{t} which are calculated by Eqs. (5) and (6), respectively. Note that the pricing strategies of leaders will directly affect the strategies of followers, which has been analyzed in Section V-A. Therefore, the strategies of the hash-server and task-server will affect each other’s utility. The game between the two servers is non-cooperative and competitive. To maximize their utilities, each server (leader) should give a suitable unit price of its resource. For example, for the hash-server, if the unit price of resource php_{h} is too high, the followers will prefer to purchase more resources from the task-server, and thus the hash-server will get a very low utility. On the contrary, if php_{h} is set too low, although the followers tend to purchase resources from the hash-server, the total purchased resources are limited due to the budget limitation of these followers, which also results in a low utility. In the following, we will show that the game between the two servers will reach a Nash equilibrium, and we design an algorithm to find the Nash equilibrium point.

The concept of the Nash Equilibrium (NE) of the game between the two servers is defined as follows.

Definition 2.

Let php_{h}^{*} and ptp_{t}^{*} be the strategies of the hash-server and the task-server, respectively, (php_{h}^{*}, ptp_{t}^{*}) is the Nash equilibrium if the following conditions are satisfied.

Uh(ph,pt)\displaystyle U_{h}(p_{h}^{*},p_{t}^{*}) Uh(ph,pt),\displaystyle\geq U_{h}(p_{h},p_{t}^{*}), (42)
Ut(pt,ph)\displaystyle U_{t}(p_{t}^{*},p_{h}^{*}) Ut(pt,ph),\displaystyle\geq U_{t}(p_{t},p_{h}^{*}), (43)

where php_{h} and ptp_{t} are arbitrary feasible strategies for the hash-server and the task-server, respectively.

According to the definition, at the NE point, none of the servers can improve its utility by unilaterally changing its strategy. Therefore, when the game reaches a NE point, the interaction between the two servers is suspended, and the pricing strategies of the two servers will never change again. Next, we will prove the existence and uniqueness of the NE point of the game between the two servers.

Theorem 1.

The NE point of the game between the two servers exists and is unique.

Proof.

As defined in Problem 2, the strategy space of the two servers is [ch,RHH]×[ct,αβ][c_{h},\frac{RH}{H}]\times[c_{t},\alpha\beta], which is a non-empty, closed and convex subset of the Euclidean space. Next, we calculate the second order derivatives of utility functions Uh()U_{h}(\cdot) and Ut()U_{t}(\cdot).

We first consider the utility of the hash-server. According analysis in Section V-A, the amount of purchased resources xihx_{i}^{h} of device sis_{i} from the hash-server must be one of the four following cases: (1) xih=RNHphHx_{i}^{h}=\sqrt{\frac{RNH}{p_{h}}}-H; (2) xih=RNHph+λ1phHx_{i}^{h}=\sqrt{\frac{RNH}{p_{h}+\lambda_{1}p_{h}}}-H, where λ1=\lambda_{1}= (41); (3) xih=0x_{i}^{h}=0; (4) xih=biphx_{i}^{h}=\frac{b_{i}}{p_{h}}. Then the first order derivative of xih()x_{i}^{h}(\cdot) with respect to php_{h} of this four cases is calculated as:

xihph\displaystyle\frac{\partial x_{i}^{h}}{\partial p_{h}} =12RNH(ph)32\displaystyle=-\frac{1}{2}\sqrt{RNH}\left(p_{h}\right)^{-\frac{3}{2}} (44)
=12RNH1+λ1(ph)32,λ1=(41)\displaystyle=-\frac{1}{2}\sqrt{\frac{RNH}{1+\lambda_{1}}}\left(p_{h}\right)^{-\frac{3}{2}},\lambda_{1}=(\ref{case2:lambda}) (45)
=0\displaystyle=0 (46)
=bi(ph)2.\displaystyle=-b_{i}(p_{h})^{-2}. (47)

The second order derivative of xih()x_{i}^{h}(\cdot) with respect to php_{h} of this four cases is calculated as:

2xih(ph)2\displaystyle\frac{\partial^{2}x_{i}^{h}}{\partial(p_{h})^{2}} =34RNH(ph)52\displaystyle=\frac{3}{4}\sqrt{RNH}\left(p_{h}\right)^{-\frac{5}{2}} (48)
=34RNH1+λ1(ph)52,λ1=(41)\displaystyle=\frac{3}{4}\sqrt{\frac{RNH}{1+\lambda_{1}}}\left(p_{h}\right)^{-\frac{5}{2}},\lambda_{1}=(\ref{case2:lambda}) (49)
=0\displaystyle=0 (50)
=2bi(ph)3.\displaystyle=2b_{i}(p_{h})^{-3}. (51)

According to function (5), the second order derivative of Uh()U_{h}(\cdot) with respect to php_{h} is

2Uh(ph)2=si𝒮(2xihph+(phch)2xih(ph)2).\displaystyle\frac{\partial^{2}U_{h}}{\partial(p_{h})^{2}}=\sum\limits_{s_{i}\in\mathcal{S}}\left(2\frac{\partial x_{i}^{h}}{\partial p_{h}}+(p_{h}-c_{h})\frac{\partial^{2}x_{i}^{h}}{\partial(p_{h})^{2}}\right). (52)

As phch<php_{h}-c_{h}<p_{h}, combing the functions of xihph\frac{\partial x_{i}^{h}}{\partial p_{h}} and 2xih(ph)2\frac{\partial^{2}x_{i}^{h}}{\partial(p_{h})^{2}}, we have 2Uh(ph)20\frac{\partial^{2}U_{h}}{\partial(p_{h})^{2}}\leq 0. Therefore, the utility function Uh()U_{h}(\cdot) of the hash-server is a concave function with respect to php_{h}.

Similarly, we have 2Ut(pt)20\frac{\partial^{2}U_{t}}{\partial(p_{t})^{2}}\leq 0, and we know that the utility function Ut()U_{t}(\cdot) of the task-server is a concave function with respect to ptp_{t}. Thus the interaction between the two servers form a concave 2-person game. According to [30], we know that the NE point of the game between the two servers exists and is unique. ∎

After the leaders (the two servers) issue their strategies, the followers (IoT devices) will determine their strategies for purchasing different resources from the two servers, as is discussed in Section V-A. The interaction between servers and IoT devices formulates a multi-leader multi-follower Stackelberg game, and the objective is to find the Stackelberg equilibrium (SE) point of the game, which is defined as Definition 1. Next, we will prove that the Stackelberg equilibrium of the game between servers and IoT devices exists and is unique.

Theorem 2.

The SE point of the game between servers and IoT devices exists and is unique.

Proof.

As analyzed in Section V-A, each IoT device will find its optimal strategy in one of the three cases from Case 2 to Case 4, which indicates that the strategy of each IoT device is unique after the two servers give their pricing strategies. According to Theorem 1, the game between the two servers has a unique NE point, we thus can conclude that the SE point of the game between servers and IoT devices exists and is unique. ∎

To find the NE point of the game between the two servers, based on the optimal strategies of IoT devices, we proposed an algorithm 𝖥𝖭𝖤𝖲\sf{FNES} to find the final pricing strategies of the two servers. The 𝖥𝖭𝖤𝖲\sf{FNES} is based on sub-gradient technique [31, 32], and it invokes 𝖥𝖮𝖲𝖣\sf{FOSD} as its subroutine. The pseudo-code of algorithm 𝖥𝖭𝖤𝖲\sf{FNES} is shown in Algorithm 2.

Algorithm 2 Find Nash Equilibrium for Servers. (𝖥𝖭𝖤𝖲\sf{FNES})
1:The game between the two servers and IoT devices;
2:The pricing strategy (ph,pt)(p_{h},p_{t}) for the two servers;
3:Initialize: ph=12(ch+RNH)p_{h}=\frac{1}{2}(c_{h}+\frac{RN}{H}), pt=12(ct+αβ)p_{t}=\frac{1}{2}(c_{t}+\alpha\beta);
4:Set a small step Δ\Delta, and the attenuation coefficient δ\delta of the step;
5:while true do
6:     ph=php_{h}^{\prime}=p_{h}, pt=ptp_{t}^{\prime}=p_{t};
7:// Adjust strategy for the hash-server
8:     Calculate Uh(ph,pt)U_{h}(p_{h},p_{t}), Uh(ph+Δ,pt)U_{h}(p_{h}+\Delta,p_{t}) and Uh(phΔ,pt)U_{h}(p_{h}-\Delta,p_{t}) by invoking Algorithm 𝖥𝖮𝖲𝖣\sf{FOSD} for each IoT device with parameters (ph,pt)(p_{h},p_{t}), (ph+Δ,pt)(p_{h}+\Delta,p_{t}) and (phΔ,pt)(p_{h}-\Delta,p_{t}), respectively;
9:     if Uh(ph+Δ,pt)Uh(ph,pt)U_{h}(p_{h}+\Delta,p_{t})\geq U_{h}(p_{h},p_{t}) && Uh(ph+Δ,pt)Uh(phΔ,pt)U_{h}(p_{h}+\Delta,p_{t})\geq U_{h}(p_{h}-\Delta,p_{t}) then
10:         ph=min{ph+Δ,RNH}p_{h}=\min\{p_{h}+\Delta,\frac{RN}{H}\};
11:     else if Uh(phΔ,pt)Uh(ph,pt)U_{h}(p_{h}-\Delta,p_{t})\geq U_{h}(p_{h},p_{t}) && Uh(phΔ,pt)Uh(ph+Δ,pt)U_{h}(p_{h}-\Delta,p_{t})\geq U_{h}(p_{h}+\Delta,p_{t}) then
12:         ph=max{phΔ,ch}p_{h}=\max\{p_{h}-\Delta,c_{h}\};
13:     end if
14:// Adjust strategy for the tash-server
15:     Calculate Ut(pt,ph)U_{t}(p_{t},p_{h}), Ut(pt+Δ,ph)U_{t}(p_{t}+\Delta,p_{h}) and Ut(ptΔ,ph)U_{t}(p_{t}-\Delta,p_{h}) by invoking Algorithm 𝖥𝖮𝖲𝖣\sf{FOSD} for each IoT device with parameters (pt,ph)(p_{t},p_{h}), (pt+Δ,ph)(p_{t}+\Delta,p_{h}) and (ptΔ,ph)(p_{t}-\Delta,p_{h}), respectively;
16:     if Ut(pt+Δ,ph)Ut(pt,ph)U_{t}(p_{t}+\Delta,p_{h})\geq U_{t}(p_{t},p_{h}) && Ut(pt+Δ,ph)Ut(ptΔ,ph)U_{t}(p_{t}+\Delta,p_{h})\geq U_{t}(p_{t}-\Delta,p_{h}) then
17:         pt=min{pt+Δ,αβ}p_{t}=\min\{p_{t}+\Delta,\alpha\beta\};
18:     else if Ut(ptΔ,ph)Ut(pt,ph)U_{t}(p_{t}-\Delta,p_{h})\geq U_{t}(p_{t},p_{h}) && Ut(ptΔ,ph)Ut(pt+Δ,ph)U_{t}(p_{t}-\Delta,p_{h})\geq U_{t}(p_{t}+\Delta,p_{h}) then
19:         pt=max{ptΔ,ct}p_{t}=\max\{p_{t}-\Delta,c_{t}\};
20:     end if
21:     if ph=php_{h}^{\prime}=p_{h} && pt=ptp_{t}^{\prime}=p_{t} then
22:         Break;
23:     end if
24:// Reduce the step
25:     Δ=δΔ\Delta=\delta\cdot\Delta;
26:end while
27:return (ph,pt)(p_{h},p_{t})

In 𝖥𝖭𝖤𝖲\sf{FNES}, we first set a feasible pricing strategy for each server, and a small step Δ\Delta is set to update the strategies of servers. We iteratively adjust the pricing strategy for each server in an alternative way. For the hash-server, we will calculate its utility UhU_{h} with pricing strategies php_{h}, ph+Δp_{h}+\Delta and phΔp_{h}-\Delta, and the best pricing strategy will be selected as the latest strategy in the next round. Note that, the value of UhU_{h} is related to the strategy of each IoT device, and thus we need to invoke the 𝖥𝖮𝖲𝖣\sf{FOSD} algorithm to get the strategy of each IoT device. The strategy adjustment of the task-server is similar to that of the hash-server. In each iteration, we update the step Δ\Delta with the attenuation coefficient δ\delta, where δ(0,1)\delta\in(0,1). The 𝖥𝖭𝖤𝖲\sf{FNES} terminates when none of the servers will change its pricing strategy.

VI Simulations

In this section, we conduct numerical experiments to validate the feasibility and effectiveness of our algorithms.

VI-A Experimental settings

In the experiments, we assume the total hash computational power HH of the IoT blockchain network in the next period is estimated to be 10001000 GH/sGH/s. The mining reward RR from the blockchain platform is set to be 300300, and the number of generated new blocks per day NN is set to be 144144. For the profit function of performing tasks, we set α\alpha to be 4040, and β\beta to be 22. The unit resource cost of the hash-server and the task-server is set to be 10, that is, ch=ct=10c_{h}=c_{t}=10. We consider there are 55 IoT devices in the IoT system that would like to purchase resources from the two servers, the budget of each device is 50,60,70,8050,60,70,80, and 9090, respectively. For the algorithm 𝖥𝖭𝖤𝖲\sf{FNES}, we set the set Δ\Delta to be 11, and the attenuation coefficient δ\delta to be 0.990.99. Unless other declared, the above are the default settings of our experiments.

VI-B Results and Analyses

1) The convergence of algorithm 𝖥𝖭𝖤𝖲\sf{FNES}: In algorithm 𝖥𝖭𝖤𝖲\sf{FNES}, we set the default initial value of the pricing strategies of the two servers as ph=12(ch+RNH)=26.6p_{h}=\frac{1}{2}(c_{h}+\frac{RN}{H})=26.6 and pt=12(ct+αβ)=45p_{t}=\frac{1}{2}(c_{t}+\alpha\beta)=45. As shown in Fig. 2(a), after 2323 iterations, the interaction between the two servers reach the Nash Equilibrium. However, when we set the initial value of the pricing strategies of the two servers as ph=RNH=43.2p_{h}=\frac{RN}{H}=43.2 and pt=αβ=80p_{t}=\alpha\beta=80, as shown in Fig. 2(b), it needs about 130130 iterations to reach the Nash Equilibrium, which is much slower than that in Fig. 2(a). This indicates that different initialization will significantly affect the convergence speed of algorithm 𝖥𝖭𝖤𝖲\sf{FNES}. We can also see that Fig. 2(a) and Fig. 2(b) reach the same Nash Equilibrium even though the initialization is different, which implies the correctness of our analysis in Theorem 2.

We investigate the effect of the step Δ\Delta on the convergence of algorithm 𝖥𝖭𝖤𝖲\sf{FNES} in Fig. 3. It can be seen that it needs more iterations to reach the Nash Equilibrium when we adopt a smaller Δ\Delta. However, although using a larger Δ\Delta can quickly approach the equilibrium point, we have to wait for more iterations if we want to get a more accurate solution, as we need to wait for the step Δ\Delta to decay to a sufficiently small level. Therefore, how to select a suitable value of Δ\Delta depends on the trade-off between the convergence speed and solution accuracy. If we care more about the convergence speed other than the accuracy, we should adopt a relatively large Δ\Delta, otherwise, we should adopt a small Δ\Delta. There exists an alternative way to quickly reach a more accurate equilibrium point, that is, we use a large Δ\Delta to quickly approach the equilibrium point, and then set the Δ\Delta to a small value to improve the accuracy.

Refer to caption
(a) Initialization:(php_{h}=26.6, ptp_{t}=45)
Refer to caption
(b) Initialization:(php_{h}=43.2, ptp_{t}=80)
Figure 2: The convergence process of 𝖥𝖭𝖤𝖲\sf{FNES} with different initialization.
Refer to caption
(a) Δ=0.3\Delta=0.3
Refer to caption
(b) Δ=1\Delta=1
Figure 3: The convergence process of 𝖥𝖭𝖤𝖲\sf{FNES} with different Δ\Delta.
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 4: The effect of the RR on (a) pricing strategies of servers, (b) utilities of servers, (c) total sold resources of servers and (d) total profits of devices.
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 5: The effect of chc_{h} on (a) pricing strategies of servers, (b) utilities of servers, (c) total sold resources of servers and (d) total profits of devices.

2) The effect of the mining reward RR: We investigate the effect of the mining reward RR on the final solution of our problem, as shown in Fig. 4. When the mining reward RR increases from 200200 to 400400, the miners (IoT devices) will get more profit from the mining process, and thus these devices prefer to spend their budget on purchasing hash computational power. Therefore, the hash-server will give a higher price to get a larger utility, and the task-server has to lower its price to attract the devices. The results are shown in Fig. 4 and Fig. 4. From Fig. 4 we can see that the total purchased hash resource of devices decreases as the reward RR increases. This is because the price of the hash resource has been raised up, and the devices have limited budgets. It indicates that if the blockchain platform wants to attract miners to contribute more computational power by increasing the mining reward, it may have an opposite effect. Devices will get more profit as the mining reward RR increases, as shown in Fig. 4.

3) The effect of the unit resource cost of the servers: We keep the unit resource cost ctc_{t} of the task-server unchanged, and increase the unit resource cost chc_{h} of the hash-server from 1010 to 2020. As the unit resource cost chc_{h} raised up, the hash-server will raise its resource price to get a larger utility. Thus devices will allocate more budget to purchase resources from the task-server, and then the task-server will raise its resource price as it is more competitive. The results are shown in Fig. 5. The total purchased hash resource of devices will decrease due to the above reasons, meanwhile, devices will purchase more resource from the task-server, as shown in Fig. 5. The utility of the hash-server decreases with increasing the unit resource cost chc_{h}, the reason is that the total sold resources of the hash-server decreases as chc_{h} increases, even though the price php_{h} has risen, the value phchp_{h}-c_{h} almost unchanged. The results are shown in Fig. 5. As both of the two servers will bid a higher price as chc_{h} increases, devices will get less profit, as shown in Fig. 5. From Fig. 5, we can conclude that if the server could reduce its unit resource cost, it will be more competitive and thus obtain more benefits.

4) The effect of the budget of devices: If we increase the budget b5b_{5} of device s5s_{5} from 5050 to 190190, while the budgets of other devices keep unchanged, the profit gets by s5s_{5} will increase because it can purchase more resources from the two servers, while the profits of other devices decrease, as shown in Fig. 6. The reason is that the increment of the budget b5b_{5} will cause servers to raise their resource prices, which in turn reduced the amount of resources purchased by other devices, as shown in Fig. 6. The result indicates that the budget of devices will affect each other’s profit in an indirect way.

Refer to caption
Refer to caption
Figure 6: The effect of the budget b5b_{5} of device s5s_{5}.

VII Conclusion

In this paper, we study the pricing and budget allocation problem between edge servers and IoT devices in an IoT blockchain network. We first introduce the architecture of IoT blockchain with edge computing, and describe the operation of the IoT blockchain system. Then, we model the interaction between edge servers and IoT devices as a multi-leader multi-follower Stackelberg game. We prove the existence and uniqueness of the Stackelberg equilibrium, and design efficient algorithms to get the Stackelberg equilibrium point. Finally, we validate the correctness and effectiveness of our designs by conducting extensive simulations.

References

  • [1] M. Rehman, N. Javaid, M. Awais, M. Imran, and N. Naseer, “Cloud based secure service providing for iots using blockchain,” in 2019 IEEE Global Communications Conference (GLOBECOM).   IEEE, 2019, pp. 1–7.
  • [2] R. Roman, J. Zhou, and J. Lopez, “On the features and challenges of security and privacy in distributed internet of things,” Computer Networks, vol. 57, no. 10, pp. 2266–2279, 2013.
  • [3] D.-Y. Kim, A. Lee, and S. Kim, “P2p computing for trusted networking of personalized iot services,” Peer-to-Peer Networking and Applications, vol. 13, no. 2, pp. 601–609, 2020.
  • [4] F. A. Alaba, M. Othman, I. A. T. Hashem, and F. Alotaibi, “Internet of things security: A survey,” Journal of Network and Computer Applications, vol. 88, pp. 10–28, 2017.
  • [5] N. Kshetri, “Can blockchain strengthen the internet of things?” IT professional, vol. 19, no. 4, pp. 68–72, 2017.
  • [6] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” Manubot, Tech. Rep., 2019.
  • [7] M. Divya and N. B. Biradar, “Iota-next generation block chain,” International journal of engineering and computer science, vol. 7, no. 04, pp. 23 823–23 826, 2018.
  • [8] C. Bai, “State-of-the-art and future trends of blockchain based on dag structure,” in International Workshop on Structured Object-Oriented Formal Language and Method.   Springer, 2018, pp. 183–196.
  • [9] P. Ferraro, R. Shorten, and C. King, “On the stability of unverified transactions in a dag-based distributed ledger,” IEEE Transactions on Automatic Control, 2019.
  • [10] J. Pan, J. Wang, A. Hester, I. Alqerm, Y. Liu, and Y. Zhao, “Edgechain: An edge-iot framework and prototype based on blockchain and smart contracts,” IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4719–4732, 2018.
  • [11] R. Morabito, V. Cozzolino, A. Y. Ding, N. Beijar, and J. Ott, “Consolidate iot edge computing with lightweight virtualization,” IEEE Network, vol. 32, no. 1, pp. 102–111, 2018.
  • [12] O. Novo, “Blockchain meets iot: An architecture for scalable access management in iot,” IEEE Internet of Things Journal, vol. 5, no. 2, pp. 1184–1195, 2018.
  • [13] K. Gai, Y. Wu, L. Zhu, L. Xu, and Y. Zhang, “Permissioned blockchain and edge computing empowered privacy-preserving smart grid networks,” IEEE Internet of Things Journal, vol. 6, no. 5, pp. 7992–8004, 2019.
  • [14] J. Guo, X. Ding, and W. Wu, “A blockchain-enabled ecosystem for distributed electricity trading in smart city,” IEEE Internet of Things Journal, pp. 1–1, 2020.
  • [15] M. Li, F. R. Yu, P. Si, W. Wu, and Y. Zhang, “Resource optimization for delay-tolerant data in blockchain-enabled iot with edge computing: A deep reinforcement learning approach,” IEEE Internet of Things Journal, 2020.
  • [16] D. Liu, J. Ni, C. Huang, X. Lin, and X. Shen, “Secure and efficient distributed network provenance for iot: A blockchain-based approach,” IEEE Internet of Things Journal, 2020.
  • [17] S. Qi, Y. Lu, Y. Zheng, Y. Li, and X. Chen, “Cpds: Enabling compressed and private data sharing for industrial iot over blockchain,” IEEE Transactions on Industrial Informatics, 2020.
  • [18] K. Lei, M. Du, J. Huang, and T. Jin, “Groupchain: Towards a scalable public blockchain in fog computing of iot services computing,” IEEE Transactions on Services Computing, vol. 13, no. 2, pp. 252–262, 2020.
  • [19] Z. Chang, W. Guo, X. Guo, Z. Zhou, and T. Ristaniemi, “Incentive mechanism for edge computing-based blockchain,” IEEE Transactions on Industrial Informatics, 2020.
  • [20] H. Yao, T. Mai, J. Wang, Z. Ji, C. Jiang, and Y. Qian, “Resource trading in blockchain-based industrial internet of things,” IEEE Transactions on Industrial Informatics, vol. 15, no. 6, pp. 3602–3609, 2019.
  • [21] Z. Xiong, S. Feng, D. Niyato, P. Wang, and Z. Han, “Edge computing resource management and pricing for mobile blockchain,” arXiv preprint arXiv:1710.01567, 2017.
  • [22] Z. Xiong, Y. Zhang, D. Niyato, P. Wang, and Z. Han, “When mobile blockchain meets edge computing,” IEEE Communications Magazine, vol. 56, no. 8, pp. 33–39, 2018.
  • [23] X. Ding, J. Guo, D. Li, and W. Wu, “An incentive mechanism for building a secure blockchain-based industrial internet of things,” arXiv preprint arXiv:2003.10560, 2020.
  • [24] S. Guo, Y. Dai, S. Guo, X. Qiu, and F. Qi, “Blockchain meets edge computing: Stackelberg game and double auction based task offloading for mobile blockchain,” IEEE Transactions on Vehicular Technology, vol. 69, no. 5, pp. 5549–5561, 2020.
  • [25] D. Johnson, A. Menezes, and S. Vanstone, “The elliptic curve digital signature algorithm (ecdsa),” International journal of information security, vol. 1, no. 1, pp. 36–63, 2001.
  • [26] N. Z. Aitzhan and D. Svetinovic, “Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams,” IEEE Transactions on Dependable and Secure Computing, vol. 15, no. 5, pp. 840–852, 2016.
  • [27] S. Zhang and J.-H. Lee, “A group signature and authentication scheme for blockchain-based mobile-edge computing,” IEEE Internet of Things Journal, vol. 7, no. 5, pp. 4557–4565, 2019.
  • [28] P. Koshy, S. Babu, and B. Manoj, “Sliding window blockchain architecture for internet of things,” IEEE Internet of Things Journal, vol. 7, no. 4, pp. 3338–3348, 2020.
  • [29] W. Yang, X. Dai, J. Xiao, and H. Jin, “Ldv: A lightweight dag-based blockchain for vehicular social networks,” IEEE Transactions on Vehicular Technology, vol. 69, no. 6, pp. 5749–5759, 2020.
  • [30] J. B. Rosen, “Existence and uniqueness of equilibrium points for concave n-person games,” Econometrica: Journal of the Econometric Society, pp. 520–534, 1965.
  • [31] S. Boyd, S. P. Boyd, and L. Vandenberghe, Convex optimization.   Cambridge university press, 2004.
  • [32] H. Zhang, Y. Xiao, L. X. Cai, D. Niyato, L. Song, and Z. Han, “A multi-leader multi-follower stackelberg game for resource management in lte unlicensed,” IEEE Transactions on Wireless Communications, vol. 16, no. 1, pp. 348–361, 2016.
[Uncaptioned image] Xingjian Ding Xingjian Ding received the BE degree in electronic information engineering from Sichuan University, Sichuan, China, in 2012. He received the M.S. degree in software engineering from Beijing Forestry University, Beijing, China, in 2017. Currently, he is working toward the PhD degree in the School of Information, Renmin University of China, Beijing, China. His research interests include wireless rechargeable sensor networks, algorithm design and analysis, and blockchain.
[Uncaptioned image] Jianxiong Guo Jianxiong Guo is a Ph.D candidate in the Department of Computer Science at the University of Texas at Dallas. He received his BS degree in Energy Engineering and Automation from South China University of Technology in 2015 and MS degree in Chemical Engineering from University of Pittsburgh in 2016. His research interests include social networks, data mining, IoT application, blockchain, and combinatorial optimization.
[Uncaptioned image] Deying Li Deying Li is a professor of Renmin University of China. She received the B.S. degree and M.S. degree in Mathematics from Huazhong Normal University, China, in 1985 and 1988 respectively. She obtained the PhD degree in Computer Science from City University of Hong Kong in 2004. Her research interests include wireless networks, ad hoc & sensor networks mobile computing, distributed network system, Social Networks, and Algorithm Design etc.
[Uncaptioned image] Weili Wu Weili Wu received the Ph.D. and M.S. degrees from the Department of Computer Science, University of Minnesota, Minneapolis, MN, USA, in 2002 and 1998, respectively. She is currently a Full Professor with the Department of Computer Science, The University of Texas at Dallas, Richardson, TX, USA. Her research mainly deals in the general research area of data communication and data management. Her research focuses on the design and analysis of algorithms for optimization problems that occur in wireless networking environments and various database systems.