This section details the implementation details of our system and evaluates its performance. Experiments have been devised and key parameters have been measured. We evaluate the framework’s viability by defining node connections to specific components across an Ethereum network, utilizing a proof of stake consensus technique provided by the system. The dataset used for the conduction of the experiment is CALTECH-101, an object recognition dataset provided by Fei-Fei Li et al. in Learning generative visual models from a few training instances (
https://data.caltech.edu/records/20086, accessed on 11 March 2022). Users (including requesters and workers) are enrolled on the blockchain, which requires aggregating information about a given user. Next, a public and private key pair are generated for each user, which may be used to publish jobs and solutions on the system.
Our solution was built on top of an Ethereum Ropsten network, which has more than 5000 nodes. Ethereum is a decentralized application platform built on the Solidity programming language. To replicate the blockchain, a 2.3 GHz Intel i7 PC with 32 GB of RAM is utilized, as shown in
Table 2. We created an application in Python that allowed users to post or submit a request on the platform. A JavaScript Object Notation (Remote Procedure Calls) library was used to synchronize the Python application with the blockchain. Queries are submitted to the system and filtered (into tasks and solutions) and transmitted to the blockchain.
7.2. Time Complexity
Caltech-101 is an object recognition dataset provided by Fei-Fei Li et al. in Learning generative visual models from few training instances (
https://data.caltech.edu/records/20086, accessed on 11 March 2022). It features images from 101 distinct object categories with varying sizes and spans. For each object category, there are about 40 to 800 images, but then most classes contain about 50 images. The images have a resolution of around 300 × 200 pixels.
We ran 25 sets of trials to process picture tagging tasks using the CALTECH-101 dataset. We chose 10 categories of images such as elephants, bicycles, soccer balls, human brains, crocodiles, and airplanes to analyze the utility, security, and efficiency of the system. Each of the 800 images in the CALTECH-101 dataset is split into five training batches and one test batch.For each set of experiments, we choose images at random from the training batch.
Furthermore, five employees and one requester have been added to the system, with each obtaining 20 ETH coins. Three workers complete each activity. We chose 500, 1000, 1500, 2000, and 2500 photos randomly from the training samples based on task 500, 1000, 1500, 2000, and 2500. The solutions are also secured with the public key of the requester and preserved in data storage, making them inaccessible to malevolent users.
We deployed the UserContract, JobContract, AgreementContract, TenderingContract, and AssessmentContract in the Ropsten Network. In Ropsten, the average mining block time is 10 s. A total of 800 transactions were used in the experiment. Each transaction is mined together into single blocks with a block of numbers, which ranges from 4,324,649 to 4,330,703, as depicted in
Figure 5,
Figure 6 and
Figure 7.
On task publishing, receiving of tasks, as well as submission of solutions, the average transaction confirmation time was about 39.24 s, 34.17 s, and 38.71 s, respectively. Each transaction was confirmed in around 35 block time. Furthermore, we provide a network performance metric in
Table 3, gas consumption in
Table 4 and feature comparison in
Table 5.
To have a clearer perspective of the transaction costs associated with implementing the primary functions of our application, we first gather gas needs before calculating the cost per gas at 1 Giga-Wei. It should be emphasized that one Gwei equals 0.000000001 ETH, and the value of one ether during this experimentation (February 2022) is USD 2935.89. Observing the information in
Table 4, we determine the entire task cost from the uploaded time to the time it undergoes system review. The entire amount of the needed gas is 2,531,339, which equates to USD 0.3731. Since the expenses of registering as a worker or posting a job are only incurred once, they have not been included in this calculation. Various ways of testing the smart contracts were investigated throughout the design of our smart contracts. One approach is to utilize software such as ganache-cli, which provides a localized replica of the Ethereum blockchain for testing purposes. A common alternative is to employ test networks, which include Ropsten or rinkeby. The test networks function similarly to the Ethereum main net, with the exception that ether in these networks has no value and is primarily used for testing.
We conducted a segment of a range of image tagging investigations and documented the image tagging accuracy by the workers in each task using varied image quantities. On 8500 images, the average accuracy was 96.52%; amongst the erroneous findings, some images were extremely difficult to deduce. This demonstrated ExCrowd’s effectiveness. Furthermore, we discovered that certain miners were offline during the tests, but this had no effect on the process, and users were able to post or receive tasks as usual, demonstrating the decentralized aspect of our system.
We further looked at the latency and processing time of the network with and without blockchain to assess the quality of the provided solution. In
Figure 8, we demonstrate the latency in the quality assessment of 50 images given different worker sizes and values of
e for e-repeated assessment. In
Figure 9, we illustrate how long it takes to evaluate (processing time) Caltech images employing five evaluators of different sizes. Evaluators receive 50 photos every time a worker presents them for e-repeated review. Submissions are made till the total number of images reaches 1000, 2000, 3000, 4000, and 5000. The results demonstrate that ExCrowd can evaluate 5000 photos in under one minute. In addition, the time for processing does not change substantially even if the number of workers rises.
We further repeat this scenario without the blockchain architecture, as indicated in
Figure 10 and
Figure 11. The outcome shows that the latency and processing time increase. This may be a result of the centralized nature of the system. Thus, putting a lot of demand on a central server is compared to the distributed nature of blockchain, which reduces the areas of vulnerability and also improves the distribution of resources.
7.3. Comparison
Figure 12 and
Figure 13 illustrate a comparison of the proposed system in terms of registration time and processing overhead with three existing ones, namely PrivCrowd: A Secure Blockchain-Based Crowdsourcing Framework with Fine-Grained Worker Selection [
40], CrowdR-FBC: A Distributed Fog-Blockchains for Mobile Crowdsourcing Reputation Management [
41] and An Incentive and Reputation Mechanism Based on Blockchain for Crowd Sensing Network [
35]. For starters, the proposed system is analyzed for its typical registration times. By altering the number of blocks, it has been shown that the proposed task takes less time to execute than the existing systems. Thus, the performance is evaluated depending on the amount of time it takes to process the data.
It has been possible to use a variety of crowdsourcing systems up to this point.
Table 5 compares these systems on the basis of a variety of important factors.The qualities of privacy, decentralization, smart contracts, encryption, exploration based, and Shapley value are all taken into account in this comparison. The first factor is privacy. As a result of the sensitive data stored in these systems, it is essential to protect the privacy of users.
Certain crowdsourcing systems do not require participants to use their actual names, which helps protect their anonymity. The most critical aspect affecting a crowdsourcing system’s acceptability is its ability to boost both the quality and quantity of user participation. The second parameter considered is decentralization, where the system is not controlled by a central authority, thereby lowering the risk of system failure. The third parameter used in this comparison is the adoption of smart contracts, which helps to check suspicious behaviors of users in the system, especially with requesters who refuse to pay their incentives.
Furthermore, encryption is performed to secure any form of private information, eliminating the exploitation of privacy. The fifth factor used in this comparison is the exploration-based approach, which ensures that the system is not biased towards high-reputation workers as is conducted in reputation-based systems, where certain systems take workers’ reputations into consideration when allocating tasks. This kind of approach plays a critical role in reputation-based threats as a result of some unscrupulous workers engaging in requester–worker collusion, resulting in the system storing false data impressions.
Finally, we adopt the “Shapley value” approach in our reward distribution. Workers will only stay engaged in crowdsourcing if they feel that their efforts are being compensated fairly. As a cooperative game, crowdsourcing may be modeled using Shapley values, one of which is the best approach for distributing prizes fairly. Each worker’s participation may be evaluated via the smart contract and their incentives distributed evenly using our recommended Shapley value-based distribution method. There is no waste in the distribution of advantages from collaboration. Equal payoffs are given to those who contribute equally.