Blockchain-assisted crowdsourcing quality safety evaluation method based on federated learning
Patent Information
- Application Number
- CN202310807841.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-04
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2043-07-04
AI Technical Summary
[0008]区块链可以与加密技术、智能合约技术、人工智能技术和信誉系统技术相结合应用于众包平台的质量评估阶段,然而在实际应用中仍然存在一些问题:比如专利CN107871196A公开一种基于滑动任务窗的众包质量评估方法,未考虑对任务发布者和任务执行者身份信息的保护,滑动任务窗的设计也仅考虑一段之间内的任务完成情况,缺乏全局的考量;比如专利CN110472948A通过人工审核来确认任务完成质量的方法,这种方法可能导致效率低下、成本高昂;比如专利CN112148890A采用多方面评估机制,包括自我评估、同行评估、平台评估等对任务执行者进行多维度评估,以确保任务完成质量的客观性和准确性,但是该专利采用的多方面评估机制依然存在一定的主观性,且该专利并未涉及到隐私保护的具体措施和方法,如果评估中的敏感数据泄露或被篡改,将会对整个评估结果造成不良影响;比如专利CN112785162A通过区块链技术保证了众包任务的真实性和可信度,提高了众包任务的质量和效率,同时加权多项评价指标来激发参与者的积极性和创造力,提高整个众包平台的运行效率,但是该专利对代币权重如何客观设计确定并未进行充分的讨论,且评价过程没有考虑对任务参与者隐私的保护,这可能会限制其在大规模众包任务中的应用;比如专利CN112862303A提供一个安全可靠的分布式众包平台,并有效的解决了单点故障,数据泄露以及数据可靠性的问题,通过节点历史行为的信誉机制来获得更为可靠的工人节点,进一步提升了众包结果的质量,但是这种设计会增大系统的计算开销,降低运行效率,尤其是随着历史数据的不断积累,所占用的存储空间和计算资源会越来越大,且发明也没有考虑任务执行者的隐私保护问题
[0063] (1) This invention provides a new quality assessment algorithm, which greatly reduces the cost of the quality assessment stage in the crowdsourcing platform, so that the quality assessment no longer depends on experts or other subjective factors, improves the operability and efficiency of the quality assessment stage, and makes the quality assessment automatic without the need for additional data input.
Smart Images

