Game proof blockchain mining

By introducing group tasks and side chain storage mechanisms in blockchain mining, fraudulent transactions and fairness problems in the existing technology are solved, and a safer and fair reward mechanism and task data recording are achieved.

CN119923675APending Publication Date: 2025-05-02GAD RES LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380051186.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-04
Filing Date
2023-04-28
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

Existing blockchain mining methods (such as PoW and PoS) have the risk of fraudulent transactions, resulting in users losing pledge value and lacking effective fairness and fraud prevention mechanisms.

Method used

By connecting multiple users' devices on the platform, participating in grouping tasks, and using encrypted signatures and blockchain to record start and end task transactions, determine user rewards based on task data, and record rewards on the blockchain. The system ensures the accuracy and fairness of the task data through side chains, controls the device signature and verification data.

Benefits of technology

A fairer and safer reward mechanism in blockchain mining is realized, reducing the risk of fraudulent transactions, ensuring the security of user pledge value, and improving the accuracy and efficiency of task data records.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119923675A_ABST
    Figure CN119923675A_ABST
Patent Text Reader

Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for game proof (PoP) blockchain mining. In some implementations, a corresponding method may include providing a set of one or more task parameters for a group task to each of two or more users; in response to a consensus between two or more users, storing a starting task transaction comprising a set of one or more task parameters signed by each of the two or more users; storing the end task transaction at the address of the block chain; determining a respective award for at least a subset of the two or more users based on at least the starting task transaction and the ending task transaction; and recording the corresponding rewards in the block chain.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of U.S. Nonprovisional Application No. 17 / 736,991, filed on May 4, 2022. Technical Field

[0003] This specification generally relates to blockchain mining. Background Art

[0004] The currency corresponding to a blockchain can be mined in a few different ways. The two most common ways are Proof of Work (PoW) and Proof of Stake (PoS). PoW requires both time and energy to mine blocks by solving cryptographic problems. Fraudulent blocks are rejected, and actual money is lost in the form of energy bills for failed mining efforts. In PoS, users stake existing coins to mine. If a user approves a fraudulent transaction, the network removes the stake provided by the user. Actual money is similarly lost in the form of the value of the stake. Summary of the invention

[0005] In some implementations, a system for proof-of-play (PoP) blockchain mining includes: connecting two or more users' devices on a platform to participate in a group project, game, competition, or other effort (referred to as a "group task" or simply a "task"). A group task may involve two or more participants, players, or users (referred to as "users"). A group task may be a collaborative, competitive, or other type of task between multiple users. The platform may be configured to allow data exchange between the devices of two or more users. Before starting a task, the two or more users may cryptographically sign a start task transaction and record the start task transaction in a block of the blockchain. During the task, task data may be generated by each of the two or more users participating in the operation of the task. A control device may be selected by one or more devices of a device implementing the platform or a blockchain to record the task data in a side chain cryptographically signed by the control device. The control device may provide the recorded task data to the blockchain. Based on the recorded task data, two or more users may receive a reward, for example, in the form of cryptocurrencies such as Bitcoin or Ether, traditional fiat currencies such as U.S. dollars, or other types of fungible or non-fungible assets such as coins, tokens, or credits, thereby indicating their participation in the task.

[0006] One innovative aspect of the subject matter described in this specification is embodied in the following: a method comprising: providing, using one or more processing devices, a set of one or more task parameters for a group task to each of two or more users; storing a start task transaction in response to a consensus between the two or more users, the start task transaction comprising the set of one or more task parameters signed by each of the two or more users according to a cryptographic process; storing an end task transaction at an address on a blockchain, the address of the blockchain being independent of the two or more users, wherein the end task transaction comprises task data associated with actions taken by the two or more users during performance of the task; determining corresponding rewards for at least a subset of the two or more users based at least on the start task transaction and the end task transaction; and recording the corresponding rewards in the blockchain.

[0007] Other implementations of this and other aspects include corresponding systems, devices, and computer programs configured to perform the actions of the method encoded on a computer storage device. A system of one or more computers can be so configured by means of software, firmware, hardware, or a combination thereof installed on the system, which software, firmware, hardware, or a combination thereof causes the system to perform actions when operated. One or more computer programs are so configured by means of having instructions that, when executed by a data processing device, cause the device to perform actions.

[0008] The foregoing embodiments and other embodiments may each optionally include one or more of the following features, alone or in combination. For example, in some implementations, the actions include: utilizing the one or more processing devices, selecting a controlling user, wherein a user device associated with the controlling user obtains the task data and generates the end task transaction, and wherein a staking reward is associated with the controlling user.

[0009] In some implementations, the action includes: storing at the address of the blockchain one or more data items indicating a dispute associated with the action taken by the controlling user; and removing the staking reward from the controlling user's account address.

[0010] In some implementations, the actions include: obtaining data corresponding to one or more blocks of the blockchain; and determining, based on the obtained data, that the account addresses of the two or more users are valid.

[0011] In some implementations, the actions include: obtaining data corresponding to one or more blocks of the blockchain; determining, based on the obtained data, that at least one of the two or more users is participating in another set of tasks; and in response to determining that at least one of the two or more users is participating in another set of tasks, preventing the at least one of the two or more users from receiving rewards from both sets of tasks.

[0012] In some implementations, the actions include: obtaining an account address and an identifier of a user of the two or more users; providing the account address and the identifier of the user to the blockchain; obtaining one or more votes indicating approval or rejection of the user; and based on the one or more votes, recording the account address of the user as a verified address.

[0013] In some implementations, the actions include: determining a percentage of votes indicating approval or rejection of the user based on the one or more votes; and recording the user's account address as the verified address based on the percentage of votes.

[0014] In some implementations, the actions include, prior to generating the start task transaction, determining a verified address for each of the two or more users.

[0015] In some implementations, the address of the blockchain represents an account address on the blockchain.

[0016] In some implementations, the address of the blockchain is determined by a node of the blockchain based on a hash value of the start task transaction.

[0017] In some implementations, the actions include: generating, using the one or more processing devices, a connection group for the two or more users to complete the group task through an online service.

[0018] In some implementations, each of the two or more users corresponds to an account address, and recording the respective reward in the blockchain includes recording one or more values ​​indicating a portion of the respective reward to each account address corresponding to each user in the subset.

[0019] In some implementations, determining respective rewards for at least a subset of the two or more users based at least on the start task transaction and the end task transaction includes determining respective rewards for at least two of the two or more users based at least on a time spent by at least two of the two or more users on the group task.

[0020] In some implementations, the set of one or more task parameters is signed by a device of a controlling user, and the device obtains the task data and generates the end task transaction.

[0021] In some implementations, the actions include receiving, with the one or more processing devices, task data associated with actions taken by the two or more users during performance of the task.

[0022] In some implementations, the actions taken by the two or more users during performance of the task include virtual actions taken by the two or more users within a virtual gaming environment.

[0023] The details of one or more embodiments described in this application are set forth in the accompanying drawings and the description below. Other features and advantages of the embodiments will become apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 is a diagram illustrating an example of a system for Proof of Play (PoP) blockchain mining for providing rewards based on multiple users participating in a group task.

[0025] Figure 2 is a flow chart illustrating an example of a process for distributing rewards based on group participation in a task.

[0026] Figure 3 is a diagram illustrating an example of a computing system for allocating rewards based on group participation in a task.

[0027] Like reference numbers and designations in the various drawings indicate like elements. DETAILED DESCRIPTION

