WO2020119512A1 - 任务处理方法、***、设备及存储介质 - Google Patents

任务处理方法、***、设备及存储介质 Download PDF

Info

Publication number
WO2020119512A1
WO2020119512A1 PCT/CN2019/122585 CN2019122585W WO2020119512A1 WO 2020119512 A1 WO2020119512 A1 WO 2020119512A1 CN 2019122585 W CN2019122585 W CN 2019122585W WO 2020119512 A1 WO2020119512 A1 WO 2020119512A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
smart contract
blockchain network
electronic resource
pool
Prior art date
Application number
PCT/CN2019/122585
Other languages
English (en)
French (fr)
Inventor
杨经宇
马茂刚
刘桂泽
马劲松
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP19895966.0A priority Critical patent/EP3896633B1/en
Publication of WO2020119512A1 publication Critical patent/WO2020119512A1/zh
Priority to US17/153,767 priority patent/US12039366B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Definitions

  • This application relates to the field of Internet technology, and in particular, to a task processing method, system, device, and storage medium.
  • some platforms on the network allow publishers to publish publicly invited tasks in order to find the task completion party to execute the publicly invited task. After completing the public invitation task, the task issuer pays the task completion party.
  • An embodiment of the present application also provides a task control system, including a task control subsystem and a smart contract control subsystem:
  • the task control subsystem is configured to receive tasks issued by a task issuer device and electronic resources corresponding to performing the tasks, and send the tasks and the electronic resources to the smart contract control subsystem;
  • the smart contract control subsystem is configured to construct a smart contract corresponding to the task according to the received task and the electronic resource;
  • the task control subsystem is further configured to receive the execution result corresponding to the task sent by the task inviter device after executing the task; and send the execution result to the smart contract control subsystem;
  • the smart contract control subsystem is further configured to verify the execution result sent by the task control subsystem according to the smart contract, and transfer the electronic resource to the task inviter device according to the verification result, and the execution result is After performing the task, the task inviter device sends the task to the task control subsystem for the task.
  • An embodiment of the present application also provides a task control device, including:
  • a receiving unit configured to receive a task issued by a task issuer device and an electronic resource corresponding to performing the task
  • a sending unit configured to send the task and the electronic resource to the blockchain network, so that the blockchain network constructs a smart contract corresponding to the task
  • the receiving unit is configured to receive the execution result corresponding to the task sent by the task inviter device after performing the task;
  • the sending unit is configured to send the execution result to the blockchain network, so that the blockchain network verifies the execution result according to the smart contract, and according to the verification result
  • the task inviter device transfers the electronic resource.
  • a computing device also provided in an embodiment of the present application includes at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor The steps of the task processing method provided in the embodiments of the present application are executed.
  • An embodiment of the present application further provides a non-volatile computer-readable storage medium, the storage medium stores computer instructions, and when the computer instructions run on the computer, the computer is allowed to perform the task processing provided by the embodiment of the present application Method steps.
  • FIG. 1 is a schematic diagram of an application scenario in an embodiment of the present application
  • FIG. 2A is a schematic diagram of a task control system in an embodiment of this application.
  • 2B is a flowchart of a task processing method in an embodiment of this application.
  • 3A is a flowchart of a task processing method in an embodiment of this application.
  • FIG. 3B is a schematic diagram of each task in the task pool displayed in the embodiment of the present application.
  • FIG. 5 is a flowchart of a method for processing a password cracking task in an embodiment of this application
  • FIG. 6 is a schematic diagram of a task publishing input interface in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a smart contract constructed in an embodiment of this application.
  • FIG. 8 is a schematic diagram of a task control device in an embodiment of this application.
  • FIG. 9 is a schematic diagram of a computing device in an embodiment of this application.
  • Smart contract is a computer protocol designed to spread, verify, or execute contracts in an informatized manner. Smart contracts allow trusted transactions without third parties, which are traceable and irreversible.
  • Ethereum Ethereum, is an open source public blockchain platform with smart contract functions. It provides a decentralized virtual machine ("Ethereum Virtual” Machine) to process peer-to-peer contracts through its dedicated cryptocurrency Ether .
  • Crowdsourcing refers to the practice of outsourcing work tasks performed by employees to non-specific (and usually large) public networks in a free and voluntary manner.
  • Password cracking refers to an attack method that uses brute-force enumeration to construct or use an existing dictionary file to try a given password hash value and restore the original password.
  • Blockchain technology refers to the use of blockchain data structures to verify and store data, the use of distributed node consensus algorithms to generate and update data, the use of cryptography to ensure the safety of data transmission and access, and the use of automated script code
  • the smart contract to program and manipulate data is a brand new distributed infrastructure and calculation method.
  • Hubble analysis system It is a security auxiliary platform. Users can upload samples and learn the basic information of the samples, possible behaviors, security levels and other information through simple operations, so as to identify malicious files more conveniently.
  • the task issuer can publish the public invitation task on the network platform. After the task completion party in the network platform completes the public invitation task, if the task issuer is not satisfied with the completion quality of the task completion party, there may be a party who does not pay the task completion task Or not supporting the task completion party according to the agreement, it will cause a problem of mistrust between the task completion party and the task publishing party. If the platform or a third party intervenes in the implementation of arbitration, there will also be the issuer and the task completing party not trusting the third party Or the result of platform arbitration. Therefore, in the process of performing tasks in the related art, there is a problem of mistrust between the issuer and the task completion party.
  • an embodiment of the present application provides a task processing method that, when receiving a task issued by a task issuer device and an electronic resource corresponding to performing the task, sends the received task and electronic to the blockchain network Resources, that is, the tasks released by the task issuer's equipment and the electronic resources corresponding to the execution of the task, are sent to the blockchain network as input parameters of the smart contract constructor to construct the smart contract corresponding to the task and obtain the task
  • the invited party device sends the execution result to the blockchain network after executing the task for the execution result of the task, and then the blockchain network can verify the execution result according to the smart contract and automatically execute the electronic according to the verification result through the blockchain network
  • the allocation of resources, due to the automatic contract execution of the smart contract of the blockchain network the rules are transparent, the logic is transparent, the data generated by the task implementation are stored on the blockchain, open and can not be tampered, so the task issuer and task invitation are eliminated
  • the distrust relationship between the parties does not require a third party to intervene in the implementation of arbitration, so it
  • the blockchain network allocates the resources corresponding to the task inviter’s equipment according to the smart contract, which ensures that the task inviter’s right to obtain the corresponding remuneration can be Attracting more tasks
  • the invited party invests more computing resources to perform the task, so the task execution efficiency and success rate are also improved.
  • the task in the embodiment of the present application may be any public invitation task that can be published on a network platform and can be freely selected by a network platform user and performed using his computing resources.
  • a public invitation task is for password security.
  • the task processing method in the embodiment of the present application may be applied to the application scenario shown in FIG. 1, where the application scenario includes a first user terminal 10, a second user terminal 11, a task control computing device, and a blockchain network.
  • the task control computing device may be a task control server 12, and the task control server 12 may be a single server, or a server cluster or cloud computing center composed of several servers.
  • a blockchain network is a distributed database system involving multiple nodes, including multiple nodes.
  • the blockchain network includes at least one public blockchain with smart contract functions.
  • the blockchain network is composed of multiple nodes, and the nodes 13 in the blockchain network support a public blockchain with smart contract functions.
  • public blockchains with smart contract functions in the blockchain network such as Ethereum, Hyperledger Hyperledger, RSK, etc.
  • the first user terminal 10 and the second user terminal 11 may be electronic devices with network communication capabilities, and the electronic devices may be smart phones, tablet computers, portable personal computers, or other smart terminals.
  • the task control server 12 may communicate with the first user terminal 10, the second user terminal 11, and any node 13 in the blockchain network through a network, where the network may be a local area network, a wide area network, or Any kind of communication network such as mobile Internet.
  • Clients supported by the task control server 12 are installed in the first user terminal 10 and the second user terminal 11.
  • the first user terminal 10 and the second user terminal 11 may communicate with the task control server 12 based on their respective installed clients.
  • the first user terminal 10 may serve as a task issuer device, and the client installed through it publishes the task in the task control server 12.
  • the second user terminal 11 can be used as a task inviter device, and the client installed by it can apply for a task from the task control server 12 for cracking.
  • the first user terminal 10 can also be a task inviter device for applying a task for cracking.
  • the second The user terminal 11 may be a task issuer device to issue tasks.
  • an embodiment of the present application provides a task control system, which includes a task control subsystem 20 and a smart contract control subsystem 21, where the task control subsystem 20 can be understood as the application scenario shown in FIG. 1
  • the task control server 12 and the smart contract control subsystem 21 can be understood as supporting a public blockchain with smart contract functions in the application scenario shown in FIG. 1.
  • the task control subsystem 20 is used to call the smart contract constructor from the smart contract control subsystem 21 and transfer the task when the task issued by the task issuer 22 and the electronic resource corresponding to the executed task are received
  • the task issued by the publisher and the electronic resource corresponding to the execution of the task are sent to the smart contract control subsystem 21 as input parameters of the smart contract constructor.
  • the smart contract control subsystem 21 is used to construct a smart contract corresponding to the task according to the received task and the electronic resources corresponding to the execution of the task; and to receive the execution result sent by the task control subsystem 20, and according to the smart contract The execution result is verified, and the electronic resource is transferred to the task inviter device according to the verification result.
  • the execution result is that the task inviter device 23 sends the task to the task control subsystem 20 after the task is implemented.
  • an embodiment of the present application provides a task processing method, which is executed by the task control server 12 in the application scenario shown in FIG.
  • the first user terminal 10 in FIG. 1 is a task issuer device
  • the second user terminal 11 is a task inviter device.
  • the task processing method includes the following steps:
  • S201 Receive a task issued by a task issuer device and an electronic resource corresponding to executing the task.
  • the task control server receives the task issued by the task issuer through the client on the device of the task issuer and the electronic resource corresponding to the execution of the task.
  • electronic resources refer to the media used to pay transaction fees and computing service fees in the blockchain.
  • Different public blockchain platforms in the blockchain can have electronic resources belonging to the platform, such as the Ethereum blockchain.
  • Ether is Ether, which is the token (electronic resource) in the Ethereum area. It is the medium used to pay transaction fees and computing service fees on Ethereum.
  • S202 Send the task and the electronic resource to the blockchain network, so that the blockchain network constructs a smart contract corresponding to the task.
  • the task control server may send a smart contract call instruction to the blockchain network to make it feedback the called smart contract constructor; receive the smart contract constructor returned by the blockchain network; and Send the task and the electronic resource to the blockchain network as input parameters of the smart contract constructor, so that it constructs the intelligence corresponding to the task issued by the task issuer device according to the received input parameters contract.
  • a smart contract call instruction can be sent to any node in the blockchain network, and based on the smart contract constructor it feeds back, the task and the electronic resource can be used as the smart contract constructor Input parameters are sent to the node of the blockchain network.
  • the smart contract is synchronously updated to the blockchain network The other various nodes. In this way, after receiving the execution result of the task inviter device forwarded by the task control server, any node in the blockchain network can verify the execution result according to the smart contract and complete the electronic according to the verification result Resource transfer.
  • the task control server before receiving the execution result released after the task inviter implements the task, puts the task into the task pool; receives the request to execute the task request sent by the device of the task inviter; The task pool selects a task; and sends the selected task to the task inviter device for execution.
  • the execution priority of the tasks in the task pool may be set according to the set conditions, and when selecting a task from the task pool, the task with the highest execution priority may be selected from the task pool.
  • the set conditions include: the quota of electronic resources, where the higher the quota, the higher the execution priority; or the release time of the task, where the earlier the release time, the higher the execution priority.
  • the task inviter device when the task inviter device sends an application request for task execution to the task control server, it may carry the task identifier of the task applied for execution in the application task execution request.
  • the task corresponding to the task identifier may be selected from the task pool according to the task identifier of the application execution carried in the request to execute the task.
  • the task control server may also send a smart contract call request to the blockchain network to call the smart contract corresponding to the selected task and confirm the Whether the smart contract is valid; if it is confirmed that the smart contract is valid, the selected task is sent to the task inviter device for execution; and if it is confirmed that the smart contract is invalid, the corresponding task is deleted from the task pool, And reselect the task from the task pool.
  • S204 Send the execution result to the blockchain network, so that it can verify the execution result according to the smart contract, and transfer the electronic resource to the task inviter device according to the verification result.
  • the second node in the blockchain network can also verify the execution result according to the smart contract and complete the electronic according to the verification result
  • the second node may be the same as or different from the first node.
  • the task inviter device after completing the task, sends the execution result to the task control server through the client on the second user terminal, and the task control server sends the received execution result
  • the task control server After being sent to the blockchain network, it can also receive a confirmation message that the contract sent by the blockchain network has been fulfilled; the confirmation message is that the blockchain network is sending the task inviter equipment to the task according to the verification result Generated after transferring the electronic resource; deleting the corresponding task from the task pool.
  • the sending the electronic resource to the blockchain network includes: sending the first account address of the task issuer device and the number of the electronic resource to the blockchain network; The method further includes: sending the second account address of the task inviter device to the blockchain network; wherein, when the verification result is correct, the blockchain network removes the electronic resource from the The first account address is transferred to the second account address, so that the task inviter device obtains corresponding remuneration.
  • the received task and electronic resource are sent to the blockchain network, that is, the task issued by the task issuer device And the electronic resource corresponding to the execution of the task, is sent to the blockchain network as an input parameter of the smart contract constructor to construct a smart contract corresponding to the task, and is obtained for the task after the task inviter device performs the task
  • the execution result is sent, so that the blockchain network can verify the execution result according to the smart contract and automatically perform the allocation of electronic resources according to the verification result, because the blockchain network
  • the smart contract in the node is automatically fulfilled, the rules are transparent, and the logic is transparent.
  • the data generated by the task implementation is stored on the blockchain, which is open and cannot be tampered with, so the mistrust relationship between the task issuer and the task inviter is eliminated. There is no need for a third party to intervene in the implementation of arbitration, so the complexity of task execution is also simplified, and the illegal operation of falsifying results is also resisted.
  • the embodiments of the present application provide a task processing method.
  • the task is specifically a password cracking task
  • the task control server is a crowdsourcing server as an example.
  • the task processing method in is described in detail.
  • the task processing method in the embodiment of the present application is executed by the task control server, that is, by the crowdsourcing server, including:
  • Step 301 Receive a task issued by a task issuer device and an electronic resource corresponding to performing the task.
  • the crowdsourcing platform can be understood as being implemented by a crowdsourcing server.
  • the crowdsourcing platform receives tasks issued by the task issuer device and electronic resources corresponding to the execution of the task.
  • the crowdsourcing platform can first receive the password cracking task release request sent by the task publisher. Then, the crowdsourcing platform checks whether the task publisher’s device has the permission to publish the task. If the task publisher’s device has the permission to publish the task, the task is released to the task
  • the party device sends confirmation information indicating that the task issuer device can publish the task, and after receiving the confirmation message, the task issuer device sends the task and the electronic resource corresponding to the executed task to the crowdsourcing platform.
  • the task issuer device carries the task and the electronic resource corresponding to the executed task in the issued password cracking task request, and the crowdsourcing platform receives the request, and obtains the carried task and the corresponding executed task from the request Electronic resources; another way is: the task issuer device directly publishes the task and the electronic resource corresponding to the execution of the task in the release window provided by the crowdsourcing platform, so that the crowdsourcing platform directly receives the password cracking of the task issuer device The task and the electronic resource corresponding to the execution of the task.
  • the crowdsourcing platform receives a password cracking task request in a variety of ways.
  • the crowdsourcing platform may provide an option for issuing a password cracking task in the user interaction interface, which is selected by the task issuer device With this option, you can obtain the password cracking task request issued by the task issuer device, or you can receive the password cracking task request issued by the task issuer device by voice input or text input.
  • the password in the password cracking task may be any password that needs to be evaluated for the security strength of the password, such as the password of the application service deployed in the network environment, the password of the server, the password of the file, and so on.
  • the password in the password cracking task may be a password encrypted based on a hash function, or a password encrypted based on other encryption technologies.
  • Step 302 Send a smart contract call instruction to the blockchain network to make it feedback the called smart contract constructor.
  • the blockchain network in step 302 can be understood as a public blockchain with a smart contract function.
  • the blockchain network can include one or more public blockchains with smart contract functions. Different public blockchains can have different smart contract constructors, or they can have universal smart contract constructors. In this case, the public blockchain mentioned above can be an Ethernet workshop.
  • the crowdsourcing platform can select a public blockchain supported by the crowdsourcing platform from the multiple public blockchains included in the blockchain network to build and The smart contract corresponding to the password cracking task.
  • the crowdsourcing platform Select a public blockchain in the blockchain, and send smart contract call instructions to the selected public blockchain to make it feedback the called smart contract constructor; if different public blockchains in the blockchain have common Smart contract constructor, then the crowdsourcing platform can send smart contract calling instructions to the blockchain network to make it feedback the common smart contract constructor in the called blockchain.
  • the crowdsourcing platform can select a public blockchain from the public blockchains it supports, and Send the smart contract call instruction to the selected public blockchain to make it feedback the called smart contract constructor.
  • each node in the blockchain network in this application has a smart contract function. Therefore, when sending a smart contract call instruction to the blockchain network, you can go to the area shown in Figure 1 Any node 13 in the blockchain network sends a smart contract call instruction. After constructing the smart contract corresponding to the task according to the task and the electronic resource, the node 13 will synchronously update the smart contract to other nodes in the blockchain network. In this way, after receiving the execution result of the task inviter device forwarded by the task control server, any node in the blockchain network can verify the execution result according to the smart contract and complete the electronic according to the verification result Resource transfer.
  • Step 303 According to the smart contract constructor, send the task issued by the task issuer and the electronic resource corresponding to the task to the blockchain network.
  • the crowdsourcing platform can send the password cracking task issued by the task issuer device and the electronic resource corresponding to the cracked password cracking task as input parameters of the smart contract constructor to the block Chain network, the blockchain network constructs a smart contract corresponding to the password cracking task issued by the task issuer according to the received input parameters.
  • electronic resources refer to the media used to pay transaction fees and computing service fees in the blockchain.
  • Different public blockchain platforms in the blockchain can have electronic resources belonging to the platform, such as the Ethereum blockchain.
  • Ether is Ether, which is the token (electronic resource) in the Ethereum area. It is the medium used to pay transaction fees and computing service fees on Ethereum.
  • Step 304 Receive a smart contract construction success message sent by the blockchain network.
  • the crowdsourcing platform may also perform step 304 to receive a message that the smart contract is successfully constructed sent by the blockchain network.
  • Step 305 Put the task into the task pool.
  • the crowdsourcing platform may set a task pool for storing password cracking tasks to be cracked for the cracker to select the password cracking task to be cracked from the task pool. After receiving the successful message of the smart contract construction feedback from the blockchain network, the crowdsourcing platform may put the password cracking task corresponding to the smart contract into the task pool for the cracker to select the password cracking to be cracked from the task pool task.
  • Step 306 Set the execution priority for the tasks in the task pool according to the set conditions.
  • the crowdsourcing platform can also set the cracking priority for the password cracking task in the task pool according to the set conditions, where the set conditions can include the quota or password of the electronic resource corresponding to the password cracking task The release time of the cracking task on the crowdsourcing platform.
  • the crowdsourcing platform can set the cracking priority of each password cracking task in the task pool according to the order of the electronic resource corresponding to the password cracking task from high to low.
  • the crowdsourcing platform can set the cracking priority of each password cracking task in the task pool according to the order of the release time of the password cracking task on the crowdsourcing platform from early to late, and the earlier the release time
  • the priority of the cracking can also be combined with the amount of electronic resources and the release time.
  • the crowdsourcing platform can also display the password cracking tasks in the task pool in order of the crack priority from high to low.
  • the bonus of each password cracking task is shown in FIG. 3B.
  • the amount is the amount of electronic resources, and the crack priority is sorted and displayed from high to low.
  • Step 307 Receive a request to execute a task sent by the task inviter device.
  • the task inviter device may send a request to execute the password cracking task in the task pool to the crowdsourcing platform, that is, apply for cracking the password cracking task in the task pool, where the task inviter device may The request directly carries the password cracking task to be selected.
  • Step 308 Select the task from the task pool.
  • the crowdsourcing platform may select the password cracking task carried by the task inviter device in the task pool; The application request for task execution does not carry the password cracking task selected by the task inviter’s device.
  • the crowdsourcing platform can select a password cracking task from the task pool for the task inviter’s device to crack.
  • the crowdsourcing platform When the cracking priority is set for the password cracking task, the crowdsourcing platform can select the password cracking task with the highest cracking priority for the task inviter device.
  • the crowdsourcing platform can also select the task inviter device from the password cracking task in the task pool Randomly choose a password cracking task.
  • Step 309 Determine whether the smart contract corresponding to the selected task is valid.
  • the smart contract corresponding to the selected task can also be called from the blockchain network to confirm whether the smart contract is valid.
  • step 308 is performed again, that is, a task is reselected from the task pool.
  • the case where the smart contract is invalid includes: the crowdsourcing platform fails to call the smart contract from the blockchain network, it can be determined that the smart contract is invalid, or the crowdsourcing platform successfully calls from the blockchain network to the smart Contract, but the smart contract is invalid because its corresponding password cracking task has been executed and other reasons.
  • the interface function provided by the smart contract corresponding to the password cracking task may be invoked based on the address information of the smart contract in the blockchain network.
  • the smart contract is effective means that the password cracking task in the smart contract has not been successfully cracked and paid, and the smart contract is invalid means that the password cracking task in the smart contract has been successfully cracked and paid or forcibly terminated for other reasons.
  • Step 310 Send the selected task to the task inviter device for execution.
  • the crowdsourcing platform When the crowdsourcing platform successfully invokes the smart contract corresponding to the selected password cracking task, it can obtain the password cracking task from the smart contract, and then send the obtained password cracking task to the task inviter device for cracking.
  • Step 311 Receive the execution result sent by the inviter device for the task after executing the task.
  • the task inviter device after the task inviter device obtains the password cracking task sent by the crowdsourcing platform, it can use the computing resources of the task inviter device and crack the password cracking task based on the password brute force enumeration cracking tool, where the password Brute force enumeration cracking tools such as hashcat, enumerate and crack password cracking tasks.
  • the hashcat series software supports the use of CPU, NVIDIA GPU, ATI GPU for password cracking on the hardware, and supports connecting several machines to perform distributed cracking operations.
  • the cracking party can use the "./hashcat-cli32.exe-m500-aash0_hash_stringpasswordlist.txt" command in the hashcat tool to brute force the password cracking task.
  • This command means that the hash_string is the password cracking
  • the task is to perform dictionary mode blasting and cracking (where -a 0 is the specified dictionary mode), hash_string uses md5 encryption (-m 500, which is the specified hash type), and the dictionary file used is passwordlist.txt.
  • the cracking result can be sent to the crowdsourcing platform, and after receiving the cracking result, the crowdsourcing platform executes:
  • Step 312 Send the execution result to the blockchain network, so that the blockchain network verifies the execution result according to the smart contract, and pays the electronic resource according to the verification result.
  • any node in the blockchain network constructs a smart contract corresponding to the task issued by the task issuer device, the smart contract will be synchronously updated to each other in the blockchain network node. Therefore, after receiving the execution result of the task inviter device forwarded by the task control server, any node in the blockchain network can also verify the execution result according to the smart contract and complete the electronic according to the verification result Resource transfer.
  • the execution result is the above-mentioned cracking result.
  • the crowdsourcing platform can call the interface of the smart contract corresponding to the successfully cracked password cracking task, and send the cracking result to the block based on the interface A corresponding smart contract in the chain network, so that the blockchain network verifies the cracking result according to the smart contract, and pays electronic resources according to the verification result.
  • the following describes the specific process of the blockchain network verifying the cracking result according to the smart contract and paying electronic resources according to the verification result, as shown in FIG. 4, the process includes:
  • Step 401 Receive the execution result
  • Step 402 verify whether the execution result is correct, if yes, go to step 403, otherwise go to step 407;
  • Step 403 According to the time when the blockchain network receives the execution result, determine whether the execution result is the first verification correct result corresponding to the task, if yes, perform step 404, otherwise perform step 406;
  • the crowdsourcing platform may call the interface of the smart contract corresponding to the successfully cracked password cracking task and send the cracking result to the corresponding smart contract in the blockchain network based on the interface Therefore, the time when the blockchain network receives the execution result may also be the time when the smart contract in the blockchain network receives the execution result.
  • Step 404 Transfer the electronic resource from the first account address to the second account address; where the first account address is the address of the electronic resource of the task issuer device in the blockchain network, and the second account address is the task inviter device The address of the electronic resources in the blockchain network;
  • Step 405 Send the successful payment information to the task control server.
  • Step 406 Send information indicating that the execution result is not the first successful verification result corresponding to the task to the task control server;
  • Step 407 Send information indicating that the execution result verification fails to the task control server.
  • the blockchain network when receiving the crack result input by the crowdsourcing platform, the blockchain network may verify the crack result, and the crack result is the execution result in FIG. 4.
  • the blockchain network You can call a functional module with password verification in the blockchain through a smart contract, for example, you can call a functional module with oraclize technology, initiate an oraclize request to the functional module, and carry the cracked result and password hash value, or password, in the oraclize request Crack the password in the task.
  • the result of the crack can be called plain text.
  • This function module encrypts the plain text into the hash value using the same algorithm in the orcalize data source based on the crack result and password hash value carried in the oraclize request, and finally compares whether the calculated hash value is consistent with the password hash value passed in. If they match, the verification succeeds, and if they do not match, the verification fails. After completing the above-mentioned verification, the function module feeds back the verification success information or the verification failure information to the smart contract in the blockchain network according to the verification result.
  • the blockchain network receives the successful verification information fed back by the functional module, it can input the input time of the smart contract according to the cracking result to determine whether the cracking result is the first successful verification result for its corresponding password cracking task If it is, the blockchain network can transfer the task issuer device's password to crack the electronic resource provided by the task, from the task issuer device's first account address of the electronic resource in the blockchain network to the task inviter's device at The second account address of the electronic resource in the blockchain network, and then complete the support.
  • the blockchain network can send the successful payment information to the crowdsourcing platform, so that the crowdsourcing platform deletes the password cracking task corresponding to the smart contract in the task pool, and the crowdsourcing platform can also send the successful cracking to the task inviter device and Support successful information. After receiving the information about the completion of the transaction reported by the smart contract, the blockchain network deletes the smart contract after requesting to close the transaction (ie, delete the transaction).
  • the blockchain network determines that the cracking result is not the first successful verification result corresponding to the password cracking task (for example, within a small time interval, there are multiple task inviter devices that have issued the cracking result of the password cracking task, Among them, it has been verified that the crack result of a certain task inviter device in other task inviter devices is correct and the result is the first successful verification result, but the smart contract has not been closed at this time), can send a characterization crack to the crowdsourcing platform The result is not the result of the first verification success corresponding to the password cracking task.
  • the crowdsourcing platform can send the payment failure information to the task inviter's device, or it can carry the payment failure information to indicate that the payment failed because it is not the first verification the key to success.
  • step 402 if the verification result of the blockchain network is not the correct result, the crowdsourcing platform may send information characterizing the failure of the verification of the cracking result, so that the crowdsourcing platform feeds back to the task inviter device Crack the failed information and continue to wait for other crackers to crack the password cracking task in the smart contract.
  • the effective duration of the smart contract can also be set. If the password cracking task in the smart contract is not successfully cracked within the effective duration, the smart contract can be invalidated by the blockchain network, and the The package platform sends the information that the smart contract is invalid, so that the crowdsourcing platform deletes the password cracking task corresponding to the smart contract in the task pool.
  • the smart contract constructor upon receiving the task request issued by the task issuer device, the smart contract constructor can be called from the blockchain network to construct the smart contract corresponding to the task.
  • the smart contract in the network has the characteristics of automatic performance, execution rules and logic transparency, and the result is open and cannot be tampered.
  • the blockchain network executes it according to the smart contract Result verification ensures the accuracy and fairness of the verification results, solves the problem of trust between the task issuer and the task inviter regarding the quality of the execution results, and the blockchain network can automatically execute the electronic through smart contracts based on the verification results
  • the allocation of resources ensures that the remuneration can be smoothly distributed to the task inviter equipment that meets the successful completion of the task. Therefore, the trust issue between the task issuer and the task inviter during the execution of the task is further resolved, and no third party intervention is required. Implementing arbitration simplifies the complexity of task execution. Furthermore, because the results are public and cannot be tampered with during task execution, they also resist illegal operations that falsify results.
  • the blockchain network is allocated to the task inviter's equipment through the smart contract according to the agreement, which ensures that the task inviter obtains the rights and interests of the corresponding remuneration and can attract more task invitations
  • the party has invested more computing resources to perform the task, so it has also improved the efficiency and success rate of the task.
  • the blockchain network is specifically Ethereum
  • the password cracking task released on the crowdsourcing platform is specifically "$1$yQyreloj$VroB091VbXCpywPOTYHcE1”
  • the electronic resource is specifically Ethereum as an example to further explain the method in the embodiments of the present application .
  • the task initiating terminal sends a password cracking task release request to the crowdsourcing platform.
  • the task initiating terminal can be regarded as the device terminal of the task issuer in the above.
  • the task initiating terminal is installed with a crowdsourcing platform application.
  • Perform operations in the crowdsourcing platform application to apply for publishing password cracking tasks For example, click the task release button in the user interface corresponding to the crowdsourcing platform application.
  • the task initiating terminal After the task initiating terminal receives the operation, it sends a password cracking task request to the crowdsourcing platform.
  • the user of the task initiation terminal can be an individual user in the crowdsourcing platform or a system-level user.
  • the task issuer can be the Hubble analysis system.
  • the Hubble analysis system can extract the IoT firmware password and then pass the task
  • the originating terminal sends a password cracking task request to the crowdsourcing platform to publish the IoT firmware password to the crowdsourcing platform, where the IoT firmware password is a password protected by a hash function.
  • the crowdsourcing platform determines that the task initiating terminal has the authority to release the password cracking task, and sends a message to the task initiating terminal to allow the release of the password cracking task.
  • the crowdsourcing platform receives the password cracking task release request sent by the task initiating terminal, and can verify the password cracking task publishing authority of the task initiating terminal, that is, check whether the task initiating terminal has the authority to release the code cracking task. Send a message to the task initiating terminal to allow the release of the password cracking task; otherwise, send a message to the task initiating terminal to refuse to release the password cracking task.
  • the task initiating terminal sends a password cracking task to the crowdsourcing platform and electronic resources paid for executing the password cracking task.
  • the task initiating terminal After the task initiating terminal receives the above message that allows the password cracking task to be released, it can jump to the user interface for the user input task in the crowdsourcing platform application, as shown in FIG. 6, which is the crowdsourcing platform provided in the embodiments of the present application
  • FIG. 6 A schematic diagram of the user interface for the user input task in the application.
  • the application interface includes an option “_mission” for entering a specific password cracking task, and an option “Value” for entering the electronic resource paid for cracking the password cracking task, namely, Ether.
  • you can also include other options such as the option “Account” for the input of the wallet address to issue the password cracking task, and the option “transact” to determine the completion of the input of the password cracking task-related information.
  • the password cracking task entered by the user in the option "_mission" of the user interface is "$1$yQyreloj$VroB091VbXCpywPOTYHcE1".
  • enter the 50 ETH paid for cracking the password cracking task is "$1$yQyreloj$VroB091VbXCpywPOTYHcE1".
  • enter the 50 ETH paid for cracking the password cracking task is "$1$yQyreloj$VroB091VbXCpywPOTYHcE1".
  • the option “Value” enter the 50 ETH paid for cracking the password cracking task.
  • the task initiating terminal can also automatically obtain the wallet address where the user's Ether is located, and it is displayed in the option "Account”.
  • the user can select the option “transact” in the user interface to confirm that
  • the task initiating terminal After the task initiating terminal receives the user-selected option "transact" operation, it can send the task input by the user and the electronic resources paid for performing the task to the crowdsourcing platform, where the sent electronic resources include the amount of 50 Ether and the 50 The wallet address where the ether is located.
  • the crowdsourcing platform sends a smart contract call request to Ethereum to make it feedback the called smart contract constructor.
  • the crowdsourcing platform can specifically send a smart contract calling instruction to Ethereum to call the smart contract constructor in Ethereum, and the smart contract construction
  • the function is a function used to construct a smart contract in Ethereum. Ethereum constructs a corresponding smart contract according to the parameters in the input smart contract constructor.
  • S5 The crowdsourcing platform receives the smart contract constructor sent by Ethereum.
  • the crowdsourcing platform sends the password cracking task and electronic resources sent by the task initiating terminal to Ethereum according to the smart contract constructor.
  • the crowdsourcing platform can send the password initiation task “$1$yQyreloj$VroB091VbXCpywPOTYHcE1” to the task initiating terminal, as well as electronic resources, namely 50 Ethereum and the wallet address where it is located, as a smart contract structure
  • the input parameters of the function are sent to Ethereum.
  • S7 Ethereum constructs a smart contract corresponding to the password cracking task.
  • Ethereum constructs a smart contract corresponding to the password cracking task "$1$yQyreloj$VroB091VbXCpywPOTYHcE1" based on the input parameters of the received smart contract constructor, where the constructed smart contract includes the amount of Ether provided for the password cracking task , The address where the Ether is located, the password cracking task itself that needs to be cracked, and the parameters that characterize whether the password cracking task is valid.
  • a smart contract named “HashHunter” is constructed for Ethereum.
  • “owener” indicates the demander of the password cracking task, that is, the task issuer, and "bounty” is the electronic payment for the password cracking task.
  • the resource is Ethereum, and "mission” is a password string that is to be cracked and protected by a hash, that is, a password cracking task.
  • “isActive” indicates whether the smart contract is still valid. For example, when the value of "isActive” is 1, it indicates that the smart contract is valid. “isActive” when the value is 0 indicates that the smart contract is invalid.
  • S8 Ethereum sends a successful contract construction message to the crowdsourcing platform.
  • the crowdsourcing platform when receiving the smart contract construction information sent by Ethereum, can put the password cracking task corresponding to the smart contract into the task pool, so that the task receiving terminal selects the required task from the task pool Cracked password cracking task.
  • the crowdsourcing platform can prioritize the password cracking tasks corresponding to the smart contract in the manner described above, and then put them into the task pool, and can also control the display order in the task pool according to the execution priority.
  • the task receiving terminal sends a request to perform a password cracking task to the crowdsourcing platform.
  • the task receiving terminal can be regarded as the task inviter device above, and the crowdsourcing platform puts the password cracking task corresponding to the successfully constructed smart contract into the task pool, and then applies it to the task receiving terminal’s crowdsourcing platform application
  • the password cracking task in the task pool can be displayed in the task pool.
  • the user of the task receiving terminal can select the password cracking task that needs to be cracked from the password cracking tasks displayed on the crowdsourcing platform application.
  • the task receiving terminal obtains the password cracking task that the user chooses to crack.
  • a request to perform a password cracking task can be sent to the crowdsourcing platform based on the operation.
  • the crowdsourcing platform selects the password cracking task from the task pool.
  • the crowdsourcing platform sends a request to Ethereum to call the smart contract corresponding to the selected password cracking task to determine whether the smart contract is valid.
  • the crowdsourcing platform can select the password cracking task carried in the task pool; if it is not carried, the crowdsourcing platform starts from the task The pool selects a password cracking task for the task receiving terminal user to crack.
  • the crowdsourcing platform selects the password cracking task for the task receiving end user from the task pool, it can also call the request of the smart contract corresponding to the selected password cracking task, so as to determine the current value of the parameter "isActive" in the smart contract by Determine whether the smart contract is valid, where the crowdsourcing platform may send a request to the Ethereum to invoke the smart contract based on the smart contract's address information in Ethereum.
  • the crowdsourcing platform receives the smart contract related information sent by Ethereum.
  • S14 The crowdsourcing platform determines that the smart contract is valid according to the relevant information of the smart contract.
  • the crowdsourcing platform sends the password cracking task corresponding to the smart contract to the task receiving terminal.
  • the crowdsourcing platform can determine the intelligence according to the current value of the parameter "isActive” in the relevant information of the smart contract Whether the contract is valid, here, assuming that the parameter "isActive” is 1, it means that the smart contract is valid, when the parameter "isActive” is 0, it means that the smart contract is invalid, and it is assumed that the current value of the parameter "isActive” in the smart contract is 1. Then, the crowdsourcing platform can determine that the smart contract is valid and send the password cracking task corresponding to the smart contract to the task receiving terminal for execution, so that the task receiving terminal can execute the password cracking task.
  • the task receiving terminal After receiving the password cracking task sent by the crowdsourcing platform, the task receiving terminal uses its available computing resources to crack the password cracking task.
  • the available computing resources may be the computing resources owned by the task receiving terminal itself, or The computing resources of other terminals available to it.
  • the task receiving terminal When the task receiving terminal completes the cracking of the password cracking task, it can send the cracking result to the crowdsourcing platform, so that the crowdsourcing platform forwards the cracking result to Ethereum.
  • S18 Ethereum verifies that the cracked result is correct according to the smart contract, and determines that the cracked result is the first verified correct result.
  • Ethereum verifies the received crack result according to the smart contract. If the verification is successful, Ethereum can also verify whether the crack result is the first successful verification result for its corresponding password cracking task. If it is, Ethereum Pay the 50 Ether used to pay for its corresponding password cracking task to the task receiving terminal, that is, transfer the 50 Ether from the Ethereum address of the end user who initiated the task to the Ethereum address of the task receiving end user to complete the support .
  • the smart contract may continue to wait for other tasks to receive Crack result of the terminal.
  • the smart contract constructor when receiving the password cracking task request sent by the task initiating terminal, the smart contract constructor can be called from Ethereum to construct a smart contract corresponding to the password cracking task, and after the task receiving terminal implements the password cracking task , Ethereum verifies its cracking results based on smart contracts, ensuring the accuracy and fairness of the verification results, and solving the trust problem between the task initiating terminal and the task receiving terminal regarding the quality of the execution results, and Ethereum can be based on The verification result automatically executes the distribution of Ethereum or reward through a smart contract to ensure that the reward can be smoothly distributed to the task receiving terminal that meets the successful completion of the task.
  • the process of executing the password cracking task between the task initiating terminal and the task receiving terminal is further resolved
  • the trust issue in the process also does not require a third party to intervene in the implementation of arbitration, which simplifies the complexity of the password cracking task. Further, because the result of the password cracking task is public and cannot be tampered with, it also resists the illegal operation of forging the result .
  • an embodiment of the present application provides a task control device.
  • the equipment includes:
  • the receiving unit 80 is configured to receive tasks issued by the task issuer device and electronic resources corresponding to performing the tasks;
  • the sending unit 81 is configured to send the task and the electronic resource to the blockchain network, so that the blockchain network constructs a smart contract corresponding to the task;
  • the receiving unit 80 is configured to receive the execution result sent by the task inviter device after performing the task;
  • the sending unit 81 sends the execution result to the blockchain network, so that the blockchain network verifies the execution result according to the smart contract, and sends a request to the task inviter device according to the verification result Transfer the electronic resources.
  • the device further includes: a calling unit 82;
  • the calling unit 82 is configured to send a smart contract calling instruction to the blockchain network so that it can feedback the called smart contract constructor;
  • the receiving unit 80 is further used to receive a smart contract constructor returned by the blockchain network;
  • the sending unit 81 is further configured to send the task and the electronic resource to the blockchain network as input parameters of the smart contract constructor.
  • it further includes a selection unit 83 for:
  • it further includes a setting unit 84 for:
  • the selection unit 83 is also used to:
  • the set conditions include:
  • the release time of the task where the earlier the release time, the higher the execution priority.
  • the calling unit 82 is configured to:
  • a deletion unit 85 is further included, which is used to:
  • the receiving unit 80 is further configured to: receive a confirmation message sent by the blockchain network that the contract has been fulfilled; the confirmation message is based on the smart contract of the blockchain network according to the smart contract. The verification result is generated after transferring the electronic resource to the task inviter device;
  • the electronic resources sent to the blockchain network further include the first account address of the electronic resources in the blockchain network and the number of the electronic resources, the sending Unit 81 is also used to:
  • the sending unit further sends the second account address of the task inviter device to the blockchain network; wherein, when the verification result is correct, the blockchain network is verifying according to the smart contract When the execution result is correct, the electronic resource is transferred from the first account address to the second account address.
  • a computing device is provided in an embodiment of the present application. As shown in FIG. 9, it includes at least one processor 90 and at least one memory 91.
  • the embodiment of the present application does not limit the processor 90 and the memory 91.
  • the specific connection medium in FIG. 9 is an example of the connection between the processor 90 and the memory 91 through the bus 92.
  • the bus 92 is indicated by a thick line in FIG. 9, in which the memory 91 stores a computer program. When the program is processed When executed by the processor 90, the processor 90 is caused to execute the steps of the task processing method provided in the embodiments of the present application.
  • a storage medium is provided in an embodiment of the present application, and the storage medium stores computer instructions, and when the computer instructions run on the computer, the computer is caused to perform the task processing method provided in the embodiments of the present application A step of.
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer usable program code.
  • a computer usable storage media including but not limited to disk storage and optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, the instructions
  • the device implements the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device
  • the instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种任务的处理方法、***、设备及存储介质,所述方法包括:接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源;向区块链网络发送所述任务以及所述电子资源,以使所述区块链网络构造与所述任务对应的智能合约;接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果;将所述执行结果发送给所述区块链网络,以使所述区块链网络根据所述智能合约对所述执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源。

Description

任务处理方法、***、设备及存储介质
本申请要求于2018年12月11日提交中国专利局、申请号为201811510203.X、名称为“公开邀约任务处理方法、***、设备及存储介质”的中国专利申请的优先权,上述申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及互联网技术领域,尤其涉及一种任务处理方法、***、设备及存储介质。
背景
目前,随着互联网的发展,为了提高解决待处理的高强度任务的可能性,网络上的一些平台允许发布方发布公开邀约任务,以寻找任务完成方来执行该公开邀约任务,在任务完成方完成该公开邀约任务后,任务发布方向任务完成方支付报酬。
技术内容
本申请实施例提供的一种任务处理方法,包括:
接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源;
向区块链网络发送所述任务以及所述电子资源,以使所述区块链网络构造与所述任务对应的智能合约;
接收任务应邀方设备在执行实施所述任务后发送的所述任务对应的执行结果;
将所述执行结果发送给所述区块链网络,以使所述区块链网络根据所述智能合约对所述执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源。
本申请实施例还提供一种任务控制***,包括任务控制子***和智能合约控制子***:
所述任务控制子***,用于接收任务发布方设备发布的任务以及与执行所 述任务对应的电子资源,将所述任务以及所述电子资源发送给所述智能合约控制子***;
所述智能合约控制子***,用于根据接收到的所述任务以及所述电子资源,构造与所述任务对应的智能合约;
所述任务控制子***,进一步用于接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果;并将所述执行结果发送给所述智能合约控制子***;
所述智能合约控制子***,进一步用于根据所述智能合约对所述任务控制子***发送的执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源,所述执行结果为所述任务应邀方设备在执行所述任务后,针对所述任务发送给所述任务控制子***的。
本申请实施例还提供了一种任务控制设备,包括:
接收单元,用于接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源;
发送单元,用于向区块链网络发送所述任务以及所述电子资源,以使所述区块链网络构造与所述任务对应的智能合约;
所述接收单元,用于接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果;
所述发送单元,用于将所述执行结果发送给所述所述区块链网络中,以使所述区块链网络根据所述智能合约对所述执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源。
本申请实施例还提供的一种计算设备,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行本申请实施例提供的任务处理方法的步骤。
本申请实施例还提供了一种非易失性计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本申请实施例提供的任务处理方法的步骤。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例中的一种应用场景示意图;
图2A为本申请实施例中的一种任务控制***示意图;
图2B为本申请实施例中的一种任务处理方法流程图;
图3A为本申请实施例中的一种任务处理方法流程图;
图3B为本申请实施例中的各任务在任务池中显示的示意图;
图4为本申请实施例中的智能合约根据验证结果转移电子资源的流程图;
图5为本申请实施例中的密码破解任务处理方法流程图;
图6为本申请实施例中的一种任务发布输入界面示意图;
图7为本申请实施例中的构造的智能合约示意图;
图8为本申请实施例中的一种任务控制设备示意图;
图9为本申请实施例中的一种计算设备示意图。
实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
智能合约:即Smart contract,是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
以太坊:即Ethereum,是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币Ether提供去中心化的虚拟机(“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。
众包:是指把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众网络的做法。
密码破解:是指使用暴力枚举的方式,构造或者使用现有的字典文件,对给定的密码哈希值进行尝试,还原出密码原文的攻击方法。
区块链技术:是指利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
哈勃分析***:是一种安全辅助平台,用户可以通过简单的操作,上传样本并得知样本的基本信息、可能产生的行为、安全等级等等信息,从而更便捷地识别恶意文件。
相关技术中,任务发布方可在网络平台发布公开邀约任务,网络平台中的任务完成方完成公开邀约任务之后,若任务发布方对任务完成方的完成质量不满意,可能存在不支付任务完成方或不按照约定支持任务完成方的情况,就会造成任务完成方与任务发布方之间的不信任问题,若平台或第三方介入实施仲裁,也会存在发布方与任务完成方不信任第三方或平台仲裁结果,所以,相关技术中在执行任务过程,存在发布方和任务完成方之间的不信任的问题。
鉴于此,本申请实施例提供了一种任务处理方法,该方法在接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源时,向区块链网络发送接收到的任务以及电子资源,即将任务发布方设备发布的任务以及与执行该任务对应的电子资源,作为智能合约构造函数的输入参数发送给所述区块链网络用以构造与任务对应的智能合约,并在获得任务应邀方设备在执行任务后针对该任务发送的执行结果时,将执行结果发送给所述区块链网络,进而可以通过所述区块链网络根据智能合约验证执行结果以及根据验证结果自动执行电子资源的分配,由于所述区块链网络的智能合约自动化履约,规则透明,逻辑透明,任务实施产生的数据均存储在区块链上,公开且无法篡改,所以消除了任务发布方和任务应邀方之间的不信任关系,也不需要第三方介入实施仲裁,所以也简化了任务执行的复杂度,同时抵御了伪造结果的非法操作。
进一步的,由于该方法中在任务被成功执行完成之后,由所述区块链网络按照智能合约的约定分配给任务应邀方设备相应的资源,保证了任务应邀方的获 取对应报酬的权益,能够吸引更多的任务应邀方投入更多的计算资源执行任务,所以,也提升了任务的执行效率和成功率。
需要说明的是,本申请实施例中的任务可以是任何能够在网络平台上发布、且可由网络平台用户自由选择并利用其计算资源执行的公开邀约任务,这样的公开邀约任务如为进行密码安全强度评估而公开发布的密码破解任务,如为需求答案而公开发布的疑难问题任务等等。
本申请实施例中的任务处理方法可以应用于如图1所示的应用场景,该应用场景中包括第一用户终端10、第二用户终端11、任务控制计算设备以及区块链网络。
在一些实施例中,如图1中所示,任务控制计算设备可以为任务控制服务器12,任务控制服务器12可以是一台服务器,也可以是若干台服务器组成的服务器集群或云计算中心。
区块链网络是由多个节点参与的分布式数据库***,包括多个节点,该区块链网络中包括至少一个具有智能合约功能的公共区块链。在图1中所示的实施例中,该区块链网络由多个节点构成,该区块链网络中的节点13支持具有智能合约功能的公共区块链。其中,在区块链网络中具有智能合约功能的公共区块链如以太坊、超级账本Hyperledger、RSK等。
第一用户终端10与第二用户终端11可以为具备网络通讯能力的电子设备,该电子设备可以是智能手机、平板电脑、便携式个人计算机或其他智能终端等等。
在一些实施例中,任务控制服务器12可以与第一用户终端10、第二用户终端11以及所述区块链网络中的任一节点13通过网络进行通讯,其中,网络可以为局域网、广域网或移动互联网等通信网络中的任意一种。
第一用户终端10与第二用户终端11中安装有任务控制服务器12支持的客户端。第一用户终端10与第二用户终端11可以基于各自安装的客户端与任务控制服务器12进行通讯。
在该场景中,第一用户终端10可以作为任务发布方设备,通过其安装的客户端在任务控制服务器12中发布任务。第二用户终端11可以作为任务应邀方设备,通过其安装的客户端从任务控制服务器12申请任务进行破解,当然,第一用户终端10也可以为任务应邀方设备,申请任务进行破解,第二用户终端11可以为任务发布方设备,发布任务。
需要注意的是,上文提及的应用场景仅是为了便于理解本申请的精神和原理而示出,本申请实施例在此方面不受任何限制。相反,本申请实施例可以应用于适用的任何场景。
下面结合图1所示的应用场景,对本申请实施例提供的任务控制方案进行说明。
请参考图2A,本申请实施例提供了一种任务控制***,该***包括任务控制子***20以及智能合约控制子***21,其中,任务控制子***20可以理解为图1所示应用场景中的任务控制服务器12,智能合约控制子***21可以理解为图1所示应用场景中的支持具有智能合约功能的公共区块链。
在本申请实施例中,任务控制子***20用于在接收到任务发布方22发布的任务以及与执行任务对应的电子资源时,从智能合约控制子***21调用智能合约构造函数,并将任务发布方发布的任务以及与执行该任务对应的电子资源,作为智能合约构造函数的输入参数发送给智能合约控制子***21。
智能合约控制子***21用于根据接收到的任务以及与执行该任务对应的电子资源,构造与任务对应的智能合约;以及接收任务控制子***20发送的执行结果,并根据所述智能合约对执行结果进行验证,并根据验证结果向任务应邀方设备转移电子资源,该执行结果为任务应邀方设备23实施任务后,针对该任务发送给任务控制子***20的。
结合图1所示的应用场景以及图2A所示的任务控制***,本申请实施例提供了一种任务处理方法,由图1所示应用场景中的任务控制服务器12执行。不失一般性的假设,图1中的第一用户终端10为任务发布方设备,第二用户终端11为任务应邀方设备。如图2B所示,该任务处理方法,包括以下步骤:
S201,接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源。
在一些实施例中,任务控制服务器接收任务发布方通过任务发布方设备上的客户端发布的任务和执行该任务对应的电子资源。
其中,电子资源是指区块链中用来支付交易手续费和运算服务费的媒介,区块链中不同公共区块链平台可以有属于该平台的电子资源,如以太坊区块链中的以太币即Ether,即以太坊区的代币(电子资源),它是以太坊上用来支付交易 手续费和运算服务费的媒介。
S202,向区块链网络发送所述任务以及所述电子资源,以使所述区块链网络构造与所述任务对应的智能合约。
在一些实施例中,任务控制服务器可以向所述区块链网络发送智能合约调用指令,以使其反馈被调用的智能合约构造函数;接收所述区块链网络返回的智能合约构造函数;并将所述任务以及所述电子资源作为所述智能合约构造函数的输入参数发送给所述区块链网络,以使其根据接收到的输入参数,构造与任务发布方设备发布的任务对应的智能合约。
需要说明的是,可以向所述区块链网络中的任一节点发送智能合约调用指令,根据其反馈的智能合约构造函数,将所述任务以及所述电子资源作为所述智能合约构造函数的输入参数发送给所述区块链网络的该节点,该节点根据所述任务以及所述电子资源构造所述任务对应的智能合约后,会将该智能合约同步更新至所述区块链网络中的其他的各个节点。这样,所述区块链网络中的任一节点在接收到任务控制服务器转发的任务应邀方设备的执行结果后,都可以根据所述智能合约对该执行结果进行验证,并根据验证结果完成电子资源的转移。
S203,接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果。
在一些实施例中,在接收任务应邀方实施所述任务后发布的执行结果之前,任务控制服务器将所述任务放入任务池;接收所述任务应邀方设备发送的申请执行任务请求;从所述任务池选择任务;并将所选择的任务发送给所述任务应邀方设备执行。
在一些实施例中,可以按照设定的条件,为所述任务池中的任务设置执行优先级,在从所述任务池选择任务时,可以从所述任务池选择执行优先级最高的任务。其中,所述设定的条件包括:电子资源的额度,其中,额度越高则执行优先级越高;或者任务的发布时间,其中,发布时间越早则执行优先级越高。
在一些实施例中,任务应邀方设备在向任务控制服务器发送申请执行任务请求时,可以将申请执行的任务的任务标识携带在该申请执行任务请求中。从所述任务池选择任务时,可以在从所述任务池中,根据所述申请执行任务请求中携带的申请执行的任务标识,选择所述任务标识对应的任务。
在一些实施例中,从所述任务池选择任务之后,所述任务控制服务器还可以向所述区块链网络发送智能合约调用请求,以调用所选择的任务对应的智能合约,并确认所述智能合约是否有效;如果确认所述智能合约有效,则将所选择的任务发送给所述任务应邀方设备执行;以及如果确认所述智能合约无效,则从所述任务池中删除对应的任务,并从所述任务池中重新选择任务。
S204,将所述执行结果发送给区块链网络,以使其根据所述智能合约对所述执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源。
如前所述,所述区块链网络中的第一节点构造与任务发布方设备发布的任务对应的智能合约后,会将该智能合约同步更新至所述区块链网络中的其他的各个节点。因此,所述区块链网络中的第二节点在接收到任务控制服务器转发的任务应邀方设备的执行结果后,也可以根据所述智能合约对该执行结果进行验证,并根据验证结果完成电子资源的转移,所述第二节点可以与第一节点相同,也可以不同。
在一些实施例中,所述任务应邀方设备在完成任务之后,通过第二用户终端上的客户端将执行结果发送至所述任务控制服务器,所述任务控制服务器将接收到的所述执行结果发送给所述区块链网络之后,还可以接收所述区块链网络发送的合约已履行的确认消息;所述确认消息为所述区块链网络在根据所述验证结果向任务应邀方设备转移所述电子资源后生成的;从所述任务池中删除对应的任务。
在一些实施例中,所述向所述区块链网络发送所述电子资源包括:向所述区块链网络发送所述任务发布方设备的第一账户地址和所述电子资源的数量;所述方法进一步包括:将所述任务应邀方设备的第二账户地址发送给所述区块链网络;其中,当所述验证结果正确时,所述区块链网络将所述电子资源从所述第一账户地址转移到所述第二账户地址,进而使任务应邀方设备获取对应的报酬。
在本发明实施例中,在接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源时,向区块链网络发送接收到的任务以及电子资源,即将任务发布方设备发布的任务以及与执行该任务对应的电子资源,作为智能合约构造函数的输入参数发送给所述区块链网络用以构造与任务对应的智能合约,并在获得任务应邀方设备在执行任务后针对该任务发送的执行结果时,将执行结果发送给 所述区块链网络,进而可以使所述区块链网络根据智能合约验证执行结果以及根据验证结果自动执行电子资源的分配,由于区块链网络中的节点中的智能合约自动化履约,规则透明,逻辑透明,任务实施产生的数据均存储在区块链上,公开且无法篡改,所以消除了任务发布方和任务应邀方之间的不信任关系,也不需要第三方介入实施仲裁,所以也简化了任务执行的复杂度,同时抵御了伪造结果的非法操作。
基于同一发明构思,本申请实施例提供了一种任务处理方法,为叙述方便,在下文中以任务具体为密码破解任务,任务控制服务器为众包服务器为例,结合上述应用场景,对本申请实施例中的任务处理方法进行详细叙述。
如图3A所示,本申请实施例中的任务处理方法,由任务控制服务器执行,也即由众包服务器执行,包括:
步骤301:接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源。
在本申请实施例中,众包平台可以理解为由众包服务器实现,众包平台接收任务发布方设备发布的任务以及与执行任务对应的电子资源的方式包括多种,例如,一种方式是:众包平台可先接收任务发布方发送的密码破解任务的发布请求,然后,众包平台查看任务发布方设备是否具有发布任务的权限,若任务发布方设备具有发布任务的权限,向任务发布方设备发送表征任务发布方设备可发布任务的确认信息,任务发布方设备接收到该确认消息之后,再向众包平台发送任务以及与执行任务对应的电子资源。
另一种方式是:任务发布方设备在发布的密码破解任务请求中携带任务以及与执行任务对应的电子资源,众包平台接收该请求,并从该请求中获取携带的任务以及与执行任务对应的电子资源;再一种方式是:任务发布方设备直接在众包平台提供的发布窗口发布任务以及与执行该任务对应的电子资源,进而使众包平台直接接收到任务发布方设备的密码破解任务以及与执行该任务对应的电子资源。
其中,上述列举的前两种方式中众包平台接收密码破解任务请求的方法包括多种,例如,众包平台可在用户交互界面提供用于发布密码破解任务的选项,通过任务发布方设备选择该选项的方式,获得任务发布方设备发布的密码破解任务请求,也可以通过接收任务发布方设备以语音输入方式或文本输入方式发布的 密码破解任务请求。
其中,密码破解任务中的密码,可以为任何需要进行密码安全强度评估的密码,这样的密码如网络环境中部署的应用服务的密码、服务器的密码、文件的密码等等。密码破解任务中的密码可以是基于哈希函数加密的密码,也可以是基于其他加密技术进行加密的密码。
步骤302:向区块链网络中发送智能合约调用指令,以使其反馈被调用的智能合约构造函数。
在本申请实施例中,步骤302中的区块链网络可以理解为具有智能合约功能的公共区块链。在实际应用中,区块链网络中可以包括一个或多个具有智能合约功能的公共区块链,不同公共区块链可拥有与不同的智能合约构造函数,也可以具有通用的智能合约构造函数,上述公共区块链可以是以太网坊等。众包平台在接收到任务发布方设备发布的密码破解任务请求时,可以从区块链网络包括的多个公共区块链中,选择众包平台支持的一个公共区块链,用于构建与密码破解任务对应的智能合约。
在本申请实施例中,如果区块链网络中不同公共区块链拥有不同的智能合约构造函数,也即不同公共区块链拥有与其对应的智能合约构造函数,众包平台从其支持的公共区块链中选择一个公共区块链,并向选择的公共区块链发送智能合约调用指令,以使其反馈被调用的智能合约构造函数;如果区块链中不同公共区块链拥有通用的智能合约构造函数,那么,众包平台可向区块链网络发送智能合约调用指令,以使其反馈被调用的区块链中通用的智能合约构造函数。
在此,以区块链网络中不同公共区块链拥有与各自对应的智能合约构造函数为例,那么,众包平台可从其支持的公共区块链中选择的一个公共区块链,并向选择的公共区块链发送智能合约调用指令,以使其反馈被调用的智能合约构造函数。不失一般性假设,本申请中的区块链网络中的各个节点都具有智能合约功能,因此,在向区块链网络发送智能合约调用指令时,可以向图1中所示的所述区块链网络中的任一节点13发送智能合约调用指令。该节点13根据所述任务以及所述电子资源构造所述任务对应的智能合约后,会将该智能合约同步更新至所述区块链网络中的其他的各个节点。这样,所述区块链网络中的任一节点在接收到任务控制服务器转发的任务应邀方设备的执行结果后,都可以根据所述智能合约对该执行结果进行验证,并根据验证结果完成电子资源的转移。
步骤303:根据智能合约构造函数,向所述区块链网络发送任务发布方发布的任务以及与执行该任务对应的电子资源。
所述众包平台根据调用的智能合约构造函数,可将任务发布方设备发布的密码破解任务以及与破解密码破解任务对应的电子资源,作为该智能合约构造函数的输入参数发送给所述区块链网络,所述区块链网络根据接收到的输入参数,构造与任务发布方发布的密码破解任务对应的智能合约。
其中,电子资源是指区块链中用来支付交易手续费和运算服务费的媒介,区块链中不同公共区块链平台可以有属于该平台的电子资源,如以太坊区块链中的以太币即Ether,即以太坊区的代币(电子资源),它是以太坊上用来支付交易手续费和运算服务费的媒介。
步骤304:接收所述区块链网络发送的智能合约构造成功消息。
在本申请实施例中,在所述区块链网络构造与密码破解任务对应的智能合约之后,可以向众包平台发送智能合约构造成功的消息,还可以在该消息中还可携带构造的智能合约的地址信息,用于众包平台在后续过程中根据该地址信息调用或查看该智能合约。因此,本申请实施例中众包平台还可以执行步骤304即接收到所述区块链网络发送的智能合约构造成功的消息。
步骤305:将任务放入任务池。
在本申请实施例中,众包平台可设置任务池,用于存放待破解的密码破解任务以供破解者从任务池中选择待破解的密码破解任务。众包平台接收到所述区块链网络反馈的智能合约构造成功消息后,可将该智能合约对应的密码破解任务放入任务池中,以供破解者从任务池中选择待破解的密码破解任务。
步骤306:按照设定的条件,为任务池中的任务设置执行优先级。
在本申请实施例中,众包平台还可以按照设定的条件,为任务池中的密码破解任务设置破解优先级,其中,设定的条件可以包括密码破解任务对应的电子资源的额度或密码破解任务在众包平台的发布时间,例如,众包平台可根据密码破解任务对应的电子资源的额度从高到低的顺序,设定任务池中每个密码破解任务的破解优先级,额度越高破解优先级越高,当然,众包平台可根据密码破解任务在众包平台的发布时间从早到晚的顺序,设定任务池中每个密码破解任务的破解优先级,发布时间越早则破解优先级越高,也可以结合电子资源的额度及发布时间进行破解优先级排序。
在本申请实施例中,如图3B所示,众包平台还可以按照破解优先级的从高到低的顺序,依次显示任务池中的密码破解任务,图3B中按照各密码破解任务的奖金金额即电子资源额度,从高到低进行破解优先级排序并显示,当然,也可以选择按照发布时间,或结合电子资源的额度及发布时间进行破解优先级排序并显示。
步骤307:接收所述任务应邀方设备发送的申请执行任务请求。
在本申请实施例中,任务应邀方设备可以向众包平台发送申请执行任务池中的密码破解任务的请求,即申请对任务池中的密码破解任务进行破解,其中,任务应邀方设备可以在该请求中直接携带所要选择的密码破解任务。
步骤308:从任务池选择任务。
在本申请实施例中,当上文中的申请执行任务请求携带任务应邀方设备所要选择的密码破解任务,众包平台可以在任务池中为任务应邀方设备选择携带的密码破解任务;当上文中的申请执行任务请求未携带任务应邀方设备所要选择的密码破解任务,可由众包平台从任务池中为任务应邀方设备选择一个密码破解任务进行破解,例如,在众包平台对任务池中的密码破解任务设置了破解优先级时,众包平台可以为任务应邀方设备选择当前破解优先级最高的密码破解任务,当然,众包平台也可以从任务池的密码破解任务中为任务应邀方设备随机选择一个密码破解任务。
步骤309:确定所选择的任务对应的智能合约是否有效。
在本申请实施例中,在从任务池选择任务之后,还可以从所述区块链网络中调用所选择的任务对应的智能合约,以确认该智能合约是否有效。
若确认该智能合约无效,则从所述任务池中删除对应的任务,并重新执行上述步骤308,即从所述任务池中重新选择任务。
其中,智能合约无效的情况包括:众包平台从所述区块链网络未成功调用到智能合约,则可确定该智能合约无效,或众包平台从所述区块链网络成功调用到该智能合约,但该智能合约由于其对应的密码破解任务已被执行等原因导致其无效。
在一些实施例中,可以通过密码破解任务对应的智能合约提供的接口函数,并基于智能合约在所述区块链网络中的地址信息调用该智能合约。其中,智能合约有效表示智能合约中的密码破解任务还未被成功破解并支付,智能合约无效表 示智能合约中的密码破解任务已被成功破解且已支付或因为其他原因被强制终止。
若确认该智能合约有效时,执行
步骤310:将所选择的任务发送给任务应邀方设备执行。
在众包平台成功调用到所选择的密码破解任务对应的智能合约时,可从该智能合约中获取密码破解任务,然后将获取的密码破解任务发送给任务应邀方设备进行破解。
步骤311:接收任务应邀方设备在执行任务后针对该任务发送的执行结果。
在本申请实施例中,任务应邀方设备获得众包平台发送的密码破解任务之后,可使用任务应邀方设备的计算资源,并基于密码暴力枚举破解工具对密码破解任务进行破解,其中,密码暴力枚举破解工具例如hashcat,对密码破解任务进行枚举破解。其中,hashcat系列软件在硬件上支持使用CPU、NVIDIA GPU、ATI GPU来进行密码破解,并且支持将几台机器连接起来,进行分布式破解作业。
例如破解方在得到任务后,可以使用hashcat工具中“./hashcat-cli32.exe -m 500 -a 0 hash_string passwordlist.txt”命令,对密码破解任务进行暴力破解,该命令表示对hash_string即密码破解任务进行字典模式***破解(其中,-a 0为指定使用的字典模式),hash_string使用md5加密方式(-m 500,为指定的hash类型),使用的字典文件为passwordlist.txt。
若任务应邀方设备成功破解密码破解任务,可在将破解结果发送给众包平台,众包平台接收该破解结果之后,执行:
步骤312:将执行结果发送给所述区块链网络,以使所述区块链网络根据所述智能合约对执行结果进行验证,并根据验证结果支付电子资源。
如前所述,所述区块链网络中的任一节点构造与任务发布方设备发布的任务对应的智能合约后,会将该智能合约同步更新至所述区块链网络中的其他的各个节点。因此,所述区块链网络中的任一节点在接收到任务控制服务器转发的任务应邀方设备的执行结果后,也可以根据所述智能合约对该执行结果进行验证,并根据验证结果完成电子资源的转移。
其中,执行结果即为上文中的破解结果,在具体实践过程中,众包平台可通过调用被成功破解的密码破解任务对应的智能合约的接口,基于该接口将破解结果发送给所述区块链网络中对应的智能合约,以使所述区块链网络根据所述智 能合约对破解结果进行验证,并根据验证结果支付电子资源。
下面介绍所述区块链网络根据所述智能合约验证破解结果以及根据验证结果支付电子资源的具体过程,如图4所示,该过程包括:
步骤401:接收执行结果;
步骤402:验证执行结果是否正确,若是,则执行步骤403,否则执行步骤407;
步骤403:根据所述区块链网络接收到执行结果的时间,确定执行结果是否为所述任务对应的第一个验证正确的结果,若是,则执行步骤404,否则执行步骤406;
在一些实施例中,如前所述,众包平台可通过调用被成功破解的密码破解任务对应的智能合约的接口,基于该接口将破解结果发送给所述区块链网络中对应的智能合约,因此,所述区块链网络接收到执行结果的时间也可以是所述区块链网络中的智能合约接收到执行结果的时间。
步骤404:将电子资源从第一账户地址转到第二账户地址;其中,第一账户地址为任务发布方设备的电子资源在区块链网络中的地址,第二账户地址为任务应邀方设备的电子资源在区块链网络中的地址;
步骤405:向任务控制服务器发送支付成功的信息。
步骤406:向任务控制服务器发送表征执行结果不是所述任务对应的第一个验证成功结果的信息;
步骤407:向任务控制服务器发送表征执行结果验证未通过的信息。
在本申请实施例中,所述区块链网络在接收到众包平台输入的破解结果时,可对该破解结果进行验证,破解结果即为图4中的执行结果,所述区块链网络可通过智能合约调用区块链中的具有密码验证的功能模块,例如可调用具有oraclize技术的功能模块,向该功能模块发起一个oraclize请求,并在oraclize请求中携带破解结果以及密码hash值即密码破解任务中的密码,其中,携带的破解结果又可称为明文。该功能模块基于oraclize请求中携带的破解结果以及密码hash值,在orcalize的数据源中将明文使用相同的算法加密成hash值,最后比较计算出的hash值与传递进来的密码hash值是否一致,如果一致则验证成功,若不一致则验证失败。该功能模块在完成上述验证之后,根据验证结果,向所述区块链网络中的智能合约反馈验证成功的信息或反馈验证失败的信息。
若所述区块链网络接收到该功能模块反馈的验证成功的信息,可根据破解结果输入智能合约的输入时间,确定破解结果是否为针对其对应的密码破解任务的第一个验证成功的结果,若是,所述区块链网络可将任务发布方设备转移密码破解任务提供的电子资源,从任务发布方设备在区块链网络中的电子资源的第一账户地址转到任务应邀方设备在区块链网络中电子资源的第二账户地址,进而完成支持。
所述区块链网络可以向众包平台发送支付成功的信息,以便众包平台删除任务池中与所述智能合约对应的密码破解任务,众包平台也可向任务应邀方设备发送破解成功以及支持成功的信息。所述区块链网络接收到所述智能合约反馈的交易完成,请求关闭交易(即删除交易)的信息后,删除该智能合约。
若所述区块链网络确定破解结果不是密码破解任务对应的第一个验证成功的结果(例如,相差较小时间间隔内,存在多个任务应邀方设备对发布该密码破解任务的破解结果,其中已验证其他任务应邀方设备中的某个任务应邀方设备的破解结果正确且该结果是第一个验证成功的结果,而此时智能合约还未关闭),可向众包平台发送表征破解结果不是密码破解任务对应的第一个验证成功的结果,众包平台可向任务应邀方设备发送支付失败的信息,也可在支付失败的信息中携带表征支付失败是因为其不是第一个验证成功的原因。
在本申请实施例中,在步骤402中若所述区块链网络验证破解结果不是正确的结果,可向众包平台发送表征破解结果验证失败的信息,以便众包平台向任务应邀方设备反馈破解失败的信息,并继续等待其他破解者破解智能合约中的密码破解任务。
在本申请实施例中,还可以设置智能合约有效时长,若在有效时长内,该智能合约中的密码破解任务未被成功破解,所述区块链网络可无效该智能合约,还可以向众包平台发送该智能合约无效的信息,以便众包平台删除任务池中与该智能合约对应的密码破解任务。
所以,通过上述方法,在本申请实施例中,在接收到任务发布方设备发布的任务请求时,可以从区块链网络调用智能合约构造函数,构造与任务对应的智能合约,由于区块链网络中的智能合约具有自动化履约,执行规则及逻辑透明,结果公开且无法篡改的特征,所以,在任务应邀方设备实施其选择的任务后,由区块链网络根据所述智能合约对其执行结果验证,保证了验证结果的准确性和公 正性,解决了任务发布方与任务应邀方之间就执行结果质量之间的信任问题,且区块链网络可根据验证结果通过智能合约自动执行电子资源的分配,保证报酬能够顺利分配到符合成功完成任务的任务应邀方设备,所以,进一步解决了任务发布方与任务应邀方之间在执行任务过程中的信任问题,同时也不需要第三方介入实施仲裁,简化了任务执行的复杂度,进一步的,由于执行任务过程中结果公开且无法篡改,所以也抵御了伪造结果的非法操作。
进一步的,由于该方法中在任务被成功执行完成之后,由区块链网络通过智能合约按照约定分配给任务应邀方设备,保证了任务应邀方获取对应报酬的权益,能够吸引更多的任务应邀方投入更多的计算资源执行任务,所以,也提升了任务的执行效率和成功率。
下文以区块链网络具体为以太坊,在众包平台中发布的密码破解任务具体为“$1$yQyreloj$VroB091VbXCpywPOTYHcE1”,电子资源具体为以太币为例,来对本申请实施例中的方法进一步说明。
基于众包平台和具有智能合约功能的以太坊的密码破解任务的控制流程可如图5所示,包括:
S1:任务发起终端向众包平台发送密码破解任务的发布请求。
在本申请实施例中,任务发起终端可视为上文中的任务发布方的设备终端,任务发起终端中安装有众包平台应用,当然还可以安装有其他类型的应用,任务发起终端的用户在众包平台应用中进行操作,以申请发布密码破解任务,例如点击众包平台应用对应的用户界面中的任务发布按钮,任务发起终端接收到该操作之后,向众包平台发送密码破解任务请求。
其中,任务发起终端的用户可以为众包平台中的个体用户,也可以为***级用户,例如任务发布方可为哈勃分析***,那么,哈勃分析***可提取IoT固件密码,然后通过任务发起终端向众包平台发送密码破解任务请求,以便将IoT固件密码发布到众包平台中,其中,IoT固件密码为经过哈希函数进行保护的密码。
S2:众包平台确定任务发起终端具有密码破解任务的发布权限,向任务发起终端发送允许发布密码破解任务的消息。
众包平台接收到任务发起终端发送的密码破解任务的发布请求,可对任务发起终端进行密码破解任务发布权限的鉴定,即查看任务发起终端是否具有发布 码破解任务的权限,若具有权限,则向任务发起终端发送允许发布密码破解任务的消息,否则,向任务发起终端发送拒绝其发布密码破解任务的消息。
S3:任务发起终端向众包平台发送密码破解任务以及为执行该密码破解任务支付的电子资源。
任务发起终端接收到上述允许发布密码破解任务的消息之后,可跳转到众包平台应用中用于用户输入任务的用户界面,如图6所示,为本申请实施例中提供的众包平台应用中用于用户输入任务的用户界面的示意图,在该应用界面包括选项“_mission”用于输入具体的密码破解任务,选项“Value”用于输入为破解密码破解任务支付的电子资源即以太币,当然还可以包括其他选项如用于输入的发布密码破解任务的钱包地址的选项“Account”,以及确定密码破解任务相关信息输入完成的选项“transact”等。
用户在该用户界面的选项“_mission”中输入的密码破解任务为“$1$yQyreloj$VroB091VbXCpywPOTYHcE1”,在选项“Value”中输入为破解该密码破解任务支付的50以太币,还可以在选项“Account”输入用户以太币所在的钱包地址,当然,任务发起终端也可以自动获取用户以太币所在的钱包地址,并在选项“Account”中现实。待上述信息输入完成之后,用户可选择用户界面中的选项“transact”以确定信息输入完成。
任务发起终端接收到用户选择选项“transact”操作之后,可将用户输入的任务以及为执行任务支付的电子资源发送给众包平台,其中,发送的电子资源包括其金额即50以太币以及该50以太币所在的钱包地址。
S4:众包平台向以太坊发送智能合约调用请求,以使其反馈被调用的智能合约构造函数。
众包平台接收到任务发起终端发送的密码破解任务以及为执行密码破解任务支付的电子资源之后,具体可以向以太坊发送智能合约调用指令,以调用以太坊中的智能合约构造函数,智能合约构造函数是以太坊中用于构造智能合约的函数,以太坊根据输入智能合约构造函数中参数,构造对应的智能合约。
S5:众包平台接收到以太坊发送的智能合约构造函数。
S6:众包平台根据智能合约构造函数,将任务发起终端发送的密码破解任务以及电子资源发送给以太坊。
众包平台接收到以太坊发送的智能合约构造函数之后,可将任务发起终端 发送密码破解任务“$1$yQyreloj$VroB091VbXCpywPOTYHcE1”,以及电子资源即50以太币和其所在的钱包地址,作为智能合约构造函数的输入参数发送给以太坊。
S7:以太坊构造与密码破解任务对应的智能合约。
以太坊根据接收到的智能合约构造函数的输入参数,构造与密码破解任务“$1$yQyreloj$VroB091VbXCpywPOTYHcE1”对应的智能合约,其中,构造的智能合约中包括为支付该密码破解任务提供的以太币金额、以太币所在地址、需要破解的密码破解任务本身以及表征该密码破解任务是否有效的参数。
例如图7所示,为以太坊构造的名为“HashHunter”的智能合约,在该智能合约中“owener”表示密码破解任务的需求方即任务发布方,“bounty”为支付密码破解任务的电子资源即以太币,“mission”为需要破解的被哈希保护的密码字符串即密码破解任务,“isActive”表征智能合约是否仍然有效,例如“isActive”取值为1时表征智能合约有效,“isActive”取值为0时表征智能合约无效。
S8:以太坊向众包平台发送智能合约构造成功的信息。
S9:众包平台将构造成功的智能合约对应的密码破解任务放入任务池。
在本申请实施例中,众包平台在接收到以太坊发送的智能合约构造成功的信息时,可将该智能合约对应的密码破解任务放入任务池,以便任务接收终端从任务池中选择需要破解的密码破解任务。
其中,众包平台可按照上文叙述的方式对智能合约对应的密码破解任务进行执行优先级排序后放入任务池,且还可以按照执行优先级排序控制其在任务池中的显示顺序。
S10:任务接收终端向众包平台发送申请执行密码破解任务请求。
在本申请实施例中,任务接收终端可视为上文中的任务应邀方设备,众包平台将构造成功的智能合约对应的密码破解任务放入任务池之后,在任务接收终端的众包平台应用中可显示任务池中的密码破解任务,任务接收终端的用户可从众包平台应用显示的密码破解任务中选择需要破解的密码破解任务,任务接收终端在获得其用户选择需要破解的密码破解任务的操作时,可基于该操作向众包平台发送申请执行密码破解任务的请求。
S11:众包平台从任务池选择密码破解任务。
S12:众包平台向以太坊点发送调用所选择的密码破解任务对应的智能合约 的请求,以确定该智能合约是否有效。
如上文叙述,若在申请执行任务请求中携带任务接收终端用户所选择破解的密码破解任务时,众包平台可以在任务池中选择携带的密码破解任务;若未携带,则众包平台从任务池中为任务接收终端用户选择一个密码破解任务进行破解。在众包平台从任务池中为任务接收终端用户选择密码破解任务之后,还可以调用所选择的密码破解任务对应的智能合约的请求,以便通过确定智能合约中参数“isActive”当前的值,以确定该智能合约是否有效,其中,众包平台可基于智能合约在以太坊的地址信息向以太坊发送调用该智能合约的请求。
S13:众包平台接收以太坊发送的该智能合约相关信息。
S14:众包平台根据该智能合约相关信息,确定该智能合约有效。
S15:众包平台向任务接收终端发送该智能合约对应的密码破解任务。
以太坊在接收到众包平台发送的上述调用请求后,将智能合约的相关信息发送给众包平台,众包平台可根据该智能合约相关信息中参数“isActive”当前的值,来确定该智能合约是否有效,这里,假设参数“isActive”取值为1时表征智能合约有效,参数“isActive”取值为0时表征智能合约无效,并假设该智能合约中参数“isActive”当前的值为1,那么,众包平台可确定该智能合约有效,并向任务接收终端发送智能合约对应的密码破解任务执行,以便任务接收终端执行该密码破解任务。
S16:任务接收终端向众包平台发送破解结果。
S17:众包平台向以太坊转发破解结果。
任务接收终端接收到众包平台发送的密码破解任务之后,使用其可获得的计算资源对密码破解任务进行破解,其可获得的计算资源可以为任务接收终端自身所拥有的计算资源,也可以为其可获得的其他终端的计算资源。当任务接收终端完成密码破解任务的破解时,可将破解结果发送给众包平台,以便众包平台将该破解结果转发给以太坊。
S18:以太坊根据所述智能合约验证破解结果正确,且确定该破解结果为第一个验证正确的结果。
S19:以太坊根据所述智能合约向任务接收终端支付以太币。
以太坊根据所述智能合约对接收到的破解结果进行验证,若验证成功,以太坊还可验证该破解结果是否为针对其对应的密码破解任务的第一个验证成功 的结果,若是,以太坊将用于支付其对应的密码破解任务的50以太币支付给任务接收终端,即将该50以太币从该任务发起终端用户的以太币地址转到任务接收终端用户的以太币地址中,以完成支持。
若验证失败,如破解结果错误导致验证失败,或破解结果正确、但该结果不是针对其对应的密码破解任务的第一个验证成功的结果导致的验证失败,则智能合约可继续等待其他任务接收终端的破解结果。
所以,通过上述方法,在接收到任务发起终端发送的密码破解任务请求时,可以从以太坊调用智能合约构造函数,构造与密码破解任务对应的智能合约,并在任务接收终端实施密码破解任务后,由以太坊根据智能合约对其破解结果验证,保证了验证结果的准确性和公正性,解决了任务发起终端与任务接收终端之间就执行结果质量之间的信任问题,且以太坊可根据验证结果通过智能合约自动执行以太坊即报酬的分配,保证报酬能够顺利分配到符合成功完成任务的任务接收终端,所以,进一步解决了任务发起终端与任务接收终端方之间在执行密码破解任务过程中的信任问题,同时也不需要第三方介入实施仲裁,简化了密码破解任务执行的复杂度,进一步的,由于执行密码破解任务过程中结果公开且无法篡改,所以也抵御了伪造结果的非法操作。
进一步的,在密码破解任务被成功破解之后,由以太坊根据智能合约按照约定分配给任务接收终端,保证了任务接收终端获取对应报酬的权益,所以,能够吸引更多的任务接收终端投入更多的计算资源执行密码破解任务,所以,也提升了密码破解任务的执行效率和成功率,进而提高了密码破解任务对应的密码的安全评估质量。
在实际应用中,可根据本申请实施例中任务的处理方法,使用编程语言如C语言、C++语言、Java语言等,开发专门用于控制任务的程序或APP,进而在需要控制任务时,调用该程序或APP,完成任务的控制。
基于同一发明构思,本申请实施例中提供了一种任务控制设备,该设备的任务处理方法的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图8所示,该设备包括:
接收单元80,用于接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源;
发送单元81,用于向区块链网络发送所述任务以及所述电子资源,以使所 述区块链网络构造与所述任务对应的智能合约;
所述接收单元80,用于接收任务应邀方设备在执行所述任务后发送的执行结果;
所述发送单元81,将所述执行结果发送给所述区块链网络,以使所述区块链网络根据所述智能合约对所述执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源。
在一些实施例中,所述设备进一步包括:调用单元82;
所述调用单元82,用于向所述区块链网络发送智能合约调用指令,以使其反馈被调用的智能合约构造函数;
所述接收单元80,进一步用于接收所述区块链网络返回的智能合约构造函数;
所述发送单元81,进一步用于将所述任务以及所述电子资源作为所述智能合约构造函数的输入参数发送给所述区块链网络。
在一些实施例中,还包括选择单元83,用于:
将所述任务放入任务池;
接收所述任务应邀方设备发送的申请执行任务请求;
从所述任务池选择任务;
并将所选择的任务发送给所述任务应邀方设备执行。
在一些实施例中,还包括设置单元84,用于:
按照设定的条件,为所述任务池中的任务设置执行优先级,以及
所述选择单元83,还用于:
从所述任务池选择执行优先级最高的任务,或者
从所述任务池中,选择所述申请执行任务请求中携带的申请执行的任务。
在一些实施例中,所述设定的条件包括:
电子资源的额度,其中,额度越高则执行优先级越高;或者
任务的发布时间,其中,发布时间越早则执行优先级越高。
在一些实施例中,所述调用单元82,用于:
向所述区块链网络发送智能合约调用请求,以调用所选择的任务对应的智能合约,并确认该智能合约是否有效;
确认该智能合约有效,则执行步骤:将所选择的任务发送给所述任务应邀 方执行;
在一些实施例中,还包括删除单元85,用于:
确认该智能合约无效,则从所述任务池中删除对应的任务,并从所述任务池中重新选择任务。
在一些实施例中,所述接收单元80,还用于:接收所述区块链网络发送的合约已履行的确认消息;所述确认消息为所述区块链网络根据所述智能合约在根据验证结果向任务应邀方设备转移所述电子资源后生成的;
从所述任务池中删除对应的任务。
在一些实施例中,向所述区块链网络发送的所述电子资源中还包括所述电子资源在所述区块链网络中的第一账户地址和所述电子资源的数量,所述发送单元81还用于:
所述发送单元,进一步将所述任务应邀方设备的第二账户地址发送给所述区块链网络;其中,当所述验证结果正确时,所述区块链网络根据所述智能合约在验证所述执行结果正确时,将所述电子资源从所述第一账户地址转移到所述第二账户地址。
基于同一发明构思,本申请实施例中提供了一种计算设备,如图9所示,包括至少一个处理器90、以及至少一个存储器91,本申请实施例中不限定处理器90与存储器91之间的具体连接介质,图9中是以处理器90和存储器91之间通过总线92连接为例,总线92在图9中以粗线表示,其中,存储器91存储有计算机程序,当程序被处理器90执行时,使得处理器90执行本申请实施例中提供的任务处理方法的步骤。
基于同一发明构思,本申请实施例中提供了一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本申请实施例中提供的任务处理方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品 的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (24)

  1. 一种任务的处理方法,由任务控制服务器执行,包括:
    接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源;
    向区块链网络发送所述任务以及所述电子资源,以使所述区块链网络构造与所述任务对应的智能合约;
    接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果;
    将所述执行结果发送给所述区块链网络,以使所述区块链网络根据所述智能合约对所述执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源。
  2. 如权利要求1所述的方法,其特征在于,所述接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源之前,所述方法还包括:
    接收所述任务发布方设备发送的所述任务的发布请求;
    确定所述任务发布方设备具有任务发布权限,向所述任务发布方设备发送允许发布所述任务的消息。
  3. 如权利要求1所述的方法,其中,所述向所述区块链网络发送所述任务以及所述电子资源,包括:
    向所述区块链网络发送智能合约调用指令,以使其反馈被调用的智能合约构造函数;
    接收所述区块链网络返回的智能合约构造函数;
    将所述任务以及所述电子资源作为所述智能合约构造函数的输入参数发送给所述区块链网络。
  4. 如权利要求1所述的方法,其中,所述接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果之前,所述方法还包括:
    将所述任务放入任务池;
    接收所述任务应邀方设备发送的申请执行任务请求;
    从所述任务池选择任务;
    并将所选择的任务发送给所述任务应邀方设备执行。
  5. 如权利要求4所述的方法,其特征在于,所述从所述任务池选择任务, 包括:
    按照设定的条件,为所述任务池中的任务设置执行优先级,以及
    从所述任务池选择执行优先级最高的任务。
  6. 如权利要求5所述的方法,其特征在于,所述设定的条件包括:
    电子资源的额度,其中,额度越高则执行优先级越高;或者
    任务的发布时间,其中,发布时间越早则执行优先级越高。
  7. 如权利要求4所述的方法,其特征在于,所述从所述任务池选择任务,包括:
    根据所述申请执行任务请求中携带的申请执行的任务标识,从所述任务池中选择所述任务标识对应的任务。
  8. 如权利要求4-7中任一项所述的方法,其特征在于,所述从所述任务池选择任务之后,所述方法还包括:
    向所述区块链网络发送智能合约调用请求,以调用所选择的任务对应的智能合约,并确认所述智能合约是否有效;
    如果确认所述智能合约有效,则执行步骤:将所选择的任务发送给所述任务应邀方设备执行;以及
    如果确认所述智能合约无效,则从所述任务池中删除对应的任务,并从所述任务池中重新选择任务。
  9. 如权利要求1-7中任一项所述的方法,其特征在于,所述将所述执行结果发送给所述区块链网络之后,所述方法还包括:
    接收所述区块链网络发送的合约已履行的确认消息;所述确认消息为所述区块链网络根据所述验证结果向任务应邀方设备转移所述电子资源后生成的;
    从所述任务池中删除对应的任务。
  10. 如权利要求1-7中任一项所述的方法,其特征在于,所述向所述区块链网络发送所述电子资源包括:
    向所述区块链网络发送所述任务发布方设备的第一账户地址和所述电子资源的数量;
    所述方法进一步包括:
    将所述任务应邀方设备的第二账户地址发送给所述区块链网络;其中,当 所述验证结果正确时,所述区块链网络将所述电子资源从所述第一账户地址转移到所述第二账户地址。
  11. 一种任务控制***,包括任务控制子***和智能合约控制子***:
    所述任务控制子***,用于接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源,将所述任务以及所述电子资源发送给所述智能合约控制子***;
    所述智能合约控制子***,用于根据接收到的所述任务以及所述电子资源,构造与所述任务对应的智能合约;
    所述任务控制子***,进一步用于接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果;并将所述执行结果发送给所述智能合约控制子***;
    所述智能合约控制子***,进一步用于根据所述智能合约对所述任务控制子***发送的执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源;所述执行结果为所述任务应邀方设备在执行所述任务后,针对所述任务发送给所述任务控制子***的。
  12. 如权利要求11所述的***,其特征在于,
    所述智能合约控制子***,还用于根据所述智能合约验证所述执行结果正确时,根据所述执行结果输入所述智能合约的输入时间,确定所述执行结果是否为所述任务对应的第一个验证成功的结果;若是,则将所述电子资源从第一账户地址转移到第二账户地址,并向所述任务控制子***发送转移成功的信息;
    其中,所述第一账户地址为所述任务发布方设备的电子资源在所述智能合约控制子***中的地址,所述第二账户地址为所述任务应邀方设备的电子资源在所述智能合约控制子***中的地址。
  13. 如权利要求12所述的***,其特征在于,
    所述智能合约控制子***还用于,若确定所述任务在预设时间内未被成功执行,则向所述任务控制子***发送所述任务失效信息,并将所述电子资源返回至所述任务发布方设备的电子资源在所述任务控制子***中的地址;
    所述任务控制子***还用于,根据接收到的所述失效信息或根据接收到的转移成功的信息,从所述任务控制子***的任务池中删除所述任务。
  14. 一种任务控制设备,其特征在于,包括:
    接收单元,用于接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源;
    发送单元,用于向区块链网络发送所述任务以及所述电子资源,以使所述区块链网络构造与所述任务对应的智能合约;
    所述接收单元,用于接收任务应邀方设备在执行所述任务后发送的所述任务对应的执行结果;
    所述发送单元,用于将所述执行结果发送给所述区块链网络,以使所述区块链网络根据所述智能合约对所述执行结果进行验证,并根据验证结果向任务应邀方设备转移所述电子资源。
  15. 如权利要求14所述的设备,其特征在于,所述接收任务发布方设备发布的任务以及与执行所述任务对应的电子资源之前,所述接收单元,进一步接收所述任务发布方设备发送的所述任务的发布请求;
    所述发送单元,进一步确定所述任务发布方设备具有任务发布权限,向所述任务发布方设备发送允许发布所述任务的消息。
  16. 如权利要求14所述的设备,其特征在于,所述设备进一步包括:调用单元;
    所述调用单元,用于向所述区块链网络发送智能合约调用指令,以使其反馈被调用的智能合约构造函数;
    所述接收单元,进一步用于接收所述区块链网络返回的智能合约构造函数;
    所述发送单元,进一步用于将所述任务以及所述电子资源作为所述智能合约构造函数的输入参数发送给所述区块链网络。
  17. 如权利要求14所述的设备,其特征在于,所述设备还包括选择单元,用于:
    将所述任务放入任务池;
    接收所述任务应邀方设备发送的申请执行任务请求;
    从所述任务池选择任务;
    并将所选择的任务发送给所述任务应邀方设备执行。
  18. 如权利要求17所述的设备,其中,所述设备还包括设置单元,
    所述设置单元,用于按照设定的条件,为所述任务池中的任务设置执行优先级,以及
    所述选择单元,还用于从所述任务池选择执行优先级最高的任务。
  19. 如权利要求17所述的设备,其中,所述选择单元,还用于根据所述申请执行任务请求中携带的申请执行的任务标识,从所述任务池中选择所述任务标识对应的任务。
  20. 如权利要求17-19任一项所述的设备,其中,所述设备进一步包括删除单元;
    从所述任务池选择任务之后,所述调用单元,进一步向所述区块链网络发送智能合约调用请求,以调用所选择的任务对应的智能合约,并确认所述智能合约是否有效;
    所述调用单元,进一步如果确认所述智能合约有效,则将所选择的任务发送给所述任务应邀方设备执行;以及
    如果确认所述智能合约无效,所述删除单元,则从所述任务池中删除对应的任务,并从所述任务池中重新选择任务。
  21. 如权利要求20所述的设备,其中,将所述执行结果发送给所述区块链网络之后,所述接收单元,进一步接收所述区块链网络发送的合约已履行的确认消息;所述确认消息为所述区块链网络根据所述验证结果向任务应邀方设备转移所述电子资源后生成的;
    所述删除单元,进一步从所述任务池中删除对应的任务。
  22. 如权利要求14-19任一项所述的设备,其中,所述发送单元,进一步向所述区块链网络发送所述任务发布方设备的第一账户地址和所述电子资源的数量;
    所述发送单元,进一步将所述任务应邀方设备的第二账户地址发送给所述区块链网络;其中,当所述验证结果正确时,所述区块链网络将所述电子资源从所述第一账户地址转移到所述第二账户地址。
  23. 一种计算设备,其特征在于,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1~10任一项所述方法的步骤。
  24. 一种存储介质,其特征在于,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-10任一项所述方法的步骤。
PCT/CN2019/122585 2018-12-11 2019-12-03 任务处理方法、***、设备及存储介质 WO2020119512A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19895966.0A EP3896633B1 (en) 2018-12-11 2019-12-03 Task processing method, system and device, and storage medium
US17/153,767 US12039366B2 (en) 2018-12-11 2021-01-20 Task processing method, system, device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811510203.X 2018-12-11
CN201811510203.XA CN109583857B (zh) 2018-12-11 2018-12-11 公开邀约任务处理方法、***、设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/153,767 Continuation US12039366B2 (en) 2018-12-11 2021-01-20 Task processing method, system, device, and storage medium

Publications (1)

Publication Number Publication Date
WO2020119512A1 true WO2020119512A1 (zh) 2020-06-18

Family

ID=65928941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/122585 WO2020119512A1 (zh) 2018-12-11 2019-12-03 任务处理方法、***、设备及存储介质

Country Status (3)

Country Link
EP (1) EP3896633B1 (zh)
CN (2) CN109583857B (zh)
WO (1) WO2020119512A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583857B (zh) * 2018-12-11 2021-05-14 腾讯科技(深圳)有限公司 公开邀约任务处理方法、***、设备及存储介质
CN110138865B (zh) * 2019-05-17 2022-05-24 南方科技大学 空间众包任务分配方法、装置、设备及存储介质
CN110232507B (zh) * 2019-05-28 2021-07-27 中国人民解放军国防科技大学 基于智能合约的众包活动全过程监管方法及***
CN110543757B (zh) * 2019-08-01 2023-06-06 立旃(上海)科技有限公司 基于区块链的认证激励方法及***
CN110944008B (zh) * 2019-09-13 2021-03-19 腾讯科技(深圳)有限公司 基于区块链的任务酬劳处理方法、装置、设备及存储介质
CN110599147B (zh) * 2019-09-17 2022-11-22 福州大学 一种基于区块链的密文检索公平支付方法及***
CN110866830A (zh) * 2019-11-25 2020-03-06 腾讯科技(深圳)有限公司 一种基于区块链的数据处理方法及相关装置
CN110992052A (zh) * 2019-12-05 2020-04-10 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN111178857A (zh) * 2019-12-13 2020-05-19 杭州复杂美科技有限公司 游戏任务处理方法、设备和存储介质
CN111626835B (zh) * 2020-04-27 2024-02-02 口碑(上海)信息技术有限公司 任务配置方法、装置、***、存储介质及计算机设备
CN112001794A (zh) * 2020-09-02 2020-11-27 上海市建筑学会 智能合约生成方法、计算机设备、及存储介质
CN112257080A (zh) * 2020-09-21 2021-01-22 西安电子科技大学 基于区块链的分布式众包***、方法、存储介质及终端
CN113256281A (zh) * 2021-06-25 2021-08-13 江苏数字产权交易有限公司 一种基于区块链的悬赏数字资产交易方法及***
CN114860845A (zh) * 2022-05-23 2022-08-05 支付宝(杭州)信息技术有限公司 数字资产的管理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160028738A1 (en) * 2013-12-16 2016-01-28 Tencent Technology (Shenzhen) Company Limited Validity verification method and intermediate server
CN107341702A (zh) * 2017-03-08 2017-11-10 阿里巴巴集团控股有限公司 一种业务处理的方法及装置
CN108805561A (zh) * 2017-04-27 2018-11-13 中思博安科技(北京)有限公司 可访问多个区块链的智能合约的执行方法和***
CN108804096A (zh) * 2017-05-05 2018-11-13 中思博安科技(北京)有限公司 一种基于智能合约的任务调度执行方法和装置
CN109583857A (zh) * 2018-12-11 2019-04-05 腾讯科技(深圳)有限公司 公开邀约任务处理方法、***、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875510B1 (en) * 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
US10484168B2 (en) * 2015-03-02 2019-11-19 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
US20180101914A1 (en) * 2016-10-10 2018-04-12 Escolhalegal, Llc Systems, methods and machine-readable mediums for data management and payment processing
CN106874087A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种区块链智能合约定时任务调度方法
CN107248074A (zh) * 2017-03-29 2017-10-13 阿里巴巴集团控股有限公司 一种基于区块链的业务处理方法及设备
CN108073513A (zh) * 2017-04-21 2018-05-25 富士通株式会社 对基于区块链的智能合约进行测试的装置和方法
GB2576461A (en) * 2017-05-02 2020-02-19 Luther Systems Financial derivative contract execution platform, system and method
CN107682331B (zh) * 2017-09-28 2020-05-12 复旦大学 基于区块链的物联网身份认证方法
CN108062672B (zh) * 2017-12-07 2022-03-18 北京泛融科技有限公司 一种基于区块链智能合约的流程调度方法
CN108197913B (zh) * 2017-12-18 2021-01-05 深圳前海微众银行股份有限公司 基于区块链的支付方法、***以及计算机可读存储介质
CN108876606B (zh) * 2018-05-29 2021-02-09 创新先进技术有限公司 资产转移方法及装置、电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160028738A1 (en) * 2013-12-16 2016-01-28 Tencent Technology (Shenzhen) Company Limited Validity verification method and intermediate server
CN107341702A (zh) * 2017-03-08 2017-11-10 阿里巴巴集团控股有限公司 一种业务处理的方法及装置
CN108805561A (zh) * 2017-04-27 2018-11-13 中思博安科技(北京)有限公司 可访问多个区块链的智能合约的执行方法和***
CN108804096A (zh) * 2017-05-05 2018-11-13 中思博安科技(北京)有限公司 一种基于智能合约的任务调度执行方法和装置
CN109583857A (zh) * 2018-12-11 2019-04-05 腾讯科技(深圳)有限公司 公开邀约任务处理方法、***、设备及存储介质

Also Published As

Publication number Publication date
US20210165686A1 (en) 2021-06-03
EP3896633A4 (en) 2022-01-19
EP3896633A1 (en) 2021-10-20
CN109583857B (zh) 2021-05-14
EP3896633B1 (en) 2023-09-13
CN109583857A (zh) 2019-04-05
CN110428257B (zh) 2021-04-27
CN110428257A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
WO2020119512A1 (zh) 任务处理方法、***、设备及存储介质
US20240048378A1 (en) Partitioning a blockchain network
CN110096857B (zh) 区块链***的权限管理方法、装置、设备和介质
AU2023201476A1 (en) Business Process Execution on a blockchain platform
EP3903268B1 (en) Blockchain management system
JP6756914B2 (ja) ブロックチェーンネットワーク内のファンクションアズアサービス(FaaS)プラットフォーム
CN110366839B (zh) 计算机实现的***和方法
TW201935384A (zh) 資產管理方法及裝置、電子設備
CN109003185B (zh) 一种智能合约的建立方法、装置、计算设备及存储介质
Wright et al. SmartEdge: A smart contract for edge computing
WO2022105600A1 (zh) 一种基于物联网的区块链跨链交易方法及装置
US20200402031A1 (en) Systems and methods for generating smart contracts to manage escrow transactions
GB2586470A (en) Systems and methods for generating smart contracts to manage escrow transactions
CN110599144A (zh) 一种区块链节点的入网方法以及装置
CN109711840A (zh) 一种交易数据处理方法、装置及存储介质
CN104537284A (zh) 一种基于远程服务的软件保护***和方法
CN112181599B (zh) 模型训练方法、装置及存储介质
CN114219480A (zh) 一种多渠道费控快捷支付方法和***
US12039366B2 (en) Task processing method, system, device, and storage medium
US11790360B1 (en) Multi-actor transaction simulation in a blockchain network
KR102685884B1 (ko) 하나 이상의 블록체인 환경에서의 자산 거래 시스템, 자산 거래 방법 및 장치
CN115883185A (zh) 开放银行三方签约***及方法
CN116980136A (zh) 智能合约的接口处理方法、装置、设备、存储介质及产品
CN118101640A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19895966

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019895966

Country of ref document: EP

Effective date: 20210712