Your browser (Internet Explorer) is out of date. Please download one of these up-to-date, free and excellent browsers:
For more security speed and comfort.
The download is safe from the vendor's official website.
MAINNET NOW LIVE. SEE BLOG FOR LATEST NEWS.
HMT is not available in your country.
Fundamentals
Charlie Child
Mar 10

The life cycle of a job — safety and job cancellation

2 min read

In part two, we cover some of the safety measures built into the design of HUMAN Protocol. We will examine the process of cancelling a job to demonstrate how the system assures users only pay for the work that is complete, and how workers always get paid for completing work to standard.

In this example, we will look into the blockchain actions of the oracles. There are certain use cases where the user will not even be aware of the blockchain activity happening in the background, but it is nonetheless an essential process to ensure safety, fairness, and reliability in the life of a job.

The user launches a job…

The Validator verifies the work and assigns oracles to complete it. The Exchange starts pulling the task from the smart contract and serving the question to the Exchange Oracles.

Meanwhile…

The Recording Oracle writes answers into an S3 bucket which only the user can decrypt. The Protocol utilises their Ethereum public and private keys to encrypt and decrypt the data.

Simultaneously, the Recording Oracle writes updates into the blockchain (via the smart contract) to reserve money for the work done, including updates to the wallet addresses of the workers and a URL for proof of work.

Once the job is at 1% completion, the user decrypts the answers from the URL and realises they have made a mistake…

The question they have asked is: ‘Select all the images of cows.’ But what they actually meant was to have cows and bulls labelled. They want to change the question from ‘cow’ to ‘cattle’.

The user cancels the job. Importantly, the user cannot steal free work, because the Recording Oracle has reserved money in the smart contract for the work already completed. The user can only ever claim the amount of unused HMT.

For that reason, job cancellation is not necessarily immediate. While the ‘cancellation’ signals the Exchange to stop serving work, there is work that still needs to be paid for.

The Reputation Oracle reads who has done what work in the smart contract, and feeds the smart contract with the corresponding reputation of who carried out the work. The smart contract pays the money out. The job is terminated.

Cancelling a job is safe because…

  1. The smart contract restricts the cancelling of a job to those who have the appropriate cancelling keys.
  2. Larger collusion in the network is prevented by the checks each oracle carries out on the other. The Reputation Oracle has all of the ground truth to verify the quality of answers coming in from the Recording Oracle, which itself holds less of the ground truth, but still has more than the Exchange, which it is responsible for checking. Each entity is watching the one before it in the queue with its own withheld, secret samples to verify legitimacy.
  3. But most importantly, each entity is updating the smart contract on a rolling basis. This means that no entity has a real chance to break the rules, because a problem will be detected quickly. Vitally, the HMT ascribed to a job flows from the smart contract to the Exchange Oracles; the Validator, Reputation and Recording Oracles do not touch it. These entities are paid as and when their work is complete. There is no incentive to break the rules before then.

For the latest updates on HUMAN Protocol, follow us on Twitter or join our community Telegram channel.

Legal Disclaimer

The HUMAN Protocol Foundation makes no representation, warranty, or undertaking, express or implied, as to the accuracy, reliability, completeness, or reasonableness of the information contained here. Any assumptions, opinions, and estimations expressed constitute the HUMAN Protocol Foundation’s judgment as of the time of publishing and are subject to change without notice. Any projection contained within the information presented here is based on a number of assumptions, and there can be no guarantee that any projected outcomes will be achieved.