[0028] Figure 1 1 is a diagram showing an example of a system 100 for proof of play (PoP) blockchain mining for providing rewards based on multiple users participating in a group task. The system 100 includes: a platform 102; a platform device 104 that operates the platform 102; user devices 106, 108, and 110 that are operable to send data to each other directly or through the platform 102; a control device 114 that stores task data 122 in a side chain 124; a blockchain 116 that records data from a group task; and a storage device 118 that represents an address 120 of the blockchain 116 for storing data from the group task. The system 100 may include additional or different devices or components.

[0029] In some implementations, the platform 102 provides a connection lobby or online platform that allows data to be transmitted between the user devices 106, 108, and 110. For example, the platform 102 can provide a data connection between each of the user devices 106, 108, and 110. Depending on the implementation, the data connection can be made through a public or private network using a wired or wireless connection. In some implementations, the user devices 106, 108, and 110 send data through the platform device 104. In some implementations, the user devices 106, 108, and 110 send data directly to each other.

[0030] In some implementations, the user devices 106, 108, and 110 are interacting to complete a task. As an example, the user devices 106, 108, and 110 may interact to perform actions on one or more common projects (e.g., working on a legal document, such as editing, personal signatures, questions, and others). As another example, the user devices 106, 108, and 110 may interact to perform actions within a virtual environment, such as playing a game in a virtual or online environment, and the like.

