TrueBit — The Detailed Overview

A massive amount of processing power exists on the Ethereum blockchain, but nearly all of it is used for mining, simply because mining is where the money is. Nearly none of the collected massive power is used to process or verify the actual smart contract computations. This skewed assignment of computing power severely limits the ability of the Ethereum network to do the revolutionary thing it’s built to do — be a worldwide, decentralized computer — and instead results in a network that is slow, limited, and expensive.

For example, consider a DAO (Decentralized Autonomous Organization — essentially an organized, but decentralized, group of people with many members) tallying the results of an internal election with 10 million participants. Tallying and iterating through that many individual votes using an Ethereum smart contract would require a large number of transactions replicated by every miner on the Ethereum blockchain, which would be extremely expensive and slow.

TrueBit fixes this problem by creating a new layer on top of Ethereum that pays people to both process and verify smart contract transactions off the Ethereum blockchain — they call this process “secure outsourced computation.” This TrueBit layer vastly increases the computing ability of the Ethereum blockchain, bringing it closer to what it was meant to be — a worldwide, decentralized computer.

In practice, TrueBit is a smart contract deployed on the Ethereum blockchain. Users submit tasks to the smart contract, which then outsources the task to an available computer registered on the TrueBit network — a Solver. This Solver —and anyone with an available computer can be a Solver — is paid a small fee to complete and return the results of the task.

Since only one resource is completing the task (instead of the task being replicated by every node on the Ethereum network) and the computation is happening off the Ethereum blockchain, computing the task is no longer expensive or slow.

But how does TrueBit ensure that the results from the Solver are correct? And how does TrueBit protect against bad actors who want to scam the system? To answer these questions, let’s look at an example flow using our task of tabulating DAO votes on TrueBit.

Step 1 — Task Submitted

A new task — tabulating votes — is submitted by the DAO to the TrueBit smart contract. The TrueBit code announces to all registered participants on the TrueBit network that this new task is available, and that there is a reward for solving this task.

Step 2 — Task Solved

All participants on TrueBit that are interested in tabulating the votes let the network know. These participants are known as Solvers. A single Solver from this group is selected by lottery. This winning Solver tabulates the votes, effectively “solving” the task. Next — and here’s an important point I’ll explain in more detail later — the Solver creates both a correct solution and an incorrect solution. So the Solver might prepare a correct solution of 1,500,000 “Yes” votes, and a second, incorrect solution of half that amount, 750,000 “Yes” votes.

Step 3 — Task Solution is Verified / Not Verified

In a normal case, the Solver reports the correct solution, and Verifiers on the network check the solution by tabulating the votes independently. If their solution matches the Solver solution, the Verifier alerts the network, the system accepts the solution as true, and the task is closed. Like Solvers, anyone is free to join the TrueBit network and be a Verifier.

Step 4 — Judges Make the Final Decision

However, if the Verifier finds the solution to be incorrect — let’s say a Verifier tabulates the correct answer to be 1,490,000 “Yes” votes instead of 1,500,000 — they Challenge the results. Challenged results are passed to Judges, who make the final determination as to the correct answer. Judges are the Ethereum network itself, and it re-calculates the task as any other normal Ethereum task. Effectively, TrueBit falls back to the Ethereum network and its trustless smart contracts as the final arbitrator. This reduces the tasks handled by the Ethereum network to a very small fraction of the total tasks solved on TrueBit. TrueBit removes the burden from the Ethereum network by only asking the Ethereum network to step in if there is a dispute.

This above step is known as the Dispute Resolution layer.