1 Introduction
2 Resource sharing in MAC
2.1 Horizontal and vertical resource sharing
2.2 Hybrid resource sharing in MAC
2.3 Blockchain based hybrid resource sharing in MAC
3 Blockchain: an enabler for reliable crowdsourcing in MAC
3.1 Distributed ledger of blockchain
3.2 Types of blockchain based on read/write access
3.3 Iroha based private blockchain for MAC
- As permissioned-blockchain has been implemented using Iroha, only the authenticated mobile devices can join as the participant of MAC.
- The participants of MAC have been incentivized by offering the credits against the computation performed by these devices and the utilization of blockchain for storing the details of earned credits (covered in Section 3.4). This is done in order to gain the confidence of the participants.
- Malicious device detection algorithm (covered in Section 3.5) generates a reputation rank for each of the participants of the MAC and uses the blockchain for retrieving the previously stored rank and storing the updated rank. All of the generated ranks are shared with all the participants of the MAC and this policy of transparency again employed to gain the trust of the participants.
3.4 Blockchain based credit system for Incentivizing the crowdsourcing
- Step 1: A new non-validating device makes a request for joining the MAC. This request is received by the validating node of Iroha based blockchain network which generates a unique id for the requesting node along with the unique private key (which will act as its signature) and returns it to the requesting node.
- Step 2: An already registered non-validating device uses its id and signature for getting the data for analysis from the validating device. Validating device not only gives the computation task to the non-validating device but also assign an id to the task and broadcasts the starting time of each task to all the participants of MAC so that these nodes can store this information in their distributed ledgers of blockchain.
- Step 3: Non-validating device uses the id of the task, along with its signature, for submitting the response to the validating device which again broadcasts the end time of the computational task along with the details of earned credits against that task to all the participants of MAC.
3.5 Blockchain based reputation system for reliable crowdsourcing
- Non-trusted Devices: When a new non-validating device joins the MAC, it is considered as the non-trusted device and a threshold, defined by the validating device, is required to convert the non-trusted device into a trusted device. Whenever a result is submitted by a non-validating device, it is being verified through the reanalysis by the trusted devices. Upon each correct submission, the device gets the increment in the rank and it is being shifted to trust device after gaining the rank more than the threshold.
- Trusted Devices: As a trusted device has already submitted the correct results after many iterations therefore, no more verification is performed for the results submitted by the trusted devices.
- Malicious Devices: Each device which will submit the fake results in the future is nominated as the malicious device and it can be a trusted or a non-trusted device. Algorithm given in Fig. 5 is focused on finding both trusted and non-trusted malicious devices and results given in Fig. 7 have shown the effectiveness of our proposed algorithm in finding the malicious devices.
- Blocked Devices: Once a malicious device is identified with a fake result submission, it is shifted to the group of blocked devices and no further computational tasks are granted to that device.
4 Experimentation and results
4.1 Evaluation scenario
- Blocked device is the left-most device in Fig. 6 and it has been permanently blocked as it submitted the fake results for the assigned task of mapReduce.
- Malicious device is given at second from left in Fig. 6. This malicious device will submit the fake result of the assigned task of mapReduce for claiming the reward without performing the required computation. Our algorithm is supposed to identify the submission of the fake result by the malicious device which will result in the blockage of malicious device. Both non-trusted and trusted devices can act as the malicious devices and our algorithm has to find both types of malicious devices. In the evaluation scenario, different malicious devices have been used under different circumstances and the proposed algorithm has successfully identified the fake results with different number of reanalyses attempts. The details of these experimental results are given in Fig. 7 along with the description of each result in the next sub-section of results and discussion.
- Non-trusted device is the third from the left in Fig. 6 as it hasn’t crossed the threshold to become the trusted devices. The threshold value of ten correctly validated results has been used for converting a non-trusted device to a trusted device and we are also using ten non-trusted mobile devices in the evlauation scenario.
- Least-trusted device is given at fourth from left in Fig. 6. This device has crossed the threshold of ten but has the least score of eleven correctly submitted results.
- Average-trusted device is given at fifth in Fig. 6 and its score is twelve in our evaluation scenario.
- Most-trusted device is given at the right most of the Fig. 6 with the reputation score of thirteen.
4.2 Results and discussion
5 Related work
6 Conclusion and future work
- Bitcoin uses an algorithm for dynamically adjusting the difficulty level of the nonce [30]. Test-bed presented in this paper is based on the hard-coded threshold value for shifting a non-trusted device to the category of trusted devices. Similar to bitcoin, an algorithm can be implemented for dynamically adjusting the value of the threshold based on the real-time conditions of the MAC network.
- Test-bed presented in this paper is tightly bound to the operation of mapReduce and an alternate implementation can be provided in a decoupled manner. It can expose the APIs to allow the integration for custom logic of data analysis and ensures its execution through the MAC based reliable crowdsourcing.
- Malicious device detection algorithm presented in this paper can be integrated with an existing open source project (e.g. BOINC [29]) to find its effectiveness on a global scale.
- Current implementation hosts the validating node at cloudlet only. An improved implementation can use the idle mobile devices as the validating devices and move from hybrid resource sharing to purely horizontal resource sharing in MAC.