[0031] In some implementations, user devices 106, 108, and 110 may agree on one or more task parameters. One or more task parameters may represent the conditions under which each user of user devices 106, 108, and 110 performs actions to complete a task. For example, task parameters may include the duration of a task, rules, conditions (such as conditions related to the user's abilities, etc.). Conditions may include a user's signature or editing authority, a user's authority or ability within a game environment, or one or more regulations. Regulations may be specific to document types or game types and others. In some implementations, task parameters may also include the initial settings for a task, such as a team name and corresponding team features (e.g., roles, icons, and permissions), etc.

[0032] In some implementations, when all users are ready to start the task and agree to one or more task parameters, each user obtains the start task data (also called initial task data) including the agreed one or more task parameters and signs the start task data. Then, each user shares the signature with all other users in the lobby. Similarly, all other users perform the same operation and verify each signature of other users locally. If all signatures are valid and exchanged between users, one or more of the users can submit the start task data to the blockchain 116 and start the task. This can be referred to as a start task transaction. The start task transaction allows a group of users to sign and agree to a set of start parameters (e.g., start task data) to reach a consensus before the task starts. It is worth noting that such a consensus can be performed under the blockchain before the blockchain transaction (e.g., the start task transaction) is sent to the blockchain. Such a consensus can be a supplement to the consensus processing performed by the blockchain.

[0033] In some implementations, Figure 1 In the example shown, user devices 106, 108, and 110 agree on the start task data. For example, user devices 106, 108, and 110 may agree on one or more task parameters 111 and participants of the task (such as user devices 106, 108, and 110, etc.). User devices 106, 108, and 110 each sign a data packet including data for starting task transaction 112 with a private key. Each of user devices 106, 108, and 110 may use a different, unique private key corresponding to a user account or a specific user device of a user.

[0034] In some implementations, in stage A, the user devices 106, 108, and 110 provide the start task transaction 112 signed by each of the user devices 106, 108, and 110 to the blockchain 116. For example, any one of the user devices 106, 108, and 110 may provide the signed start task transaction 112 to the blockchain 116. If multiple users provide the same start task transaction 112, the mining node of the blockchain 116 may record a single instance of the start task transaction 112 in a block of the blockchain 116 (such as one of the blocks 116a to 116d, etc.).

[0035] In some implementations, the control device 114 signs the start task transaction 112. For example, the control device 114 may obtain a unique private key associated with the control device 114. The control device 114 may use the unique private key to cryptographically sign the start task transaction 112. In some implementations, by signing the start task transaction 112, the control device 114 becomes the control device. Other user devices that parse the start task transaction 112 may determine the corresponding control device and other information based on the signature. The control device 114 may provide the function of a host of one or more group tasks corresponding to the start task transaction 112. For example, the start task transaction 112 may be obtained by a device of the blockchain 116. The device may read the start task transaction 112 and determine that the control device 114 is the control device for the one or more group tasks corresponding to the start task transaction 112 based on the control device 114 signing the start task transaction 112.

[0036] In some implementations, in phase A, user devices 106, 108, and 110 provide start task data signed by each of user devices 106, 108, and 110 to platform device 104. Platform device 104 can send the signed start task data to blockchain 116 in a start task transaction 112.

[0037] The start mission transaction 112 may include one or more mission parameters 111. The start mission transaction 112 may include participants of the mission, such as user devices 106, 108, and 110, etc. In a game scenario, the start mission transaction 112 may include start criteria, such as which team each user of the user devices 106, 108, and 110 is on, etc. One or more devices operating a blockchain 116 (e.g., one or more blockchain node devices of a blockchain network) may receive the start mission transaction 112, reach consensus on the start mission transaction 112, and add the start mission transaction 112 to a block of the blockchain 116. For example, one or more blockchain node devices of the blockchain 116 may add the start mission transaction 112 to block 116b. Blocks 116a to 116d show example blocks of the blockchain 116.

[0038] In some implementations, mining methods can be used to generate additional blocks in the blockchain 116. For example, PoS or PoW can be used to generate one or more blocks that record the start task transaction 112 in the blockchain 116.

[0039] In some implementations, each user of user devices 106, 108, and 110 provides a pledge to join a group task. For example, a user can provide a pledge (e.g., a monetary amount) to the platform 102 or blockchain 116 through each user device in user devices 106, 108, and 110. The pledge can be used as collateral to ensure fair competition for users. As long as the user "plays fair" when completing the task, the pledge can be returned to the user. The pledge can also be used to incentivize participation by granting a portion of the pledge to one or more users of user devices 106, 108, and 110 based on the performance of actions during the task. For example, users who perform more actions or score more, or meet one or more predetermined criteria, can be eligible to receive a portion of the pledge provided by other users of user devices 106, 108, and 110. In some implementations, providing a pledge is a prerequisite for each user of user devices 106, 108, and 110 to start a task. For example, start task transaction 112 may require and record a pledge from each user of user devices 106 , 108 , and 110 for the users of user devices 106 , 108 , and 110 to participate in the task.

[0040] In some implementations, each of the user devices 106, 108, and 110 verifies the signature of the start task transaction 112. For example, each of the user devices 106, 108, and 110 may sign the start task transaction 112 using a public key corresponding to a private key used by each device. Each device may perform cryptographic operations on the start task transaction 112. Each device may verify the data of the start task transaction 112 (including one or more task parameters 111) using the public keys of the other devices.

[0041] In some implementations, the platform device 104 is a blockchain node device of the blockchain 116. For example, the platform device 104 may be a blockchain node device that stores the blockchain 116. The platform device 104 may facilitate mining new blocks for the blockchain 116. The platform device 104 may be a consensus node that facilitates consensus processing and establishing consensus on the blockchain 116, as well as other blockchain operations.

[0042] In some implementations, each user of user devices 106, 108, and 110 may need to have a verified address to participate in a group task. An ordinary address (e.g., a wallet address) inherent to the blockchain is an account address of a user, to which or from which cryptocurrency can be sent. An ordinary address (also referred to as an ordinary blockchain address) can participate in mining blocks via PoS and perform proof of stake in the mining blocks. A verified address can not only perform the functions of an ordinary address, but also participate in PoP. In some implementations, a verified address is bound to a unique identifier of a user (e.g., a name, a gamer tag, or an ID number). In some implementations, only verified addresses are allowed to participate in PoP.

[0043] In some implementations, for an address to become a verified address, a user may publish to the blockchain a unique identifier of the user, an authentication token proving the user's identity, and an account address (e.g., a normal address) to which the user wants to bind the user's identity. Other users in the ecosystem (e.g., in system 100) may check the user's authentication token to verify that the user is actually who the user claims to be. For example, the checking user may verify the authentication token using the public key of the user providing the authentication token.

[0044] After verification, the account address can be tied to the user's unique identifier, and the account address becomes a verified address. In some implementations, information associated with the verified address is recorded in the blockchain 116 for later acquisition by the platform device 104 or other components of the system 100. In some implementations, the user provides the unique identifier, authentication token, and account address to the blockchain 116. Other users of the blockchain 116 can check the authentication token to verify that the user is actually who they claim to be.

[0045] In some implementations, users are incentivized to check other users' authentication tokens. For example, a device of blockchain 116 may provide a portion of a stake (such as Bitcoin, Ethereum, or other forms of cryptocurrency or traditional legal currency (such as the U.S. dollar, etc.) to a user who checks the authentication token. The check may cause the checking user to provide a vote to one or more other devices of blockchain 116 to confirm or not confirm that the authentication token is valid. The vote may be added to one or more blocks of blockchain 116.

[0046] After a stop condition is met (such as reaching an amount of time, recording a threshold number of votes, etc.), or after a number of blocks of blockchain 116 have been created since the user provided the authentication token for inspection, one or more devices of blockchain 116 or an automated process (such as a smart contract, etc.), etc., can identify the number of votes used to confirm the authentication token or not confirm the authentication token. Based on the number of votes, one or more devices of blockchain 116 can verify or not verify the address associated with the user who provided the authentication token. For example, if there are more than 1,000 votes and the ratio of affirmative votes to negative votes is at least 95%, the blockchain network operated by one or more devices of blockchain 116 can verify the address.

[0047] In some implementations, if a user fails to have his or her address authenticated, the user may attempt to provide his or her authentication token and identification information again. For example, if the user lacks a minimum number of votes or they did not receive a high enough pass rate, the user may receive a notification indicating that the authentication was unsuccessful, or a lack of a notification. The user may then provide, for example, a unique identifier, authentication token, and account address in another attempt to authenticate.

[0048] In some implementations, the authentication token is permanent. In some implementations, the authentication token is generated periodically and expires after an amount of time or condition is satisfied. For example, the platform device 104 may generate an authentication token for the user device 106. The platform device 104 may configure the token to expire according to an expiration condition, such as after an amount of time or number of uses of the token, etc. In general, any expiration condition may be set by the platform device 104. The user device 106 may obtain the generated authentication token and provide the generated authentication token to the blockchain 116 to verify the identity of the user of the user device 106 to some extent. As described herein, the user device 106 may become verified using the authentication token.

[0049] In some implementations, an output address 120 is generated. The output address 120 may be, for example, a random address generated based on an algorithm with randomization (e.g., hashing or other encryption). The output address 120 is independent of any user or entity participating in or affiliated with the group task to prevent anyone with a stake in the group task from changing the data stored in the output address 120. For example, the output address 120 may be an account address (e.g., an account or wallet address) on the blockchain 116 that is not owned or controlled by any user of the user devices 106, 108, and 110, the platform device 104, or the control device 114. In some implementations, none of the users of the user devices 106, 108, and 110, the platform device 104, and the control device 114 has a private key corresponding to the output address 120, and thus cannot change the data stored in the output address 120.

[0050] In some implementations, the storage device 118 represents a computer device that physically stores the data recorded in the output address 120. For example, the storage device 118 may be a blockchain node device of the blockchain 116. In some implementations, the storage device 118 may be an off-chain device and may provide the blockchain 116 with data corresponding to the output address 120. The device of the blockchain 116 may retrieve, receive, or otherwise obtain data from the output address 120.

[0051] In some implementations, the output address 120 is generated by the platform device 104. In some implementations, the output address 120 is generated by a node (e.g., a mining node) of the blockchain 116. For example, a mining node that mines a block of the blockchain that includes the start task transaction 112 may perform one or more operations based on the start task transaction 112 to generate an output address 120. As an example, the one or more operations may include: hashing some or all of the content of the start task transaction 112 to generate a result, and generating the output address 120 based on the result (e.g., the result or a variation thereof may be selected as the output address 120). As another example, the one or more operations may include: hashing a data item including the start task transaction 112 to generate a result, and generating the output address 120 based on the result. As yet another example, the one or more operations may include: generating a random number value, hashing the data item including the start task transaction 112 and the random number, and generating the output address 120 based on the result. Additional or different operations may be performed, for example by the platform device 104 or the blockchain 116 , to generate the output address 120 .

[0052] In some implementations, a node (e.g., a mining node) of the blockchain 116 installs the code before performing one or more operations on the start task transaction 112. For example, a mining node that mines a block that includes the start task transaction 112 may perform one or more operations specified in the code installed before mining the block that includes the start task transaction 112. The one or more operations may include one or more operations to generate an output address 120 based on the start task transaction 112. In some implementations, the code may be included in a smart contract deployed on a node of the blockchain 116.

[0053] In some implementations, the platform device 104 selects a control device. For example, the platform device 104 may select a control device 114. The control device 114 may be a device of a host of a group task. The host may be a third party who serves as a judge, notary, referee, scorekeeper, or another role for enhancing the fairness of the task. In some implementations, the host connects the task to the user and, for example, uses an offline side chain to keep a record of scores and metrics. The platform device 104 may select a control device 114 from a set of verified addresses. The control device 114 may be associated with a verified address within the set of verified addresses. The verified address may be verified by one or more blockchain node devices of the blockchain 116. The control device 114 may provide information to the blockchain 116 to become verified by one or more blockchain node devices of the blockchain 116.

[0054] like Figure 1As shown in the example of FIG. 1 , the control device 114 is connected to the platform 102. The control device 114 obtains the task data 122 from the user devices 106, 108, and 110. In some implementations, the use of the control device 114 improves the efficiency of the group task. For example, the control device 114 can merge the records of the group task that the users in the group task can check, for example, after the task is completed. By using the control device 114, the users of the user devices 106, 108, and 110 can participate in the group task without interruption or stopping to ensure the accuracy of the record of the actions taken when completing the group task. For example, the control device 114 can create a record of the group task, which includes each action taken by each user of the user devices 106, 108, and 110 during the group task. The control device 114 can, for example, store the record in real time, and upload or send the record, or otherwise allow the user to check the record during or after the group task without requiring the user to confirm during the group task that the user agrees with the actions that have occurred in the group task.

[0055] After a task is started and a start task transaction 112 is sent to the blockchain 116, user devices 106, 108, and 110 participate in the task. For example, the task may include drafting a legal document, playing an online game, finalizing a plan, drafting legislation, and others. In some implementations, the task is collaborative because multiple users participate in completing the task. In some implementations, the task is competitive because multiple users compete with each other in completing the task (e.g., completing the task in the shortest amount of time or with the highest score). The task is completed according to the task parameters 111. As the user devices 106, 108, and 110 participate in actions to complete the task, they generate task data 122.

[0056] In some implementations, the task data 122 may include a record of events. For example, the task data 122 may include a first action performed by the user device 106 at a particular time. The task data 122 may include a second action performed by the user device 108 at another time. The task data 122 may include statistical data (such as score values, progress, status, etc.) about the task for each user of the user devices 106, 108, and 110.

[0057] In some implementations, in stage B, the control device 114 obtains task data 122 from one or more of the user devices 106, 108, and 110. For example, each of the user devices 106, 108, and 110 may provide data to each other directly or through the platform device 104. Each of the user devices 106, 108, and 110 may similarly provide data to the control device 114 directly or through the platform device 104. In some implementations, the control device 114 is connected to the user devices 106, 108, and 110 during the group task. The control device 114 may record task data 122 representing events when the user devices 106, 108, and 110 complete the group task.

[0058] In some implementations, in phase B, the platform device 104 provides the task data 122 to the control device 114. The control device 114 may use a side chain 124 to store the task data 122. In some implementations, the side chain is another blockchain that can store data related to the task. In some implementations, the control device 114 generates a side chain 124 to store the task data 122. In some implementations, the control device 114 accesses the side chain 124 stored on another device. Blocks 124a to 124d are example blocks in the side chain 124. In some implementations, each block in the blocks 124a to 124d of the side chain 124 may include a portion of the task data 122 as the task progresses. For example, a new block may be created at each time increment. In some implementations, a new block is created after a new block formation threshold is met. For example, when the storage limit of the block is reached, a new block is generated. Similar to the blockchain 116, each block may include a hash of the previous block content. The first block may include a root hash. The control device 114 sends the task data 122 as the task progresses, and stores the task data 122 in blocks 124 a to 124 d .

[0059] In some implementations, one or more users of user devices 106, 108, and 110 sign each block 124a to 124d of side chain 124. For example, during the progress of a task, users of user devices 106, 108, and 110 may obtain data of side chain 124 and confirm or deny that the data is a correct record of the ongoing task. If the user determines that the record is correct, the user may sign the block. After the task is completed and each block is signed by the users of user devices 106, 108, and 110, control device 114 may include some or all of the side chain data in an end-of-task transaction 128 for output address 120.

[0060] In some implementations, the control device 114 signs each block of the side chain 124. In some implementations, it is advantageous to have only the control device 114 sign blocks of the side chain 124. For example, one problem in a scenario where the control device 114 does not sign blocks and the users of the user devices 106, 108, and 110 sign blocks of the side chain 124 is that if even one user disagrees with the data of a given block (such as a score or other record), the task may be stalled. In some implementations, if there is a disagreement between the users of the user devices 106, 108, and 110 based on the record of the side chain 124, the platform device 104 stalls the task.

[0061] Another problem may arise based on the susceptibility of blockchain consensus to 51% attacks. When a blockchain network has a large number (e.g., millions) of users, this attack becomes difficult or even impractical to achieve. When a blockchain network contains only a small number of people (such as users of user devices 106, 108, and 110, etc.), this attack becomes a more serious threat. For example, the majority of users of user devices 106, 108, and 110 can "bully" a minority to sign fraudulent record data, or a single user can hold all other players hostage by not signing a given block.

[0062] Users in these scenarios may risk losing potential stakes for participating in the task and may succumb to signing the majority of fraudulent scores. The control device 114 can be used to prevent such situations and ensure a certain degree of fairness.

[0063] In some implementations, the users of the user devices 106, 108, and 110 are unaware of the users or administrators (e.g., moderators) of the control device 114. In some implementations, the moderator has no direct stake in the tasks being performed by the users of the user devices 106, 108, and 110, other than being a potential stake in the control device. In this way, the moderator can be an unknown and impartial third party. The control device 114 can keep track of all metrics for the tasks being completed by the users of the user devices 106, 108, and 110. If a majority of the users are attempting to generate fraudulent data for a given task, the control device 114 can prevent the fraudulent data from changing the records of the sidechain 124.

[0064] In some implementations, the control device 114 may record bad behavior (such as coercion between users, or fraudulent activities, etc.) to the platform device 104 or the blockchain 116. If a user is recorded as coercive or engaging in fraudulent activities during the performance of a task, the user may be prohibited from removing the stake from the corresponding account address or the stake may be removed from the corresponding account address.

[0065] The control device 114 provides some or all of the task data stored on the side chain 124 to the output address 120. In some implementations, the control device 114 signs the side chain data. For example, the control device 114 may sign the side chain data with the private key of the control device 114 to generate an end task transaction 128. The end task transaction 128 may include some or all of the task data stored in the side chain 124. The end task transaction 128 may be authenticated by using the public key of the control device 114.

[0066] In stage C, the sidechain data 132 is recorded in the blockchain 116. In some implementations, the storage device 118 is a blockchain node device of the blockchain 116. For example, the storage device 118 may include one or more computing elements similar to the platform device 104, the user devices 106, 108, and 110, and the control device 114. The storage device 118 may include the sidechain data 132, which includes the end task transaction 128 stored locally in the block of the blockchain 116. The sidechain data 132 may include data associated with the departure (referred to as departure data 126) and data associated with the dispute (referred to as dispute data 130).

[0067] During the mission, users of user devices 106, 108, and 110 may leave the platform 102. For example, the connection may be disconnected, or the user may choose to stop participating in the mission. In some implementations, the user device sends a signal indicating the departure to the platform device 104. The platform device 104 may send departure data to the blockchain 116, where the departure is recorded in the blockchain 116 corresponding to the output address 120. In some implementations, the user device directly sends the data indicating the departure to be stored on the blockchain 116. For example, the user device 108 may send the departure data 126 to the output address 120. In some implementations, the user device 108 may send the departure data 126 to the storage device 118. The storage device 118 may be a node in the blockchain 116. The storage device 118 or another node in the blockchain 116 may write the departure data 126 to the blockchain 116 corresponding to the output address 120.

[0068] In some implementations, writing data to the blockchain corresponding to the output address 120 may include writing a transaction that assigns data to a specific account address indicated by the output address 120. In some implementations, the output address 120 is not an account address of any user participating in or affiliated with the group task, and thus no user has a private key to change the data associated with the output address 120. However, the address may be used to store data for the group task, such as the sidechain data 132, etc.

[0069] In some implementations, the dispute data 130 indicates that the user disputes the record of the ended task transaction 128. For example, the user device 110 can send the dispute data 130 to the platform device 104. For example, the dispute data 130 can indicate that the user of the user device 110 disputes the record of the ended task transaction 128. The dispute data 130 can indicate one or more errors in the ended task transaction 128. The dispute data 130 can indicate that the entire ended task transaction 128 is completely disputed.

[0070] In some implementations, the user device sends a signal indicating the dispute, such as dispute data 130, to the platform device 104. The platform device 104 may send the dispute data 130 to the blockchain 116, where the dispute is recorded in the blockchain 116 corresponding to the output address 120. In some implementations, the user device directly sends the data indicating the dispute to be stored on the blockchain 116. For example, the user device 108 may send the dispute data 130 to the output address 120. In some implementations, the user device 108 may send the dispute data 130 to the storage device 118. The storage device 118 may be a node in the blockchain 116. The storage device 118 or another node in the blockchain 116 may write the dispute data 130 to the blockchain 116 corresponding to the output address 120.

[0071] In some implementations, the number of disputes that a user can submit is limited. For example, to prevent excessive disputes, the platform device 104 or one or more devices operating the blockchain 116 can track the number of disputes for each user of the user devices 106, 108, and 110. In some implementations, the number of disputes for each user is tracked in the blockchain 116. When a user submits dispute data to the blockchain, one or more other blockchain users can check the blockchain 116 to determine whether the number of disputes that the user has submitted is within a threshold number of disputes. In some implementations, to write a dispute to the blockchain 116, a node of the blockchain checks the current total number of disputes for the user and determines that the current total number of disputes for the user meets one or more criteria (such as being below a total dispute threshold, etc.).

[0072] When the platform device 104 receives a dispute from a user, the platform device 104 may obtain from storage one or more values ​​indicating the current total number of disputes raised by the given user. In some implementations, the one or more values ​​are stored in the blockchain 116. If the current total number meets the threshold criteria, the platform device 104 may record the dispute on the output address 120.

[0073] In some implementations, after a certain amount of time, or action by the platform device 104 or the user, the dispute count for a given user is reset. For example, after one month, the dispute count may be reset. This may be a tunable or otherwise configurable parameter of the platform 102 to prevent users from filing frivolous or fraudulent disputes while enabling users to file a sufficient number of legitimate disputes.

[0074] In some implementations, if a threshold number of users file a dispute for a given record, the dispute is not added to the current total number of disputes for the user. For example, if more than a threshold percentage of users on the platform 102 file a dispute for a record provided by the control device 114, the dispute can be considered legitimate. In some implementations, if the dispute is considered legitimate, the dispute count is not increased. For example, users can file more than a certain threshold of disputes as long as at least one of the disputes is considered a legitimate dispute.

[0075] In some implementations, the control device 114 provides collateral before becoming the control device 114. For example, the control device 114 may provide a portion of a digital currency (such as Bitcoin or Ethereum). The control device 114 may provide a portion of another form of legal currency such as the U.S. dollar, or another type of asset. The control device 114 may provide collateral through a currency exchange system. After providing collateral, the control device 114 may passively or actively monitor one or more group tasks (such as Figure 1 The control device 114 may store records for each of the one or more group tasks. For example, the control device 114 may record the task data 122 and the data indicating the completion of the task in the side chain 124.

[0076] In some implementations, a pledge provided by the control device 114 is used as collateral. For example, if a threshold number of disputes are received for one or more records provided by the control device 114, the pledge provided by the control device 114 can be removed from the verified address of the control device 114. In some implementations, a threshold number of disputes for a particular record (such as an end task transaction 128, etc.) is sufficient to cause the control device 114 to lose its pledge. In some implementations, repeated disputes raised against the same control device 114 cause the control device 114 to lose its pledge.

[0077] In some implementations, the dispute is recorded in the blockchain 116. For example, the sidechain data 132 obtained from the output address 120 may include the dispute data 130. The sidechain data 132 may be added to one or more blocks of the blockchain 116. One or more devices implementing the blockchain 116 or one or more automated processes such as smart contracts may identify one or more disputes recorded in the blockchain 116. As described herein, the number of disputes may be recorded for users of the user devices 106, 108, and 110 and control devices such as the control device 114.

[0078] In some implementations, one or more devices implementing blockchain 116 or one or more automated processes such as smart contracts remove the pledge corresponding to the control device. For example, after the sidechain data 132 including the end task transaction 128, the dispute data 130, and the departure data 126 are recorded in the blockchain 116, the one or more devices implementing blockchain 116 or one or more automated processes such as smart contracts can access the account address corresponding to the control device 114 and remove a portion of the asset from the address. In some implementations, removing a portion of the asset includes reducing the value corresponding to one or more assets.

[0079] In some implementations, after a control device loses the pledge, they are prohibited from becoming a control device again. For example, if a control device 114 loses the pledge it provided as a control device of the platform 102, one or more devices of the blockchain 116 may record a transaction in the blockchain 116 indicating that the control device 114 is prohibited from becoming a control device. In some implementations, the platform device 102 obtains a list of prohibited devices corresponding to prohibited addresses before selecting a control device for operation of a recorded task. For example, the platform device 102 may obtain a set of verified addresses and a set of prohibited addresses, and determine addresses that are not prohibited and verified as control devices based on comparing the verified addresses to the set of prohibited addresses.

[0080] In some implementations, one or more devices implementing blockchain 116 or one or more automated processes such as smart contracts provide rewards to one or more user devices 106, 108, and 110. For example, based on sidechain data 132, rewards are calculated for each user of user devices 106 and 110. Since the user of user device 108 left the platform 102 before the task was completed, the user can be removed from the reward pool. In this way, users are incentivized to complete more tasks and not leave after making partial contributions.

[0081] In some implementations, rewards are provided by one or more devices implementing blockchain 116 or one or more automated processes such as smart contracts. For example, rewards can be provided based on sidechain data 132. In some implementations, rewards correspond to adjustable ratios. For example, in competitive tasks such as games, winners can be given larger rewards than losers or spectators. In some implementations, rewards correspond to the duration of the task. For example, tasks that take longer to complete can generate larger rewards for participants. In this way, users are not only motivated to complete as many tasks as possible, but also motivated to spend time participating in the tasks.

[0082] In collaborative tasks such as legal document management or planning and others, the reward can be constant for each participation. In some implementations, users who perform more actions are provided with more rewards. For example, in collaborative tasks, users who provide more comments, feedback, edits, and other data can get more rewards than users who provide less data. Usually, the reward ratio is adjusted according to the implementation. The reward ratio can be used as a means to control the incentive of the task. If the incentive is to keep users playing games, then the ratio that makes the winner get more rewards than the loser may be effective in terms of incentive participation. If the incentive is to make users complete tasks, then the reward ratio that rewards participants only when the participants complete the tasks may be effective.

[0083] In some implementations, rewards are adjusted over time. For example, if inflation is a concern for a given implementation, the reward ratio can be adjusted to reduce the reward over time. If more participation in a task is expected over a specific time period, the reward can be increased. In general, rewards can be controlled by components of the system 100. In some implementations, the platform device 104 provides data indicating the reward ratio to the blockchain 116. For example, the reward ratio can be written in a smart contract. Then, after the task is completed, the smart contract can be executed to distribute the reward to an address corresponding to a user (such as a user of user devices 106, 108, and 110, etc.).

[0084] In some implementations, the task is a multiplayer video game. For example, users of user devices 106, 108, and 110 can play a video game on a gaming platform 102 that connects the users. As described herein, after completing the game, the users can receive rewards for the time they spent playing the game.

[0085] In some implementations, multiplayer video game tasks include pairing, matches, and results based on the matches. For example, pairing can include logging a user into a platform (e.g., platform 102) such as XBOX or STEAM and other game distribution providers. The platform can provide a framework for finding other players. In some cases, players can find other players through direct communication (such as through a point-to-point connection or other types of connections). The found players can join the lobby through the platform before starting the match. Players can agree to the parameters of the match (such as the type of game and the specific features of the task, etc.). In the context of the game, specific features can include starting resources, building deposits, building refunds, severity, teams, and others. The host can be automatically selected, such as by processing of the platform or by the type of random or pseudo-random selection. After the player agrees to the parameters, the game can start, and, for example, as Figure 1 As described, statistics of the game may be recorded by a selected host, which may be referred to as a control device (such as control device 114).

[0086] During or after a match, a player may upload specific data to an output address (e.g., output address 120). For example, players who agree to match parameters in a matchmaking lobby and then start a game may each provide data indicating game features. Features may include cheating reports, software vulnerabilities, objections to records made by a controlling user, and others. In some implementations, a graphical user interface (GUI) is provided on a user device to provide the user with the ability to provide data in a form or as part of another presentation. The data may then be included in a data packet and stored in a blockchain corresponding to the output address.

[0087] After the game is completed, the control device can automatically submit all relevant stored data of the captured statistics from the game to an output address (such as output address 120, etc.). Players (including players playing in the game) can view the final score and data related to the game. Once the transaction of the control device is written to the output address, the blockchain network automatically mints coins to the user (for example, as a reward). Figures 1 to 3 As discussed, the coins minted to a user depend on the statistics recorded by the control device. In some implementations, users who perform better on a task or spend more time on a task receive more minted coins than users who perform worse on a task or spend less time on a task. In general, systems such as system 100 can use any suitable logic (which can vary over time) to distribute minted coins to players of a match or users who perform a task together.

[0088] Advantageous implementations may include one or more of the following features. For example, the platform can efficiently generate a record of the user's task progress, the incentive completion of the task, and the time spent completing the task. The reward ratio can be used to correctly motivate users. Unlike traditional mining techniques (such as PoS and PoW, etc.) that only reward one user who participates in mining, the described PoP technology allows more than one user to be rewarded, and thereby motivates more users to participate in completing the task. In addition, the described PoP technology can save energy and time compared with traditional mining techniques. For example, the implementation of the side chain and the selected control device can be used to improve the efficiency of recording the details of the task completion. Compared with directly submitting data to be recorded in the blockchain, time and energy can be saved. In addition, attack vectors and fraudulent behavior can be prevented by requiring the verified address of the user on the platform and selecting the control device based on the identified verified address and the corresponding pledge provided by the selected control device. As described herein, other advantages may include the ability of the system 100 to record group tasks in a decentralized manner.

[0089] In some implementations, only users with verified addresses can participate in a PoP. Participating in a PoP can include becoming a user (such as a user of user devices 106, 108, and 110) and becoming a host of a control device (such as control device 114).

[0090] In some implementations, there is a minimum time between the start task transaction and the end task transaction. For example, the minimum time can be set by a developer, recorded in the blockchain 116, or determined by the platform device 104. The minimum time can be expressed in time units (e.g., seconds, minutes) or the number of generated blocks of the blockchain 116 or the side chain 124. End task transactions indicating that the task end time does not meet the minimum time (e.g., less than the minimum time or less than or equal to the minimum time) can be identified by automated processing or the platform device 104. Depending on the implementation, the corresponding task can be invalidated or the corresponding reward can be reduced.

[0091] In some implementations, a control device is only a control device for one task at a time. In some implementations, a control device cannot be a control device for another task until the control device issues a previous end-task transaction for the previous task.

[0092] In some implementations, a user completes one task at a time. For example, a user must complete a first task before starting a second task. In some implementations, a user starts a new task before a control device records an end-task transaction in blockchain 116. For example, a user may have left platform 102 or a particular task and wants to start a new task. The control device may be delayed in publishing an end-task transaction, or may not publish an end-task transaction at all. Typically, system 100 may be configured not to delay or prohibit a user from completing a new task. One or more devices of platform device 104 or blockchain 116 may allow a user to start a new task or receive a reward for a new task.

[0093] In some implementations, if an end task transaction including a specific user is issued by the control device to indicate the time when the task is completed, and the time is after the time of a new start task transaction including the specific user, the specific user is kicked out of the current task or the assets are deducted. For example, the platform 102, the platform device 104, or the code (such as a smart contract, etc.) run by the device of the blockchain 116 can determine that the specific user started the task before completing another task. Depending on the implementation, the platform device 104 or an automated code such as a smart contract can be configured to identify the record on the blockchain 116 and prohibit the user or remove the assets. This encourages users to join a large number of tasks without actual contribution or help.

[0094] In some implementations, there is a threshold number of tasks that a user may participate in before being banned or otherwise de-motivated. For example, a user on a given platform may multi-task to a certain extent, e.g., participating in a threshold number of tasks, where beyond that threshold number of tasks, the user is likely to be using a bot or other mechanism designed to exploit PoP operations.

[0095] Figure 2 is a flow chart illustrating an example of a process 300 for allocating rewards based on group participation in a task. The process 300 may be performed by one or more electronic systems (e.g., Figure 1 The system 100) is performed.

[0096] Process 300 includes providing a set of one or more task parameters (202). For example, each of user devices 106, 108, and 110 can agree on one or more task parameters 111 and participants of the task (such as user devices 106, 108, and 110). In some implementations, platform 104 provides task parameters 111 to each of user devices 106, 108, and 110. In some implementations, each of user devices 106, 108, and 110 provides task parameters 111 to each other.

[0097] Process 300 includes storing a start task transaction (204) including one or more task parameters signed by two or more users. For example, in response to a consensus between two or more users (such as user devices 106, 108, and 110, etc.), system 100 can store a start task transaction including a set of one or more task parameters (e.g., task parameters 111). The task parameters can be signed by each of the two or more users (e.g., user devices 106, 108, and 110) according to a cryptographic process. In some implementations, storing start task transaction 112 includes sending start task transaction 112 to a mining node of blockchain 116 to write start task transaction 112 to a ledger of blockchain 116.

[0098] Process 300 includes storing an end task transaction at an address on the blockchain (206). For example, system 100 may store end task transaction 128 at output address 120. In some implementations, output address 120 is an account address (e.g., an account or wallet address) on blockchain 116 that is not owned or controlled by any user of user devices 106, 108, and 110, platform device 104, or control device 114. End task transaction 128 may include data corresponding to task data 122, which includes data associated with actions taken by two or more users (e.g., users of user devices 106, 108, and 110 or user devices 106, 108, and 110) during the performance of a task.

[0099] Process 300 includes determining respective rewards for two or more users (208). For example, system 100 may determine a reward for a user corresponding to user device 106, a reward for a user corresponding to user device 108, and a reward for a user corresponding to user device 110 based on start task transaction 112 and end task transaction 128. In some implementations, system 100 including one or more nodes of blockchain 116 determines a reward for one or more users of user devices 106, 108, and 110 based on task data 122. In some implementations, Figure 1 The winner of the task shown, or the user who performed the most actions or the best quality actions, is given a larger reward than other users.

[0100] Process 300 includes recording the corresponding reward in the blockchain (210). For example, a node of blockchain 116 may include a transaction that allocates a certain amount of currency to one or more accounts associated with user devices 106, 108, 110. The node may include the transaction in a block of blockchain 116. Based on the operation of blockchain 116, the accounts associated with user devices 106, 108, and 110 may be adjusted according to the determined corresponding reward for each corresponding user.

[0101] Figure 3 1 is a diagram illustrating an example of a computing system for allocating rewards based on group participation in a task. The computing system includes a computing device 300 and a mobile computing device 350 that can be used to implement the techniques described herein. For example, one or more components of the system 100 can be an example of the computing device 300 or the mobile computing device 350 (such as a computer system, etc.), which includes one or more computing instances and implements one or more of the storage device 118, the platform device 104, the user devices 106, 108 and 110, and the control device 114.

[0102] One or more components of system 100 may be an example of a computing device 300 or a mobile computing device 350 (such as a computer system, etc.) that includes one or more computing instances and implements a device for accessing information from one or more of a storage device 118, a platform device 104, user devices 106, 108 and 110, and a control device 114.

[0103] One or more components of system 100 may be an example of computing device 300 or mobile computing device 350 (such as a computer system, etc.) that includes one or more computing instances and implements one or more servers that access or store information related to operations performed by one or more of storage device 118, platform device 104, user devices 106, 108 and 110, and control device 114.

[0104] Computing device 300 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers, etc. Mobile computing device 350 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, mobile embedded radio systems, radio diagnostic computing devices, and other similar computing devices, etc. The components shown here, their connections and relationships, and their functions are meant to be examples only, and are not meant to be limiting.

[0105] The computing device 300 includes a processor 302, a memory 304, a storage device 306, a high-speed interface 308 connected to the memory 304 and a plurality of high-speed expansion ports 310, and a low-speed interface 312 connected to a low-speed expansion port 314 and the storage device 306. The processor 302, the memory 304, the storage device 306, the high-speed interface 308, the high-speed expansion port 310, and the low-speed interface 312 are each interconnected using various buses and can be mounted on a common motherboard or otherwise appropriately mounted. The processor 302 can process instructions for execution within the computing device 300, including instructions stored in the memory 304 or on the storage device 306 to display graphical information used by the GUI on an external input / output device (such as a display 316 coupled to the high-speed interface 308, etc.). In other implementations, multiple processors and / or multiple buses can be used with multiple memories and memory types as appropriate. In addition, multiple computing devices can be connected (for example, as a server bank, a group of blade servers, or a multi-processor system), where each device provides a portion of the operation. In some implementations, the processor 302 is a single-threaded processor. In some implementations, the processor 302 is a multi-threaded processor. In some implementations, the processor 302 is a quantum computer.

[0106] The memory 304 stores information within the computing device 300. In some implementations, the memory 304 is one or more volatile memory units. In some implementations, the memory 304 is one or more non-volatile memory units. The memory 304 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.

[0107] The storage device 306 can provide mass storage for the computing device 300. In some implementations, the storage device 306 can be or include a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device or a tape device, a flash memory or other similar solid-state memory device, or a device array, including a device in a storage area network or other configuration. Instructions can be stored in an information carrier. These instructions, when executed by one or more processing devices (e.g., processor 302), perform one or more methods such as the above methods. These instructions can also be stored by one or more storage devices such as a computer or machine-readable medium (e.g., memory 304, storage device 306, or memory on processor 302). The high-speed interface 308 manages bandwidth-intensive operations of the computing device 300, while the low-speed interface 312 manages lower bandwidth-intensive operations. Such functional allocation is only an example. In some implementations, the high-speed interface 308 is coupled to the memory 304, to the display 316 (e.g., through a graphics processor or accelerator), and to a high-speed expansion port 310 that can accept various expansion cards (not shown). In an implementation, the low-speed interface 312 is coupled to the storage device 306 and the low-speed expansion port 314. The low-speed expansion port 314, which can include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can be coupled to one or more input / output devices (such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, etc.), such as through a network adapter.

[0108] As shown, computing device 300 can be implemented in a variety of different forms. For example, computing device 300 can be implemented as a standard server 320, or multiple times in a group of such servers. In addition, computing device 300 can be implemented in a personal computer such as laptop computer 322. Computing device 300 can also be implemented as part of a rack server system 324. Alternatively, components from computing device 300 can be combined with other components in a mobile device (such as mobile computing device 350). Each device in such a device can include one or more of computing device 300 and mobile computing device 350, and the entire system can be composed of multiple computing devices that communicate with each other.

[0109] The mobile computing device 350 includes a processor 352, a memory 364, an input / output device such as a display 354, a communication interface 366, and a transceiver 368, among other components. The mobile computing device 350 may also be provided with a storage device (such as a micro drive or other device) to provide additional storage. The processor 352, the memory 364, the display 354, the communication interface 366, and the transceiver 368 are each interconnected using various buses, and several of these components may be mounted on a common motherboard or otherwise appropriately mounted.

[0110] The processor 352 may execute instructions within the mobile computing device 350, including instructions stored in the memory 364. The processor 352 may be implemented as a chipset including individual or multiple analog and digital processors. The processor 352 may provide, for example, coordination of other components of the mobile computing device 350, such as controlling a user interface, applications executed by the mobile computing device 350, and wireless communications utilizing the mobile computing device 350.

[0111] The processor 352 can communicate with the user through the control interface 358 and the display interface 356 coupled to the display 354. The display 354 can be, for example, a TFT (thin film transistor liquid crystal display) display or an OLED (organic light emitting diode) display or other suitable display technology. The display interface 356 may include appropriate circuits for driving the display 354 to present graphics and other information to the user. The control interface 358 may receive commands from the user and convert the commands for submission to the processor 352. In addition, the external interface 362 can provide communication with the processor 352 to enable near-field communication of the mobile computing device 350 with other devices. The external interface 362 can provide, for example, wired communication in some implementations, or wireless communication in other implementations, and multiple interfaces can also be used.

[0112] The memory 364 stores information within the mobile computing device 350. The memory 364 may be implemented as one or more of one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. An expansion memory 374 may also be provided, and the expansion memory 374 may be connected to the mobile computing device 350 via an expansion interface 372 (which may include, for example, a SIMM (Single In-line Memory Module) card interface). The expansion memory 374 may provide additional storage space for the mobile computing device 350, or may also store applications or other information for the mobile computing device 350. Specifically, the expansion memory 374 may include instructions for performing or supplementing the above-mentioned processing, and may also include security information. Thus, for example, the expansion memory 374 may be provided as a security module for the mobile computing device 350, and may be programmed with instructions that permit secure use of the mobile computing device 350. In addition, security applications and additional information may be provided via a SIMM card, such as placing identification information on a SIMM card in an unbreakable manner.

[0113] As discussed below, the memory may include, for example, flash memory and / or NVRAM memory (non-volatile random access memory). In some implementations, instructions are stored in an information carrier such that when executed by one or more processing devices (e.g., processor 352), one or more methods such as the above methods are performed. The instructions may also be stored by one or more storage devices, such as one or more computer or machine readable media (e.g., memory 364, expansion memory 374, or memory on processor 352). In some implementations, the instructions may be received, for example, in a propagated signal by transceiver 368 or external interface 362.

[0114] The mobile computing device 350 can communicate wirelessly through the communication interface 366 (which, in some cases, can include digital signal processing circuitry). The communication interface 366 can provide communication in various modes or protocols such as: GSM voice calls (Global System for Mobile Communications), SMS (Short Message Service), EMS (Enhanced Messaging Service) or MMS messaging (Multimedia Messaging Service), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), PDC (Personal Digital Cellular), WCDMA (Wideband Code Division Multiple Access), CDMA2000 or GPRS (General Packet Radio Service), LTE, 5G / 6G cellular and others. Such communication can occur, for example, using radio frequencies through the transceiver 368. In addition, short-range communications can occur, such as using Bluetooth, Wi-Fi or other such transceivers (not shown). In addition, the GPS (Global Positioning System) receiver module 370 can provide additional navigation and location-related wireless data to the mobile computing device 350, which can be used appropriately by applications running on the mobile computing device 350.

[0115] Mobile computing device 350 may also communicate audibly using audio codec 360, which may receive verbal information from a user and convert it into usable digital information. Audio codec 360 may likewise generate audible sounds for the user, such as through a speaker in an earpiece of mobile computing device 350, for example. Such sounds may include sounds from voice phone calls, may include recorded sounds (e.g., voice messages, music files, and others), and may also include sounds generated by applications operating on mobile computing device 350.

[0116] As shown, mobile computing device 350 can be implemented in a number of different forms. For example, mobile computing device 350 can be implemented as a cellular phone 380. Mobile computing device 350 can also be implemented as part of a smart phone 382, ​​a personal digital assistant, or other similar mobile device.

[0117] Many implementations have been described. However, it will be appreciated that various modifications may be made without departing from the spirit and scope of the present invention. For example, various forms of the processes shown above may be used by reordering steps, adding steps, or deleting steps.

[0118] The embodiments described herein and all functional operations described in this specification can be implemented in digital electronic circuits, or in computer software, firmware or hardware (including the structures disclosed in this specification and their structural equivalents), or in one or more combinations thereof. The embodiments described in this application can be implemented as one or more computer program products, for example, one or more modules of computer program instructions encoded on a computer-readable medium for a data processing device to execute or control the operation of the data processing device. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of a material that implements a machine-readable propagation signal, or one or more combinations thereof. The term "data processing device" includes all devices, devices and machines for processing data, including, for example, a programmable processor, a computer, or a plurality of processors or computers. In addition to hardware, the device can also include a code that creates an execution environment for the computer program in question, for example, a code that constitutes a processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated for the purpose of encoding information for transmission to suitable receiver equipment.

[0119] A computer program (also referred to as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple collaborative files (e.g., files storing one or more modules, subroutines, or code portions). A computer program may be deployed to execute on one computer or on multiple computers located at one site or distributed between multiple sites and interconnected by a communication network.

[0120] The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and the apparatus may be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

[0121] The processor suitable for the execution of computer programs includes, for example, a general-purpose microprocessor and a special-purpose microprocessor, and any one or more processors of any kind of digital computer. Generally, the processor will receive instructions and data from a read-only memory or a random access memory or both. The necessary element of a computer is a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include one or more large-capacity storage devices such as a disk, a magneto-optical disk, or an optical disk for storing data, or be operably coupled to receive or transmit data relative to the one or more large-capacity storage devices or receive and transmit both. However, the computer does not need to have such a device. In addition, the computer can be embedded in another device such as the following: to name just a few examples, a tablet computer, a mobile phone, a personal digital assistant (PDA), a mobile audio player, a global positioning system (GPS) receiver. Computer-readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including, for example, the following: semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices, etc.); magnetic disks (e.g., internal hard disks and removable disks, etc.); magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0122] To provide interaction with a user, the embodiments described in this application may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or tracking ball) by which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including sound, voice, or tactile input.

