The Protocol enables Requesters of work to choose from job types supported by Exchanges, then create a job specification and set of tasks to complete. This is distributed by the Exchange to workers. Optimized execution of jobs by Exchanges is also possible. In this process, the Exchange can intelligently split jobs into smaller pieces. For example, when a Requester submits a medical document for labelling to a HUMAN Exchange, the Exchange can factor this into multiple sub-tasks: understanding where fields are on a page, what type of field each is, and what the contents of the field contain. Each sub-task can be represented by a standard job type.
The Exchange then distributes these sub-tasks to other Exchanges that support those job types, which make sure that each part reaches an appropriate worker, whether human or machine or both. For example, complicated medical terminology may need to go to an Exchange with qualified doctors. Simple tasks may have no such constraints. As Workers submit their individual answers, the Exchange submits results to a Recording Oracle, which does an initial evaluation and aggregates the work into chunks. These chunks are evaluated by a Reputation Oracle, which performs payouts and computes a final result for the Requester.
A job is a request for work – represented as a block of tasks to be done – published by the Requester. There are many standard job types represented within HUMAN Protocol. Alternatively, the Requester can select a custom job type.
Jobs are broken down into their composite tasks, each of which can be independently completed by a worker. An example of a job type may be to scan a page. An example of a task within that job type may be to type in the displayed letters or numbers, or affirm their correctness.
A single job can be made up of millions of tasks. An organization may want to develop a dataset targeted at a specific topic, achieved through the completion of thousands or millions of tasks by a distributed workforce.
In a HUMAN-Protocol-powered application, an individual task may represent any point of human-to-machine interaction.
A task is any labor performed by a user – a worker – in which value is produced. Each task represents an individual work interaction: the labeling of data, the identification of correct information, the solving of a puzzle.
For many types of jobs – such as the labeling of data – the result is improved through the diversity of the workforce completing it. Global diversity in human-to-machine interactions is critical to empowering a new generation of AI and ML technologies.
Globally mapped connections – direct and secure – bring workers closer to the rewards of their work, organizations to workforces, and machines to understanding.
Every transfer is a handshake, signifying work requested, work completed, and transactions made. A single job can contain thousands or millions of tasks, completed by workers distributed across the globe.
A smart bounty is a software algorithm that runs on the blockchain. When the Requester submits a job, they initiate a smart bounty. The smart bounty contains information about: the type of job, the number of answers sought, the bid amounts, expiration date, whether or not the content is "safe" for all ages, and optional worker requirements, such as targeting a specific audience, or only reaching workers with a certain trust score.
Attached to the smart bounty is a sum of HMT Tokens, held in escrow. When it registers that a job is complete, the smart bounty releases the HMT ‘bounty’ to the Worker. If the job is declined or cancelled, the bounty returns to the Requester.
Smart bounties cannot be changed after creation, so no one can tamper with them or change the rules. This means all parties know that the rules will be enforced and payment made if work meets the requirements specified.
No blockchain today can directly handle the scale of transactions already leveraging HUMAN technology. The Protocol thus uses blockchain technology for what it does best: ensuring settlement and fairness.
Because the Protocol is used to ensure rewards are fairly distributed to network participants, both workers and requesters of work can rely on software rather than people to keep their bargains.
However, for performance reasons some actions must occur off-chain in order to enable true web-scale services to be built on HUMAN. For those requirements, the Protocol uses Oracles.
These collect Workers’ answers and provide a rolling evaluation of answer quality. They pass on their data to the Reputation Oracle. For the service they provide on the network, recording oracles receive compensation in HMT via HUMAN smart bounty.
These oversee the entire job, make the final evaluation of answer quality, and attribute reputation scores to the Workers. The Reputation Oracle is the only agent in the Protocol that can read private validation data encrypted in the smart bounty, and it is responsible for comparing answers with the task specifications written into the smart bounty. As tasks within a job are completed successfully, the Reputation Oracle updates the blockchain to trigger the release of the HMT bounty to the Workers who participated accurately in the completion of those tasks.