In this article, we look at how the limitations of the Ethereum testnet have driven the Foundation to adjust the architecture of the HUMAN Protocol. When looking at the Etherscan statistics of HUMAN work, it is essential to understand that one transaction represents many more micro-transactions. We will explore how this batching model is employed on the blockchain transactions across the HUMAN Protocol.
Only a small fraction of the work transacted through HUMAN Protocol makes it on-chain; the work that does make it on-chain is itself wrapped up into batches to limit load on the blockchain.
The Protocol only writes into the blockchain if the Ethereum testnet is available and fast enough. If not, the Exchange launches jobs directly, which it currently does with the vast majority of work processed by the Protocol.
For the small percentage of work that goes on-chain, the Protocol needs to batch the transactions to prevent overloading the Ethereum testnet.
The Exchange executes the first form of batching. It scans the blockchain for a job which the Validator has launched. When it finds work, the Exchange must download the associated URLs containing all the images to be labelled. It does this in batches: the Exchange pulls from the blockchain at intervals to download a few thousand images at a time, rather than making a request every image.
The Exchange takes the batches of images and serves them simultaneously as individual tasks across multiple websites/applications. The Exchange receives the answers, and batches them again before sending them to the Recording Oracle.
The Recording Oracle does not check every single answer, but takes samples from the batch of the work and makes an assessment of answer quality against its withheld ground truth (a sample of answers a Protocol component knows to be correct), which it possesses more of than the Exchange.
The Recording Oracle uploads the work in batches to an encrypted URL. In the original design, the Recording Oracle would send a notification over the blockchain to the user to show where work is being recorded, and as part of that process re-sign that data. For the time being, the Foundation has turned this feature off as it was creating too much load on the testnet.
The Reputation Oracle accesses the URL and assesses samples of the work. The Reputation Oracle serves the smart contract with information, not of every individual wallet that needs to be paid out, but of the wallets and reputations of a batch of a percentage of the top earners.
The smart contract pays this batch of top earners. The smart contract batches in two distinct ways. First, it only pays out the top earners as informed by the Reputation Oracle. Second, it waits to pay out in time intervals. A rolling payment system would, for example, result in one hundred individual payments to the same website. Waiting an hour would mean a single blockchain transaction covers it.
As signalled above in the Etherscan page, 10,000 escrow smart contracts pays out to at least 100,000 addresses. This is the final step of batching in HUMAN Protocol.
The plan is to put all of the work on-chain when the technology demonstrates it is capable of processing it. We hope this article goes some way to explaining why we are seeking to create a multichain protocol.
We designed HUMAN Protocol with capabilities which, at the time, the blockchain ecosystem could not handle. But we are seeing an explosion of exciting new technologies which could very well offer a realistic solution, and assist in fulfilling the enormous potential innate to HUMAN Protocol. As we look to bring transactions, we step closer to revolutionizing not only the data industry, but the very foundations of digital, distributed work.
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.