[0123] The embodiments described in this application may be implemented in a computing system that includes a back-end component (e.g., as a data server), or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with an implementation of the embodiments described in this application), or includes any combination of one or more such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), such as the Internet.

[0124] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on respective computers and having a client-server relationship to each other.

[0125] Although this specification contains many details, these should not be interpreted as limitations on the scope of the application or the scope of the content that may be claimed, but should be interpreted as descriptions of the specific features of the specific embodiments described in this application. The specific features described in the context of the separate embodiments in this specification can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of the single embodiment can also be implemented individually or in any suitable sub-combination in multiple embodiments. In addition, although the features may be described as working in a specific combination and even initially claimed as such, one or more than one feature from the claimed combination can be removed from the combination in some cases, and the claimed combination can involve a sub-combination or a deformation of the sub-combination.

[0126] Similarly, although operations are depicted in a particular order in the accompanying drawings, this should not be interpreted as requiring that these operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed to achieve the desired result. In certain circumstances, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described may generally be integrated together in a single software product or encapsulated in multiple software products.

[0127] In each instance where an HTML file is mentioned, other file types or formats may be substituted. For example, an HTML file may be replaced by XML, JSON, plain text, or other types of files. Also, where a table or hash table is mentioned, other data structures (such as a spreadsheet, a relational database, or a structured file, etc.) may be used.

