Skip to content

Overview

Introduction#

This technical documentation provides an overview of the architecture and components of the HUMAN Protocol, a framework designed to facilitate decentralized human labor for jobs. The Protocol consists of four key operators, each with distinct responsibilities:

  • Job Launcher: The Job Launcher Operator is responsible for initiating jobs that need to be processed or solved by workers within the protocol.
  • Exchange Oracle: The Exchange Oracle is in charge of distributing these jobs to the workers, ensuring that they understand the job and can provide solutions.
  • Recording Oracle: The Recording Oracle plays a crucial role in storing the responses provided by workers and recording them on the blockchain. It also validates the correctness of these responses.
  • Reputation Oracle: The Reputation Oracle is responsible for verifying the responses previously validated by the Recording Oracle. It also manages payments to both workers and oracles involved in the job resolution process. The Reputation Oracle tracks and manages the reputation of both workers and oracles, adjusting their reputation based on their performance.

Beyond these operators, there is an additional layer that functions as a bridge between workers and the tasks they need to address. Within this layer, two services exist:

  • HUMAN App: this serves as the gateway for workers to enter the protocol. Through the HUMAN App, workers can register and become active participants in HUMAN job markets, gaining access to the list of tasks available for resolution.
  • Annotation Tool: this is the tool utilized by workers to complete data-annotation tasks.

Job Requester Workflow#

A job requester refers to an individual, organization, or entity responsible for initiating a task or project within HUMAN protocol. Such requesters are in search of particular services or tasks to be executed, usually by individuals or workers equipped with the necessary skills or qualifications. They define the job's parameters and requirements, establishing compensation terms, and submitting the job for execution. These requesters must register with the Job Launcher and detail the tasks they need addressed, ensuring the jobs are funded and specifying the job type and the oracles involved.

When a job requester decides to initiate a new job, the process unfolds as follows:

  1. The job requester visits the Job Launcher, and proceeds with registration if not already registered.
  2. The job requester is presented with a list of available job types, and select the one that best suits their requirements.
  3. Based on their job type selection, the job requester can select the chain where the job will be launched.
  4. The requester funds the job.
  5. Before launching the job on the blockchain, the Job Launcher creates a manifest file containing all the metadata related to the job.
  6. The Job Launcher creates a smart contract (escrow) on the blockchain and configures it. The funds provided by the job requester for rewarding workers are sent to this contract.
  7. Upon job creation, the Job Launcher notifies the Exchange Oracle via a webhook, signaling that the job has been created and can be assigned to workers.
  8. After the task is finished, the job requester has the ability to examine the outcomes produced by the Protocol via the Job Launcher.

Worker Workflow#

This is the workflow that workers follow to participate in job tasks:

  1. Workers must first register and complete an identity verification process within the HUMAN App. Their verification data is then processed by the Reputation Oracle.
  2. After registration, workers log in using the HUMAN App.
  3. The HUMAN App gathers a list of Exchange Oracles and their available tasks and presents them to the user, enabling them to select the one that best fits their skills.
  4. Workers then receive the details of the tasks they need to solve from the Exchange Oracle, and proceed to provide their solutions.
  5. Workers get redirected to the Annotation Instrument or the Exchange Oracle interface (if no annotation instrument is needed) to solve the task.
  6. The Exchange Oracle receives and stores the solutions in a file, notifying the Recording Oracle when the file is complete, or in batches of successful tasks.
  7. The Recording Oracle validates the solutions, recording the results in an Intermediate Results file. Once this file is ready, the Recording Oracle interacts with the escrow contract to store the URL on the blockchain.
  8. The Recording Oracle triggers a Webhook to notify the Reputation Oracle, which takes charge of reviewing the uploaded solutions and making payments to the workers involved in the task.
  9. Worker and oracle reputations are adjusted based on the quality of responses provided during the task.
  10. Once all desired solutions are received, the Reputation Oracle concludes the process, preventing further solutions or payments.

Conclusion#

HUMAN Protocol provides a framework for the decentralized processing of human tasks, ensuring trust and security through its various oracles and smart contract mechanisms. The Protocol offers a structured workflow for job requesters and workers, managing payments and reputation throughout the process, ultimately enabling efficient and trustworthy task resolution.