Figure CN116777294B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to crowdsourcing service data security technology, specifically to a crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance. Background Technology
[0002] Crowdsourcing is a business model that uses internet platforms to distribute work tasks to a large number of independent individuals. Crowdsourcing platforms typically connect task publishers and task executors, allowing task executors to freely choose tasks or matching tasks based on the needs of both task executors and task publishers. Task executors submit their work results according to the task requirements, and task publishers review the submitted results and pay the corresponding remuneration. Due to its freedom and low cost, crowdsourcing has become a diversified and global business model that continues to develop and grow.
[0003] Task execution quality assessment is a crucial stage in crowdsourcing applications. It involves evaluating and reviewing the work submitted by task executors to determine whether the task has met requirements and to award appropriate compensation. Quality assessment is vital in crowdsourcing because task executors are recruited publicly from the general public, and their skills, knowledge, and experience levels may vary, leading to differences in the quality of their work. To ensure task quality, crowdsourcing platforms need to evaluate and review the work results of task executors, selecting high-quality task data as the final outcome and awarding corresponding rewards or compensation. A good quality assessment algorithm helps to incentivize task executors more fairly and also improves the satisfaction of task posters.
[0004] Evaluating the quality of crowdsourced task execution (data) has become a research hotspot. Common quality assessment algorithms include dual evaluation, random sampling, rank evaluation, expert evaluation, and peer review. Dual evaluation requires the task poster to assign two or more task executors to complete the same task, which may increase the poster's costs and time. Furthermore, if the results of two task executors are similar, the poster may need to reassign the task to select the best result. Random sampling only evaluates the sampled results and cannot guarantee the quality of unsampled results. Poor quality unsampled results may affect the overall quality of the task. Rank evaluation determines whether a task passes and awards rewards based on the executor's score, but this can lead to inconsistent scoring standards; different evaluators may give different scores to the same result, making it difficult for the task poster to determine the final result. Expert evaluation requires hiring professionals or industry experts, increasing the poster's costs. Additionally, expert evaluations may be influenced by their personal experience and biases. Peer review may lead to problems such as poor relationships among crowdsourcing personnel or deliberate scoring, resulting in unfair evaluations.
[0005] As can be seen from the above description, existing technologies suffer from high costs, lack of process traceability, and a single evaluation metric. More importantly, when the task execution results involve the privacy of the executor, such as health data and location data, and when any participant may engage in malicious behavior, the evaluation algorithm must protect the privacy of the data evaluator.
[0006] Privacy protection methods in the crowdsourcing quality assessment phase mainly include data encryption, data anonymization, data masking, differential privacy, and access control. Data encryption is a commonly used privacy protection method. During the crowdsourcing quality assessment phase, encryption algorithms (such as homomorphic encryption and secure multi-party computation) can be used to encrypt user data to ensure data security during transmission and processing; thus, even if the data is intercepted by an attacker, the original information cannot be directly obtained. Data anonymization is a method of processing data to prevent sensitive information from being associated with a specific individual; data anonymization techniques (such as k-anonymity and l-diversity) are used to process user data to protect user privacy; thus, even if the data is leaked during the assessment process, attackers cannot directly identify the individuals in the data. Data masking is a method of reducing the risk of data leakage by replacing, masking, or deleting sensitive information in the data; data masking techniques are used to process user data to protect user privacy; thus, even if the data is leaked during the assessment process, attackers cannot obtain complete sensitive information. Differential privacy is a technology that protects individual privacy during data publishing and analysis. It uses noise reduction techniques to process data, thus protecting user privacy. Even if data is leaked during the evaluation process, attackers cannot accurately obtain individual information. Access control includes restricting access to sensitive data, authorizing only specific users or roles to access data, and monitoring and auditing data access. This effectively prevents unauthorized users from accessing and using sensitive data.
[0007] In recent years, with the development of blockchain technology, researchers have begun to actively explore how to use it to solve problems such as the reliance on crowdsourcing platforms, single points of failure, and service reliability in traditional crowdsourcing services. The decentralized, transparent, and immutable characteristics of blockchain can provide more fair and transparent crowdsourcing services, including task allocation, quality assessment, and reward distribution, effectively preventing evaluation results from being manipulated by malicious participants.
[0008] Blockchain technology can be combined with encryption, smart contract, artificial intelligence, and reputation systems for the quality assessment phase of crowdsourcing platforms. However, several issues remain in practical applications. For example, patent CN107871196A discloses a crowdsourcing quality assessment method based on a sliding task window, which fails to protect the identity information of task publishers and executors. The sliding task window design also only considers task completion within a short period, lacking a holistic perspective. Patent CN110472948A uses manual review to confirm task completion quality, which may lead to inefficiency and high costs. Patent CN112148890A employs a multi-faceted assessment mechanism, including self-assessment, peer assessment, and platform assessment, to evaluate task executors from multiple dimensions to ensure objectivity and accuracy. However, this multi-faceted assessment mechanism still has a degree of subjectivity, and the patent does not address specific privacy protection measures. If sensitive data during the assessment is leaked or tampered with, it could lead to further issues. The patent CN112785162A, for example, uses blockchain technology to ensure the authenticity and credibility of crowdsourcing tasks, improving their quality and efficiency. It also weights multiple evaluation indicators to stimulate participants' enthusiasm and creativity, thus improving the overall efficiency of the crowdsourcing platform. However, this patent does not adequately discuss how to objectively design and determine token weights, and the evaluation process does not consider protecting the privacy of task participants, which may limit its application in large-scale crowdsourcing tasks. Similarly, patent CN112862303A provides a secure and reliable distributed crowdsourcing platform, effectively solving problems of single point of failure, data leakage, and data reliability. It uses a reputation mechanism based on node historical behavior to obtain more reliable worker nodes, further improving the quality of crowdsourcing results. However, this design increases the system's computational overhead and reduces operational efficiency, especially as historical data accumulates, leading to increasingly larger storage and computational resource requirements. Furthermore, the invention does not consider the privacy of task executors. Summary of the Invention
[0009] Purpose of the Invention: The purpose of this invention is to address the shortcomings of existing technologies and provide a crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance. This invention employs a combined on-chain and off-chain information storage method to ensure the verifiability of crowdsourcing task quality assessment scores, the public traceability of the assessment process, effectively identify potential malicious behavior, and consider diverse objective indicators, avoiding the inefficiency of subjective human evaluation. Furthermore, it is transferable to similar tasks. The use of federated learning enables the assessment model to be autonomously iteratively updated, reducing the cost of designing different assessment algorithms and maintaining the assessment model during the quality assessment phase.
[0010] Technical Solution: This invention provides a crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance, involving a key generation center, task publisher, task executor, crowdsourcing platform, and blockchain, and includes the following steps:
[0011] Step (1) System initialization, including user registration, parameter generation and key distribution.
[0012] Users register as task publishers on crowdsourcing platforms. ID Or task executor W j ID and j are user IDs generated by the crowdsourcing platform; the crowdsourcing platform generates initial parameters C. l G, H and TMT ID The crowdsourcing platform maintains q federated learning models M = {m1, m2, ..., m} suitable for different task scenarios. q}, C l The initial thresholds used when aggregating data for different models, l = 1, 2, ..., q; G and H are randomly generated base points on the elliptic curve, which are the initial parameters committed by Pedersen; TMT ID It is a crowdsourcing platform for registered task publishers R ID The generated task matching table is used to record R ID The published task information is initially empty; the key generation center is the successfully registered task publisher R. ID And task executor W j Generate public and private key pairs (PK) respectively. ID SK ID ) and (PK j SK j );
[0013] Step (2), Task publisher R ID Post tasks on crowdsourcing platforms i =(ID,i,m) i B i TR i ,RAlloc i ,Γ i ,κ i ), where i is the task number to be published, m i For R ID For task τ i The selected federated learning model, B i For task τ i The remuneration, TR i For τ i Task requirements description, R ID It needs to provide task-related information and Pedersen commitments, RALloc i For τ iThe reward distribution algorithm, Γ i For τ i Task data quality assessment algorithm, κ i Represents task τ i Require each W j Number of data copies submitted;
[0014] Task publisher R ID Computation task τ i hash value ζ i =H(τ) i ), using your own private key SK ID For hash value ζ i Sign to obtain ψ i =Sig(ζ i SK ID And upload it to the blockchain; the crowdsourcing platform according to R ID The task information and R filled in ID The relevant information is checked for legality, such as R. ID Is the task information filled in complete and in a valid format? R ID Do you have permission to publish a task? If the validity check passes, then publish the task. i And in R ID Task Matching Table TMT ID Add a table entry {i, W} to record τ i The matching information, W represents successful acceptance of τ. i The set of task executors, initially empty;
[0015] Step (3), Task executor W j Choose a task that interests you. i Acceptance is granted, and the crowdsourcing platform is responsible for recording the task matching status.
[0016] When W j Accept τ i When, if τ i If it falls within an acceptable timeframe, the crowdsourcing platform will accept the task's W. j Add to the task matching table TMT ID In the corresponding task table item {i,W}, in W, and calling the smart contract to load the federated learning model m i Send to W j If task τ i If it is not within the acceptable timeframe, then W j Accept τ i fail;
[0017] W j Accept τ i Upon success, calculate the accepted task τ. i hash value ζ′i =H(τ) i ), using its own private key SK j For ζ′ i The signature value ψ′ is obtained by performing the signature. i =Sig(ζ′) i SK j And upload it to the blockchain; ψ′ i It is the signature value obtained by the task executor signing the task hash value with their private key. It serves as evidence during the crowdsourcing task matching phase and is convenient for verification during the arbitration phase.
[0018] Step (4), W j Complete the task according to the task requirements description. i The task dataset D is obtained. i,j = Task Executor W j D i,j κ in i The hash value is calculated by concatenating the data from each task. Using private key SK j For ζ i,j Obtain by signing Task data The content varies depending on the task; the task poster will specify the details in the task description when posting the task. The submission format is clearly defined; for example, if a task publisher publishes an image annotation task, and the image size to be annotated is 27*27 pixels, then the task executor should submit... It is a 730-dimensional vector, with the first 729 dimensions representing the labeled images and the last dimension representing the labeled categories;
[0019] W j Based on D i,j Local training of federated learning model m i Obtain the model parameters g that need to be aggregated. i,j , for g i,j Cut to obtain Then use differential privacy technology to Noise addition
[0020] W j Task dataset D i,j Use the corresponding task publisher R ID public key PK ID Encryption yields ξ i,j =Enc(D i,j PK ID And send to R ID ,Will With ζ i,j Upload them together to the blockchain;
[0021] Step (5), Task publisher R ID For ξ i,j Decryption yields D′ i,j =Dec(ξ i,j SK ID )= D′ i,j κ in i The hash value ζ′ of each task's data is calculated by concatenating the data. i,j = Using its own private key SJ ID For ζ′ i,j Signature to obtain ζ′ i,j =Sig(ζ′) i,j SK ID ), and ζ′ i,j Uploaded to the blockchain;
[0022] R ID Call the quality assessment algorithm Γ i For D′ i,j A quality assessment was conducted, resulting in an assessment score E. i,j The evaluation indicators include three items (t). i,j ,r j ,l i,j ), where t i,j r represents the task execution time. j For W j Reputation value, l i,j It utilizes the federated learning model m i Calculated data similarity; R ID According to E i,j Rank them from highest to lowest and assign tasks τ i QART Quality Assessment Ranking Table i Uploaded to the blockchain; in task τ i After completion, R ID The random numbers {r1, r2, ..., r} promised by Pedersen will be verified. N ,r N+1 ,…,r 2N Uploaded to the blockchain for W j Verify the data evaluation process, where N is m i Returns the dimension of the gradient;
[0023] Step (6), W j According to R ID The provided model m i Pedersen promises {c1, c2, ..., c N ,c N+1 ,…c 2N} and random numbers {r1, r2, ..., r N ,r N+1 ,…,r 2N} to verify Γ i The evaluation results, such as R ID and W j If any objection is raised to the ranking results at this stage, an arbitration procedure will be initiated with the crowdsourcing platform. The platform will review the objection and upload the arbitration result to the blockchain for public display within a specified time. If more than half of the participants agree with the arbitration result, the crowdsourcing platform will call the smart contract to update the QART quality assessment ranking table. i ;
[0024] Step (7): The crowdsourcing platform calls the smart contract to determine the latest quality assessment ranking table QART. i To execute the remuneration distribution procedure, according to QART i Up W j The ranking is updated in weighted order. i .
[0025] Furthermore, in step (2), the task requirement description TR i The internal details are as follows:
[0026]
[0027] in, Represents τ i The start time (indicating W) j You can start sending to R ID Submit D 1,j (at that moment) Represents τ i The end time (indicating R) ID No longer accepting W j Submit D i,j (at the moment), TD i Represents τ i Specific requirements (indicating R) ID Hope W j The criteria for completing the task, the format for submitting data), {c1,c2,…,c N ,c N+1 ,…c 2N} Representing Pedersen's commitment, R ID τ that needs to be released i Prepare a reference dataset SD i (indicating τ) i The example dataset (SD) is used to assist the quality assessment algorithm in evaluation. i The format and D i,j Same; to prevent SD i Leak RID Preferences and privacy, R ID No need to release SD i And to prevent R ID Replace or change the SD card at will i Therefore R ID SD card required i Related Pedersen commitments;
[0028] R ID Reference dataset SD i As training data input to model m i Obtain the gradient V i,j and V i,j Provide relevant Pedersen commitments to facilitate task executor W j Subsequent validation quality assessment score E i,j The introduction of Pedersen commitments guarantees both R ID In evaluating D i,j Use the same SD i Meanwhile, leveraging the homomorphism of Pedersen commitments, W j This can also verify R ID Call the quality assessment algorithm Γ i The correctness of the statement.
[0029] Furthermore, in step (2), Pedersen promises {c1, c2, ..., c N ,c N+1 ,…c 2N The generation process of} is as follows:
[0030] Task publisher R ID Reference dataset SD i As model m i Input the training dataset to obtain the gradient.
[0031] R ID Regarding the committed data Calculate the corresponding commitment value Where r1, r2, ..., r N ,r N+1 ,…,r 2N For R ID Generated random numbers.
[0032] Furthermore, the internal details of the reward allocation algorithm in step (2) are as follows: R ID First, determine which rules to apply to W. j Distribute the remuneration and give remuneration b. i,jThe specific calculation formula is as follows:
[0033]
[0034] Where b i,j W j Complete the task. i The remuneration that can be obtained afterward; such as according to W j Quality assessment score E i,j Remuneration shall be distributed proportionally;
[0035] R ID Users can choose a previously entered reward distribution algorithm or enter a new one. After the algorithm is verified as legal, the crowdsourcing platform will generate a smart contract for the new reward distribution algorithm and deploy it on the blockchain.
[0036] Furthermore, step (4) modifies the model parameter g. i,j The formula for cutting is as follows:
[0037]
[0038] K represents the selected model m. i The corresponding threshold number:
[0039] Task Executor W j Using differential privacy technology Noise is added to obtain The formula is as follows:
[0040]
[0041] L is the dataset size. It is Gaussian noise, σ 2 I is the noise level, and I is the sensitivity.
[0042] Task Executor W j Will and After being uploaded to the blockchain, the task publisher R ID Record W j Submit task τ i time judge Is it true? If it is true, then W j Submission successful; otherwise, submission failed.
[0043] Furthermore, the specific process of step (5) is as follows:
[0044] Step (5.1), R ID Will After being uploaded to the blockchain for subsequent traceability, R ID According to each W recordedj Task submission time Calculate each W j Task time (The assumed task scenario is W) j At the start time (The task can only begin after that);
[0045] Step (5.2), R ID Obtain the latest reputation value of each task executor from the blockchain. j Crowdsourcing platforms use blockchain to provide each W j Maintain a reputation value r j This value depends on W j The completion status of historical tasks, W j The better the historical performance, the better r j The higher; W j After each submission of D i,j E obtained later i,j It will also be used to update W j r j The updated formula is as follows:
[0046]
[0047] r j ′ represents W j Updated reputation value, r j W j Reputation value before update, E i,j W j Execute task τ i Quality assessment score;
[0048] Step (5.3), R ID According to m i D i,j calculate in Represents m i For R ID Prepared reference dataset SD i The resulting gradient, Z i,j = Represents m i For W j Submitted D i,j The generated gradient; this metric uses the gradient generated during federated learning training to compare W. j Submitted D i,j With R ID The similarity between the required data;
[0049] RID Call Γ i Based on the indicator (t) i,j ,r j ,l i,j Calculate D i,j Quality rating in
[0050] Step (5.4), Task publisher R ID According to E i,j Generate τ by sorting from high to low i QART Quality Assessment Ranking Table i Uploaded to the blockchain; in τ i After it ended, R ID The random numbers {r1, r2, ..., r} generated during the previous Pedersen commitment are used. N ,r N+1 ,…,r 2N Uploaded to the blockchain for W j Verify the legality of the quality assessment process and the correctness of the quality assessment results.
[0051] Furthermore, step (6) verifies l i,j The specific method for calculating correctness is as follows:
[0052] Task Executor W j First, divide the task dataset D i,j Input to m i The gradient vector obtained in Then calculate Let D = l i,j Task executor W j Generate random numbers r′1, r′2, ..., r′ N According to r′1,r′2,…,r′ N calculate W j Next, calculate the commitment. C=G D *H R Finally, W j Verify the equation Does it hold true? If it does, then prove that l i,j The calculation process for the indicator is legal and the results are correct; W j t can be directly calculated and verified using information on the blockchain. i,j and r j The correctness of R is proven if all three indicators pass the verification. ID For W i,j The quality assessment process was legal and the results were correct; i,jand r j The verification process for the correctness is relatively simple, since the calculation of t i,j and r j All the necessary data is on the blockchain, so validators can directly verify the calculations.
[0053] W j and R ID Arbitration applications may be initiated for various reasons, such as R ID W may be suspected j Plagiarism has been detected or the received task dataset D is suspected. i,j Incomplete or altered, W j They might suspect their ranking is too low or that their submitted data was tampered with during transmission. Once W j Or R ID If you discover that the other party may be engaging in malicious behavior, you can initiate an arbitration application with the crowdsourcing platform; the specific arbitration method is as follows:
[0054] If the reason for initiating arbitration is pre-set within the system, the crowdsourcing platform will invoke a pre-written smart contract to handle it, and after processing, publish the results and key steps of the process on the blockchain for public disclosure; assuming the reason for requesting arbitration is W j Verify E i,j If incorrect, the smart contract checks W. j and R ID Previously uploaded evidence information to the blockchain, if verified, is found to not exist. i,j If an error is found in the calculation, the arbitration results and key information from the process will be published on the blockchain for public disclosure; if verification reveals any discrepancies, the matter will be handled accordingly. i,j If the calculation is incorrect, W will be adjusted according to the cause of the error. j Resubmit the data or let R ID Re-for W j Calculate E i,j The crowdsourcing platform will publish the arbitration results and key information in the process on the blockchain for public disclosure;
[0055] If the reason for initiating arbitration is not pre-set, the crowdsourcing platform will match the relevant professionals to be responsible for the manual processing of the arbitration application, and after the processing is completed, the processing results and key processing steps in the process will be published on the blockchain for public disclosure.
[0056] If more than half of the participants agree with the arbitration result, the arbitration is successful, and the crowdsourcing platform calls the smart contract to update the QART quality assessment ranking table based on the arbitration result. i If less than half of the parties agree with the arbitration result, the original ranking will be maintained.
[0057] Furthermore, the specific process of distributing rewards and updating the model in step (7) is as follows:
[0058] Step (7.1): The crowdsourcing platform calls the smart contract to determine the latest quality assessment ranking table QART. i and R ID The reward distribution algorithm RAlloc entered i Calculate and distribute each W j The reward b i,j ;
[0059] Step (7.2): The crowdsourcing platform calls the smart contract to send the latest quality assessment ranking table QART. i E on i,j The weight distribution learned by each client in federated learning is calculated by inputting the weights into the normalized exponential function softmax.
[0060] Step (7.3): The crowdsourcing platform calls the smart contract to aggregate the gradients and obtain the aggregation result.
[0061] Step (7.4): The crowdsourcing platform calls the smart contract to update the model parameters.
[0062] Beneficial effects: Compared with the prior art, the present invention has the following advantages:
[0063] (1) This invention provides a new quality assessment algorithm, which greatly reduces the cost of the quality assessment stage in the crowdsourcing platform, so that the quality assessment no longer depends on experts or other subjective factors, improves the operability and efficiency of the quality assessment stage, and makes the quality assessment automatic without the need for additional data input.
[0064] (2) This invention introduces blockchain technology into the newly proposed quality assessment algorithm to record important information during the assessment process, making the quality assessment scores of the crowdsourcing platform verifiable and the process traceable. The invention allows task publishers or task executors to challenge the quality assessment scores, using blockchain to ensure the transparency of the arbitration process. The arbitration procedure can be invoked to trace relevant archive points on the blockchain to verify the correctness and legality of the quality assessment process. The arbitration results are uploaded to the blockchain for public display; if more than half of the participants accept the published arbitration results, the arbitration is complete. The invention utilizes the decentralized and automated characteristics of blockchain technology to distribute remuneration to task executors through smart contracts.
[0065] (3) This invention introduces federated learning technology into the newly proposed quality assessment algorithm to achieve iterative updates of the evaluation model. The model training phase of federated learning occurs at the task executor's end, avoiding the leakage of original data. This invention uses differential privacy technology to add noise to the gradients returned by the task executor, greatly increasing the difficulty for adversaries to infer useful information from the gradients, thereby protecting the data privacy of the task executor.
[0066] (4) The quality assessment algorithm designed in this invention considers multiple indicators to ensure the fairness and objectivity of the assessment results. Among them, l ij Metrics can characterize the similarity between the data submitted by the task executor and the data required by the task publisher, eliminating the need for subjective human evaluation, making them highly operable and efficient; j The indicator characterizes the historical task completion performance of a task executor. Its update formula prevents a task executor from frequently submitting low-quality task data, while also preventing a task executor from experiencing a drastic drop in reputation value due to a single submission of low-quality task data; t ij Indicators characterize the efficiency of task performers in completing tasks, and they serve two purposes:
[0067] Firstly, it ensures the effectiveness of the quality assessment algorithm. When the other two indicators are the same, the quality assessment algorithm may have difficulty distinguishing the quality of tasks submitted by different task executors. Introducing this indicator can greatly reduce the probability of such collisions.
[0068] Secondly, it uses the contribution rate per unit of time to evaluate task completion, incentivizing task performers to complete tasks quickly and effectively. Unlike a single indicator, multiple indicators can comprehensively consider the task performer's performance from multiple dimensions, resulting in a more comprehensive and credible evaluation. Attached Figure Description
[0069] Figure 1 This is a diagram of the overall system structure of the present invention;
[0070] Figure 2 This is an architecture diagram of federated learning in the embodiment;
[0071] Figure 3 This is a diagram of the differential privacy mechanism in the embodiment. Detailed Implementation
[0072] The technical solution of the present invention will be described in detail below, but the scope of protection of the present invention is not limited to the embodiments described.
[0073] like Figure 1As shown, the blockchain-assisted crowdsourcing quality and safety assessment method based on federated learning of this invention involves a crowdsourcing platform, a key generation center, several task publishers, several task executors, and a public blockchain. The key generation center is responsible for generating public-private key pairs for successfully registered task publishers and task executors; the crowdsourcing platform is responsible for managing the task publishing activities of task publishers, recording the task acceptance activities of task executors, and handling arbitration requests from task publishers or task executors; the blockchain is responsible for assisting the crowdsourcing platform in initializing the system, recording evidence information during system operation, publicizing arbitration results, paying remuneration to task executors, and updating the quality assessment algorithm.
[0074] The main steps of this invention include: First, after system initialization on the crowdsourcing platform, task publishers and task executors can register as crowdsourcing platform users. The key generation center will generate public-private key pairs for successfully registered users, and the crowdsourcing platform will generate a task matching table for successfully registered task publishers. When a task publisher has a task requirement, they fill in the task requirement according to the prescribed format and send it to the crowdsourcing platform, while simultaneously uploading evidence information of the task publication to the blockchain. When a task executor is interested in participating in a task, they can accept the task. The crowdsourcing platform will register the task acceptance status and send the quality assessment algorithm to the task executor. After successful acceptance, the task executor uploads evidence information of the accepted task to the blockchain. The task executor completes the task as required, submits the task data to the task publisher, and uploads the number of submitted tasks. The crowdsourcing platform uploads evidence of receiving the task data to the blockchain; the task publisher uploads evidence of receiving the task data to the blockchain; the task publisher uses a quality assessment algorithm to assess the quality of the task data submitted by the task executor and uploads the quality assessment ranking results to the blockchain; the task publisher and task executor can challenge the quality assessment ranking results, and the crowdsourcing platform will initiate arbitration, check the evidence information recorded on the blockchain, and send the arbitration results to the blockchain for public display. If more than half of the participants agree with the arbitration results, the arbitration is successful; the crowdsourcing platform calls the smart contract to update the quality ranking results according to the arbitration results and pays the remuneration to the task executor according to the latest quality ranking results; the crowdsourcing platform calls the smart contract to use federated learning technology to aggregate and update the quality assessment model according to the latest quality assessment ranking results.
[0075] Example
[0076] like Figure 2 As shown, the specific implementation steps of this embodiment are as follows:
[0077] Step (1) System Initialization
[0078] Step (11): User 1 registers as a task publisher R on the crowdsourcing platform. IDThe crowdsourcing platform generated an ID of 3478945789287 for user 2, who registered as task executor W on the platform. j The crowdsourcing platform generated the ID j for user 3 as 9253147457868. User 3 registered as a task executor W on the crowdsourcing platform. j The crowdsourcing platform generated the ID j for user 4 as 3573871724169. User 4 registered as a task executor W on the crowdsourcing platform. j The crowdsourcing platform generated the ID j for user 5 as 4146234890752. User 5 registered as a task executor W on the crowdsourcing platform. j The crowdsourcing platform generated the ID j for it as 5224724062752.
[0079] Step (12): The crowdsourcing platform maintains q federated learning models M = {m1, m2, ..., m} for different task scenarios through smart contracts. q}, define the initial threshold C used when aggregating data for different models. l , where l = 1, 2, ..., q.
[0080] Step (13): The crowdsourcing platform promises to initialize the parameter settings for Pedersen and randomly generates base points G and H on the elliptic curve.
[0081] Step (14): The crowdsourcing platform provides registration information to the successfully registered task publisher R. ID Generate a task matching table TMT ID Used to record R ID The information for posting the task is initially empty.
[0082] Step (15): The key generation center generates a key for the successfully registered task publisher R. ID And task executor W j Generate public and private key pairs (PK) respectively. ID SK ID ) and (PK j SK j ).
[0083] Step (2): The task publisher posts the task on the crowdsourcing platform.
[0084] Step (21), at 15:20:14 on April 4, 2023, the task publisher R with ID 3478945789287... ID I want to publish an image tagging task. i Where i = 9347835925163 is the task number generated by the crowdsourcing platform. He filled in the task information according to the format, and the selected federated learning model m iA ResNet pre-trained on the classic CIFAR-10 dataset; the total reward B provided to the task executor. i : 1000 yuan; Task requirement description TR i Including task start time Mission End Time Specific requirements of the task (TD) i Requires 3 task executors W j The images are labeled with categories from three different image sets, each dataset containing 10,000 images (k). i =10000), W j Task data to be submitted The format is a 3073-dimensional vector. The first 3072 dimensions represent the RGB channels of the image (the first 1024 dimensions represent the Red channel data, the middle 1024 dimensions represent the Green channel data, and the last 1024 dimensions represent the Blue channel data). The last dimension represents the image's category label (there are 10 categories: 0 for airplane, 1 for car, 2 for bird, 3 for cat, 4 for deer, 5 for dog, 6 for frog, 7 for horse, 8 for boat, and 9 for truck). The task was assigned by R. ID τ that needs to be released i Prepare a reference dataset SD i
[0085] (indicating τ) i (Example data) is used to assist the quality assessment algorithm in its evaluation. SD i The format and W j The required task dataset D i,j Same. To prevent SD i Leak R ID Preferences and privacy, R ID No need to release SD i And to prevent R ID Replace or change the SD card at will i Therefore R ID The task requirements description needs to provide information related to SD. i The relevant Pedersen commitment. Introducing the Pedersen commitment guarantees both R... ID In evaluating D i,j Use the same SD i Meanwhile, leveraging the homomorphism of Pedersen commitments, W j This can also verify R Id Call the quality assessment algorithm Γ i The correctness of the Pedersen commitment {c1,c2,…,c N ,cN+1 ,…c 2N The generation method of} is as follows, where N is m i Returns the dimension of the gradient: R ID Reference dataset SD i As m i The input yields the gradient.
[0086] R ID Regarding the committed data Calculate the corresponding commitment value Where r1, r2, ..., r N ,r N+1 ,…,r 2N For R ID Random numbers generated; RALLO reward distribution algorithm i According to W j Quality assessment score E i,j Remuneration is distributed proportionally, W j Complete the task. i The formula for calculating the reward that can be obtained is as follows: In addition, R ID Use the SHA256 hash algorithm to analyze the task you published. i Calculate the hash value ζ i =H(τ) i ) and use your own private key SK ID For ζ i Sign to obtain ψ i =Sig(ζ i SK ID And upload it to the blockchain for subsequent traceability.
[0087] Step (22): The crowdsourcing platform, based on R... ID The task information and R filled in ID The relevant information is checked for legality, such as whether all required information is complete. ID Is the balance not less than B? i , Is it later than RAlloc i Does the sum exceed B? i .
[0088] Step (23), Task τ i The crowdsourcing platform has passed the legality verification and therefore published the task. i =(ID,i,m) i B i TR i,RAlloc i ,Γ i ,κ i ), and in the task issuer R ID Task Matching Table TMT ID Add a table entry {i,W}=(9347835925163,{}) to record task τ. i Matching information.
[0089] Step (24): The crowdsourcing platform, based on R... ID RALLoc filled in i Generate a smart contract and deploy it for subsequent use.
[0090] Step (3): The task executor browses the task information and selects a task that interests them to accept.
[0091] Step (31), for example, task executor W with ID j 9253147457868 j For task τ with task number i = 9347835925163 i Interested, selected to accept the task at 11:43:58 on 2023-04-12;
[0092] Step (32): The crowdsourcing platform checks whether the number of registered task executors for the task has reached the limit. If the limit is exceeded, an error message is returned. If the number of registered task executors has not yet reached the limit, the crowdsourcing platform checks whether the task is within an acceptable time frame (assuming that the task acceptance time in this scenario must not be later than the task start time). If it falls within an acceptable timeframe, then the task will be matched against the corresponding task matching table TMT. ID Add a record containing the task executor; if the task is outside the acceptable timeframe, return an error message to the task executor. j When the task was accepted, the registered task executors had not yet reached the online threshold, and the acceptance time was 11:43:58 on April 12, 2023, which was within the task's acceptance period. Therefore, the crowdsourcing platform... ID Task Matching Table TMT ID Register the W in China j The information (i, W) = (9347835925163, {9253147457868}) is used to call the smart contract to generate the federated learning model m. i (In this example, it refers to the ResNet model) sent to W j ;
[0093] Step (33), W j Successfully accepted τ i Then, calculate the accepted τ. ihash value ζ′ i =H(τ) i ), using your own private key SK j For ζ′ i The signature value ψ′ is obtained by performing the signature. i =Sig(ζ′) i SK j And upload it to the blockchain;
[0094] Step (34), for example, task executor W with ID j 3573871724169 j Interested in task number i, 9347835925163, selected to accept the task at 21:15:43 on 2023-04-15;
[0095] Step (35), W was inspected j When the task was accepted, the registered task executor had not yet reached the online threshold and was within the task's acceptance time. Therefore, the crowdsourcing platform processed the task in the corresponding TMT category (ID = 9347835925163). ID Register the W in China j Information (i,W) =
[0096] (9347835925163,{9253147457868,3573871724169}), and call the smart contract to use the federated learning model m i (In this example, it refers to the ResNet model) sent to W j W j Successfully accepted τ i Then, calculate the accepted τ. i hash value ζ′ i =H(τ) i ), using your own private key SK j For ζ′ i The signature value ψ′ is obtained by performing the signature. i =Sig(ζ′) i SK j And upload it to the blockchain;
[0097] Step (36), for example, W with number j as 4146234890752 j Interested in task i, 9347835925163, and selected to accept the task at 15:41:32 on 2023-04-22. Upon inspection, W... j When the task was accepted, the registered task executors were not yet online and were within the task's acceptance period. Therefore, the crowdsourcing platform processed the task in the corresponding TMT category (number 9347835925163). IDThe system registers the information of the task executor (i, W) = (9347835925163, {9253147457868, 573871724169, 9347835925163}), and calls the smart contract to implement the federated learning model m. i (In this example, it refers to the ResNet model) sent to W j W j Successfully accepted τ i Then, calculate the accepted τ. i hash value ζ′ i =H(τ) i ), using your own private key SK j For ζ′ i The signature value ψ′ is obtained by performing the signature. i =Sig(ζ′) i SK j And upload it to the blockchain;
[0098] Step (37), for example, W with number j being 5224724062752 j The user was interested in task number 9347835925163 and selected to accept the task at 10:55:54 on April 24, 2023. The crowdsourcing platform first checked whether the number of registered task executors for this task had reached its limit. Upon checking, it was found that the limit had been reached and no further tasks could be accepted. Therefore, the crowdsourcing platform returned an error message to the task executor.
[0099] Step (4) The task executor completes the task according to the task description.
[0100] Step (41), W with number j being 9253147457868 j According to the task description TD i Complete the task by labeling and classifying the images. i Later obtained
[0101] Step (42), W j D i,j κ in i The hash value is calculated by concatenating the data from each task. Use your own private key SK j For ζ i,j Obtain by signing
[0102] Step (43), W j Based on D i,j Local training m i To obtain the local model parameters g i,j ;
[0103] Step (44) W j According to the pre-set threshold C k For g i,j Cut to obtain K represents the selected model m. i The corresponding threshold number:
[0104]
[0105] Step (45), W j Using differential privacy technology Noise is added to obtain
[0106]
[0107] Where L is the dataset size. It is Gaussian noise, σ 2 I is the noise level, and I is the sensitivity.
[0108] Step (46), W j Use public key PK ID Encryption D i,j Obtain the ciphertext ξ i,j =Enc(D i,j PK ID ), will ξ i,j Send to R ID ,Will and Upload together to the blockchain; R ID Record W j Task submission time Check if it is later than the task's end time. If it exceeds Then the task submission will be rejected because W j of The time was 2023-05-24 18:06:39, earlier than Therefore W j Submission successful;
[0109] Step (47), W with number j 3573871724169 j According to the task description TD i Complete the task by labeling and classifying the images. i Later obtained D i,j κ in i The hash value is calculated by concatenating the data from each task. Use your own private key SK j For ζ i,jSign to obtain ζ i,j =Sig(ζ i,j SK j W j Based on D i,j Local training m i To obtain the local model parameters g i,j W j According to the pre-set threshold C K For g I,j Cut to obtain Using differential privacy technology Noise is added to obtain W j Use public key PK ID Encryption D i,j Obtain the ciphertext ξ i,j =Enc(D i,j PK ID ), will ξ i,j Send to R ID ,Will and ζ i,j Upload them together to the blockchain. R ID Record and check W j Task submission time Due to W j of The time was 2023-05-25 16:39:42, earlier than Therefore W j Submission successful;
[0110] Step (48), W with number j 4146234890752 j According to the task description TD i Complete the task by labeling and classifying the images. i Later obtained D i,j κ in i The hash value is calculated by concatenating the data from each task. Use your own private key SK j For ζ i,j Sign to obtain ζ i,j =Sig(ζ i,j SK j W j Based on D i,j Local training m i To obtain the local model parameters g i,j W j According to the pre-set threshold C K For g i,j Cut to obtain Using differential privacy technology Noise is added to obtain W j Use public key PK ID Encryption D i,j Obtain the ciphertext ξ i,j =Enc(D i,j PK ID ), will ξ i,j Send to R ID ,Will and ζ i,j Upload them together to the blockchain. R ID Record and check W j Task submission time Due to W j of The time was 2023-05-27 12:31:18, earlier than Therefore W j Submission successful.
[0111] Step (5) R ID Call Γ i For W j Submitted task dataset Di ,j Conduct quality assessment
[0112] Step (51), R ID Use your own private key SK ID For the received ciphertext ξ i,j Decryption yields plaintext D′ i,j κ in i The hash value is calculated by concatenating the data from each task. Use your own private key SK ID For ζ′ i,j Obtain by signing Uploaded to the blockchain for future traceability. ID Call Γ i According to each W recorded j Task submission time Calculate each W j Task time (The task scenario assumed here is W) j At the start time (The task can only begin after that);
[0113] Table 1 Task Executor t i,j Indicator Scores
[0114] <![CDATA[t i,j ]]> 23.34 24.28 26.52
[0115] Step (52), R ID Obtain the latest reputation value of each task executor from the blockchain.j ;
[0116] Table 2 Task executor r j Indicator Scores
[0117] <![CDATA[r j ]]> 93.45 79.86 84.69
[0118] Step (53), R ID Based on the selected model m i Come for D i,j Calculate l i,j This metric uses the gradients generated during federated learning training to compare W. j The submitted D i,j With R ID The provided reference dataset SD i The similarity between them. R ID They prepared their reference datasets SD respectively i and W j The submitted D i,j As the training model m i The input parameters, due to R ID In TD i The format of the submitted data is clearly specified in the document, therefore the dimensionality of both is the same. i During training, the corresponding gradients are returned to us; the former is denoted as... The latter is written as Next we can calculate
[0119] Table 3 Task Executors i,j Indicator Scores
[0120] <![CDATA[l i,j ]]> 35.17 26.82 25.06
[0121] Step (54), R ID Calculate D based on the above three indicators. i,j Quality assessment score in
[0122] Table 4. Total Quality Assessment Score for Task Performers (E) i,j Scoring
[0123] <![CDATA[t i,j ]]> 23.34 24.28 26.52 <![CDATA[r j ]]> 93.45 79.86 84.69 <![CDATA[l i,j ]]> 35.17 26.82 25.06 <![CDATA[E i,j ]]> 273.45 273.43 275.89
[0124] Step (55), R ID According to E i,j Generate τ by sorting from high to low i QART Quality Assessment Ranking Table iUploaded to the blockchain. (In τ) i After it ended, R ID The random numbers {r1, r2, ..., r} generated during the previous Pedersen commitment are used. N ,r N+1 ,…,r 2N The data is uploaded to the blockchain so that task executors can verify the legitimacy of the quality assessment process and the correctness of the quality assessment scores.
[0125] Table 5 Ranking Results of Task Performers' Quality Assessment
[0126] <![CDATA[t i,j ]]> 26.52 23.34 24.28 <![CDATA[r j ]]> 84.69 93.45 79.86 <![CDATA[l i,j ]]> 25.06 35.17 26.82 <![CDATA[E i,j ]]> 275.89 273.45 273.43 Ranking 1 2 3
[0127] Step (6) The task executor and task issuer can raise questions for different reasons. The crowdsourcing platform will initiate an arbitration procedure to check the content of the question, trace the execution process, and finally upload the arbitration result to the blockchain for public disclosure.
[0128] Step (61)W j According to R ID You can view your scores for each metric in the uploaded ranking results, and can also use R... ID The provided Pedersen commitment {c1,c2,…,c N ,c N+1 ,…,c 2N} and random numbers
[0129] {r1,r2,…,r N ,r N+1 ,…,r 2N}Verification l i,j The correctness of W is verified as follows: j D i,j Input to m i The gradient vector obtained in calculate Let D = l i,j W j Generate random numbers r′1, r′2, ..., r′ N According to r′1,r′2,…,r′ N calculate W j Calculate commitment C=G D *H R W j Verify the equation Does it hold true? If it does, then prove that l i,j The calculation process for the indicator is legal and the result is correct. jt can be directly calculated and verified using information on the blockchain. i,j and r j The correctness of R is proven if all three indicators pass the verification. ID For W i,j The quality assessment process was legal and the results were correct.
[0130] Step (62) W with number j being 9253147457868 j According to R ID The provided m i Pedersen and others committed to validating the ranking results of the quality assessment algorithm, finding them consistent with R. ID E uploaded to the blockchain i,j There are significant discrepancies, and I question my own submitted D. i,j The data was tampered with during transmission, and arbitration is requested.
[0131] Step (63): Since the objection is based on a common reason, the crowdsourcing platform will invoke a previously deployed smart contract for arbitration. The smart contract will request the party initiating the objection, W... j Provide its public key PK j The signature ψ′ previously uploaded to the blockchain i and The questioned R ID Provide its public key PK ID The signature previously uploaded to the blockchain ψ i and ζ′ i,j Crowdsourcing platforms call smart contracts to use PK. j Decrypt the previous signature value ψ′ i Get ζ′ i Using PK ID Decrypting ψ i Get ζ i Verify ζ′ i and ζ i Are they equal? If they are equal, then τ i The transmission and reception processes were error-free. After checking, they are equal, therefore τ i The transmission and reception process proceeded without error. The smart contract uses PK. j Decrypt the previous signature value Get ζ i,j Using PK ID Decryption Get ζ′ i,j Verify ζ i,j and ζ′ i,j Are they equal? If they are equal, then D... i,j The transmission and reception processes were error-free. After checking, they are equal, therefore D. i,j The transmission and reception processes were error-free;
[0132] Step (64) The crowdsourcing platform uploads the arbitration result to the blockchain for public display and collects the opinions of the participants. If more than half of the participants agree with the arbitration result, the arbitration ends.
[0133] Step (65) W with number j being 3573871724169 j According to R ID The provided m i Pedersen and others committed to validating the ranking results of the quality assessment algorithm, finding them consistent with R. ID E uploaded to the blockchain i,j There are significant discrepancies, and I question my own submitted D. i,j The data was tampered with during transmission, prompting a request for arbitration. Since this is a common cause of the dispute, the crowdsourcing platform will invoke a pre-deployed smart contract to conduct the arbitration. The smart contract will request the initiating party, W, to... j Provide its public key PK j The signature ψ′ previously uploaded to the blockchain i and ζ i,j The questioned R ID Provide its public key PK ID The signature previously uploaded to the blockchain ψ i and Smart contracts use PK j Decrypt the previous signature value ψ′ i Get ζ′ i Using PK ID Decrypting ψ i Get ζ i Verify ζ′ i and ζ i Are they equal? If they are equal, then τ i The transmission and reception processes were error-free. After checking, they are equal, therefore τ i The transmission and reception process proceeded without error. The smart contract uses PK. j Decrypt the previous signature value Get ζ i,j Using PK ID Decryption Get ζ i ′ ,j Verify ζ i,j and ζ′ i,j Are they equal? If they are equal, then D... i,j The transmission and reception processes were error-free. However, upon inspection, discrepancies were found, indicating that D... i,j Tampering can occur during transmission and reception. Therefore, the crowdsourcing platform will require W... j Resubmit D i,j Give R ID And satisfy Di,j The hash value and W j The hash value uploaded to the blockchain the first time was the same. ID Call Γi again i Evaluate the newly submitted data D i,j and the latest E i,j Uploaded to the blockchain. The crowdsourcing platform then uploads the arbitration result to the blockchain for public display and collects participant feedback. Since more than half of the participants agree with the arbitration result, it is considered valid, and the arbitration process concludes. The final quality assessment ranking is updated based on the arbitration result. In this case, the updated quality assessment ranking is as follows:
[0134] Table 6. Updated Ranking of Task Performers' Quality Assessment Results
[0135] <![CDATA[t i,j ]]> 26.52275.89 24.28274.16 23.34 <![CDATA[r j ]]> 84.69 79.86 93.45 <![CDATA[l i,j ]]> 25.06 26.54 35.17 <![CDATA[E ij ]]> 275.89 274.16 273.45 Ranking 1 2 3
[0136] Step (7): The crowdsourcing platform calls the smart contract to determine the latest quality assessment ranking table QART. i To execute the remuneration distribution procedure, based on the latest QART quality assessment ranking table. i E on i,j Federated Learning Model in Weighted Update Quality Assessment Algorithm
[0137] Step (71): The crowdsourcing platform calls the smart contract to determine the latest quality assessment ranking table QART. i and R ID The reward distribution algorithm RAlloc entered i Calculate and distribute each W j The remuneration that can be obtained
[0138] Step (72): The crowdsourcing platform calls the smart contract to update the latest ranking table QART. i E on i,j The weight distribution learned by each client in federated learning is calculated by inputting it into the normalized exponential function.
[0139] Table 7 calculates the weight of task performers in the model update based on their quality assessment scores.
[0140] <![CDATA[E ij ]]> 275.89 274.16 273.45 <![CDATA[φ j ]]> 0.79 0.14 0.07
[0141] Step (73): The crowdsourcing platform calls the smart contract to aggregate the gradients and obtain the aggregation result.
[0142] Step (74): The crowdsourcing platform calls the smart contract to update the model parameters.
Claims
1. A crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance, characterized in that, It involves a key generation center, task publishers, task executors, crowdsourcing platforms, and blockchain, and includes the following steps: Step (1) System initialization, including user registration, parameter generation and key distribution. Users register as task publishers on crowdsourcing platforms. ID Or task executor W j ID and j are user IDs generated by the crowdsourcing platform; the crowdsourcing platform generates initial parameters C. l G, H and TMT ID The crowdsourcing platform maintains q federated learning models M = {m1, m2, ..., mn} suitable for different task scenarios. q }, C l The initial thresholds used when aggregating data for different models, l = 1, 2, ..., q; G and H are randomly generated base points on the elliptic curve, which are the initial parameters committed by Pedersen; TMT ID It is a crowdsourcing platform for registered task publishers R ID The generated task matching table is used to record R ID The published task information is initially empty; the key generation center is the successfully registered task publisher R. ID And task executor W j Generate public and private key pairs (PK) respectively. ID SK ID ) and (PK j SK j ); Step (2), Task publisher R ID Post tasks on crowdsourcing platforms i = (ID, i, m) i B i TR i ,RAlloc i , Γ i , κ i ), where i is the task number to be published, m i For R ID For task τ i The selected federated learning model, B i For task τ i The remuneration, TR i For τ i Task requirements description, R ID It needs to provide task-related information and Pedersen commitments, RALloc i For τ i The reward distribution algorithm, Γ i For τ i Task data quality assessment algorithm, κ i Represents task τ i Require each W j Number of data copies submitted; Task publisher R ID Computation task τ i hash value ζ i =H(τ) i ), using your own private key SK ID For hash value ζ i Sign to obtain ψ i =Sig(ζ i SK ID And upload it to the blockchain; the crowdsourcing platform according to R ID The task information and R filled in ID The relevant information is checked for legality. If the legality check is passed, the task is issued. i And in R ID Task Matching Table TMT ID Add a table entry {i, W} to record τ i The matching information, W represents successful acceptance of τ. i The set of task executors, initially empty; Step (3), Task executor W j Choose a task that interests you. i Acceptance is granted, and the crowdsourcing platform is responsible for recording the task matching status. When W j Accept τ i When, if τ i If it falls within an acceptable timeframe, the crowdsourcing platform will accept the task's W. j Add to the task matching table TMT ID In the corresponding task table item {i, W}, in W, and call the smart contract to load the federated learning model m i Send to W j If task τ i If it is not within the acceptable timeframe, then W j Accept τ i fail; W j Accept τ i Upon success, calculate the accepted task τ. i hash value ζ′ i =H(τ) i ), using its own private key SK j For ζ′ i The signature value ψ′ is obtained by performing the signature. i =Sig(ζ′) i SK j And upload it to the blockchain; ψ′ i It is the signature value obtained by the task executor signing the task hash value with their private key. It serves as evidence during the crowdsourcing task matching phase and is convenient for verification during the arbitration phase. Step (4), W j Complete the task according to the task requirements description. i Obtain the task dataset Task Executor W j D i,j κ in i The hash value is calculated by concatenating the data from each task. Using private key SK j For ζ i,j Obtain by signing Task data The content varies depending on the task; the task poster will specify the details in the task description when posting the task. The submission format is clearly explained; W j Based on D i,j Local training of federated learning model m i The model parameters g to be aggregated are obtained. i,j , for g i,j Cut to obtain Then use differential privacy technology to Noise addition W j Task dataset D i,j Use the corresponding task publisher R ID public key PK ID Encryption yields ξ i,j =Enc(D i,j PK ID ) and send to R ID ,Will and Upload them together to the blockchain; Step (5), Task publisher R ID For ξ i,j Decryption D′ i,j κ in i The hash value is calculated by concatenating the data from each task. Use its own private key SK ID For ζ′ i,j Signature to obtain ζ′ i,j =Sig(ζ′) i,j SK ID ), and ζ′ i,j Uploaded to the blockchain; R ID Call the quality assessment algorithm Γ i For D′ i,j A quality assessment was conducted, resulting in an assessment score E. i,j The evaluation indicators include three items (t). i,j r j , l i,j ), where t i,j r is the task execution time. j For W j Reputation value, l i,j It utilizes the federated learning model m i Calculated data similarity; R ID According to E i,j Rank them from highest to lowest and assign tasks τ i QART Quality Assessment Ranking Table i Uploaded to the blockchain; in task τ i After completion, R ID The random numbers {r1, r2, ..., r} promised by Pedersen will be verified. N r N+1 ,...,r 2N Uploaded to the blockchain for W j Verify the data evaluation process, where N is m i Returns the dimension of the gradient; Step (6), W j According to R ID The provided model m i Pedersen promises {c1, c2, ..., c} N c N+1 , ...c 2N } and random numbers {r1, r2, ..., r} N r N+1 ,...,r 2N } to verify Γ i The evaluation results, such as R ID and W j If any objection is raised to the ranking results at this stage, an arbitration procedure will be initiated with the crowdsourcing platform. The platform will review the objection and upload the arbitration result to the blockchain for public display within a specified time. If more than half of the participants agree with the arbitration result, the crowdsourcing platform will call the smart contract to update the QART quality assessment ranking table. i ; Step (7): The crowdsourcing platform calls the smart contract to determine the latest quality assessment ranking table QARV. i To execute the remuneration distribution procedure, based on QARV i Up W j The ranking is updated in weighted order. i .
2. The crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance as described in claim 1, characterized in that: The task requirement description TR in step (2) i The internal details are as follows: in, Represents τ i The start time, Represents τ i The end time, TD i Represents τ i Specific requirements, {c1, c2, ..., c N c N+1 c 2N } Representing Pedersen's commitment, R ID τ that needs to be released i Prepare a reference dataset SD i Used to assist quality assessment algorithms in evaluation, SD i The format and D i,j same; R ID Reference dataset SD i Input model m as the training dataset i Obtain the gradient T i,j and V i,j Provide relevant Pedersen commitments to facilitate task executor W j Subsequent validation quality assessment score E i,j。 3. The crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance as described in claim 1 or 2, characterized in that: In step (2), Pedersen promises {c1, c2, ..., c...} N c N+1 c 2N The generation process of} is as follows: Task publisher R ID Reference dataset SD i As model m i Input the training dataset to obtain the gradient. R ID Regarding the committed data Calculate the corresponding commitment value Where r1, r2, ..., r N r N+1 ,...,r 2N For R ID Generated random numbers.
4. The crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance according to claim 1, characterized in that: The internal details of the reward allocation algorithm in step (2) are as follows: R ID First, determine which rules to apply to W. j Distribute the remuneration and give remuneration b. i,j The specific calculation formula is as follows: Where b i,j W j Complete the task. i The remuneration that can be obtained afterward; such as according to W j Quality assessment score E i,j Remuneration shall be distributed proportionally; R ID Users can choose a previously entered reward distribution algorithm or enter a new one. After the algorithm is verified as legal, the crowdsourcing platform will generate a smart contract for the new reward distribution algorithm and deploy it on the blockchain.
5. The crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance as described in claim 1, characterized in that: Step (4) involves adjusting the model parameter g. i,j The formula for cutting is as follows: K represents the selected model m. i The corresponding threshold number: Task Executor W j Using differential privacy technology Noise is added to obtain The formula is as follows: L is the size of the dataset. It is Gaussian noise, σ 2 I is the noise level, and I is the sensitivity. Task Executor W j Will and After being uploaded to the blockchain, the task publisher R ID Record W j Submit task τ i time judge Is it true? If it is true, then W j Submission successful; otherwise, it fails.
6. The crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance as described in claim 1, characterized in that: The specific process of step (5) is as follows: Step (5.1), R ID ζ′ i,j =Sig(ζ′) i,j SK ID After being uploaded to the blockchain, R ID According to each W recorded j Task submission time Calculate each W j Task time Step (5.2), R ID Obtain the latest reputation value of each task executor from the blockchain. j Crowdsourcing platforms use blockchain to provide each W j Maintain a reputation value r j This value depends on W j The completion status of historical tasks, W j The better the historical performance, the better r j The higher; W j After each submission of D i,j E obtained later i,j It will also be used to update W j r j The updated formula is as follows: r′ j W j Updated reputation value, r j W j Reputation value before update, E i,j W j Execute task τ i Quality assessment score; Step (5.3), R ID According to m i D i,j calculate in Represents m i For R ID Prepared reference dataset SD i The resulting gradient, Represents m i For W j Submitted D i,j The resulting gradient; R ID Based on the indicator (t) i,j r j , l i,j Calculate D i,j Quality rating in Step (5.4), Task publisher R ID According to E i,j Generate τ by sorting from high to low i QART Quality Assessment Ranking Table i Uploaded to the blockchain; in τ i After it ended, R ID The random numbers {r1, r2, ..., r} generated during the previous Pedersen commitment are used. N r N+1 ,...,r 2N Uploaded to the blockchain for W j Verify the legality of the quality assessment process and the correctness of the quality assessment results.
7. The crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance as described in claim 1, characterized in that: The verification step (6) is as follows: i,j The specific method for calculating correctness is as follows: Task Executor W j First, divide the task dataset D i,j Input to m i The gradient vector obtained in Then calculate Let D = l i,j Task executor W j Generate random numbers r′1, r′2, ..., r′ N According to r′1, r′2, ..., r′ N calculate W j Next, calculate the commitment. Finally W j Verify the equation Does it hold true? If it does, then prove that l i,j The calculation process for the indicator is legal and the result is correct; W j t is verified directly by calculating information on the blockchain. i,j and r j The correctness of R is proven if all three indicators pass the verification. ID For W i,j The quality assessment process was legal and the results were correct; the specific method of arbitration in step (6) is as follows: If the reason for initiating arbitration is pre-set within the system, the crowdsourcing platform will invoke a pre-written smart contract to handle it, and after processing, publish the results and key steps of the process on the blockchain for public disclosure; assuming the reason for requesting arbitration is W j Verify E i,j If incorrect, the smart contract checks W. j and R ID Previously uploaded evidence information to the blockchain, if verified, is found to not exist. i,j If the calculation is incorrect, the arbitration results and key information from the process will be published on the blockchain for public disclosure. If verification reveals the existence of E i,j If the calculation is incorrect, W will be adjusted according to the cause of the error. j Resubmit the data or let R ID Re-for W j Calculate E i,j The crowdsourcing platform will publish the arbitration results and key information in the process on the blockchain for public disclosure; If the reason for initiating arbitration is not pre-set, the crowdsourcing platform will match the relevant professionals to be responsible for the manual processing of the arbitration application, and after the processing is completed, the processing results and key processing steps in the process will be published on the blockchain for public disclosure. If more than half of the participants agree with the arbitration result, the arbitration is successful, and the crowdsourcing platform calls the smart contract to update the QART quality assessment ranking table based on the arbitration result. i ; If less than half of the parties agree with the arbitration result, the original ranking result will be maintained.
8. The crowdsourcing quality and safety assessment method based on federated learning with blockchain assistance as described in claim 1, characterized in that: The specific process of distributing rewards and updating the model in step (7) is as follows: Step (7.1): The crowdsourcing platform calls the smart contract to determine the latest quality assessment ranking table QART. i and R ID The reward distribution algorithm RAlloc entered i Calculate and distribute each W j The reward b i,j ; Step (7.2): The crowdsourcing platform calls the smart contract to send the latest quality assessment ranking table QART. i E on i,j The weight distribution learned by each client in federated learning is calculated by inputting the weights into the normalized exponential function softmax. Step (7.3): The crowdsourcing platform calls the smart contract to aggregate the gradients and obtain the aggregation result. Step (7.4): The crowdsourcing platform calls the smart contract to update the model parameters.
Citation Information
Patent Citations
Crowdsourcing quality assessment method based on slide task window
CN107871196A
WeChat public platform-based Chinese-Mongolian corpus crowdsourcing construction method
CN110472948A
Teaching knowledge point graph system based on network swarm intelligence
CN112148890A
Multi-party joint computing alliance chain processing method
CN112668049A
Federal learning method and system based on block chain and trusted execution environment
CN113837761A