[0128] Certain embodiments have been described. Other embodiments are within the scope of the following claims. For example, the steps recited in the claims can be performed in a different order and still achieve desirable results.

Claims

1. A method comprising: providing, using one or more processing devices, to each of two or more users, a set of one or more task parameters for a group task; Responsive to consensus between the two or more users, storing a start task transaction, the start task transaction comprising the set of the one or more task parameters signed by each of the two or more users according to a cryptographic process; storing an end task transaction at an address on a blockchain that is independent of the two or more users, wherein the end task transaction includes task data associated with actions taken by the two or more users during performance of the set of tasks; determining respective rewards for at least a subset of the two or more users based at least on the starting task transaction and the ending task transaction; and The corresponding reward is recorded in the blockchain.

2. The method according to claim 1, comprising: Utilizing the one or more processing devices, a controlling user is selected, wherein a user device associated with the controlling user obtains the task data and generates the end-task transaction, and wherein a stake reward is associated with the controlling user.

3. The method according to claim 2, comprising: storing, at the address in the blockchain, one or more data items indicating a dispute associated with an action taken by the controlling user; as well as The staking reward is removed from the controlling user's account address.

4. The method according to claim 1, comprising: obtaining data corresponding to one or more blocks of the blockchain; as well as Based on the data corresponding to the one or more blocks of the blockchain, it is determined that the account addresses of the two or more users are valid.

5. The method according to claim 1, comprising: obtaining data corresponding to one or more blocks of the blockchain; Based on data corresponding to the one or more blocks of the blockchain, determining that at least one of the two or more users is participating in another set of tasks; as well as In response to determining that at least one of the two or more users is participating in another set of tasks, preventing the at least one of the two or more users from receiving rewards from both sets of tasks.

6. The method according to claim 1, comprising: obtaining an account address and an identifier of a user among the two or more users; providing the user's account address and identifier to the blockchain; obtaining one or more votes indicating approval or rejection of the user; as well as Based on the one or more votes, recording the user's account address as a verified address.

7. The method according to claim 6, comprising: determining a percentage number of votes indicating approval or rejection of the user based on the one or more votes; as well as Based on the percentage of the vote, the user's account address is recorded as the verified address.

8. The method according to claim 1, comprising: Prior to generating the start task transaction, a verified address is determined for each of the two or more users.

9. The method according to claim 1, wherein: The address of the blockchain represents the account address on the blockchain.

10. The method according to claim 1, wherein: The address of the blockchain is determined by a node of the blockchain based on a hash value of the start task transaction.

11. The method according to claim 1, comprising: A connection group is generated by using the one or more processing devices for the two or more users to complete the group task through the online service.

12. The method according to claim 1, wherein: Each of the two or more users corresponds to an account address, and wherein recording the corresponding reward in the blockchain comprises: One or more values ​​indicative of a portion of the respective reward are recorded to each account address corresponding to each user in the subset.

13. The method according to claim 1, wherein: Determining respective rewards for at least the subset of the two or more users based at least on the start task transaction and the end task transaction comprises: Respective rewards for at least two of the two or more users are determined based at least on time spent by at least two of the two or more users on the group of tasks.

14. The method according to claim 1, wherein: The set of one or more task parameters is signed by a device of a controlling user, and wherein the device obtains the task data and generates the end task transaction.

15. The method according to claim 1, comprising: Task data associated with actions taken by the two or more users during performance of the set of tasks is received, utilizing the one or more processing devices.

16. The method according to claim 1, wherein: The actions taken by the two or more users during performance of the set of tasks include virtual actions taken by the two or more users within a virtual gaming environment.

17. A non-transitory computer readable medium storing one or more instructions executable by a computer system to perform operations comprising: providing a set of one or more task parameters for a group task to each of the two or more users; Responsive to consensus between the two or more users, storing a start task transaction, the start task transaction comprising the set of the one or more task parameters signed by each of the two or more users according to a cryptographic process; storing an end task transaction at an address on a blockchain that is independent of the two or more users, wherein the end task transaction includes task data associated with actions taken by the two or more users during performance of the set of tasks; determining respective rewards for at least a subset of the two or more users based at least on the starting task transaction and the ending task transaction; and The corresponding reward is recorded in the blockchain.

18. The non-transitory computer readable medium of claim 17, the operations comprising: A controlling user is selected, wherein a user device associated with the controlling user obtains the task data and generates the end task transaction, and wherein a stake reward is associated with the controlling user.

19. The non-transitory computer readable medium of claim 18, the operations comprising: storing, at an address on the blockchain, one or more data items indicating a dispute associated with an action taken by the controlling user; as well as The staking reward is removed from the controlling user's account address.

20. A computer-implemented system comprising: one or more computers; as well as One or more computer storage devices interoperably coupled to the one or more computers and having a tangible, non-transitory machine-readable medium for storing one or more instructions that, when executed by the one or more computers, perform one or more operations, the one or more operations comprising: providing a set of one or more task parameters for a group task to each of the two or more users; Responsive to consensus between the two or more users, storing a start task transaction, the start task transaction comprising the set of the one or more task parameters signed by each of the two or more users according to a cryptographic process; storing an end task transaction at an address on a blockchain that is independent of the two or more users, wherein the end task transaction includes task data associated with actions taken by the two or more users during performance of the set of tasks; determining respective rewards for at least a subset of the two or more users based at least on the starting task transaction and the ending task transaction; and The corresponding reward is recorded in the blockchain.