Truebit is a new technology, introduced in a research paper titled A scalable verification solution for blockchains published in November 2017 by Jason Teutsch and Christian Reitwießner. It is designed to facilitate very complex calculations on the Ethereum blockchain. This is different to increasing transaction throughput, which scaling solutions such as state channels and Plasma aim to resolve.
To understand the use case of Truebit, we need to keep in mind that computations performed on the main Ethereum blockchain are costly. Again, this is because they are processed by all full nodes on the network at the same time. To compensate miners for their computational work, Ethereum has a reward mechanism called gas cost, which is essentially transaction fees paid by the users who call transactions. Moreover, each Ethereum block has a maximum gas limit that sets a cap on how much total computation can be done by all transactions in a block. Therefore, some tasks that are too computationally intensive cannot be included in a block, even if they were the only transaction in that block.
For example, a smart contract running on Ethereum may need to verify that a transaction has been done on another blockchain, such as Bitcoin. This may be necessary for some applications that want to connect the two blockchains. Such verification could be a too big computational task to be performed on the Ethereum mainnet. In this case, Truebit can help. It essentially outsources the work on performing the verification to a third party. To guarantee that such third parties act in good faith, they are required to lock in a deposit in an Ethereum smart contract, which would be foregone if their job is not done properly. We can call this party a Solver. To enforce correct operation, the scheme makes use also of another third party, which checks the work performed by the first one, and has monetary incentives to do this properly. We can call this party a Challenger. In case there is a difference between the results obtained by the Solver and the Challenger, they are required to identify the exact operation that causes the disagreement. This should narrow down the computational work to a small task that can be performed on the Ethereum mainnet, and that would clearly show where the truth is, and which one is the correct result.
The following diagram shows the flow of the protocol:
Truebit can be a useful solution to allow complex machine learning algorithms to run on the Ethereum blockchain, thus enabling artificially intelligent smart contracts that can be used to run decentralized autonomous organizations.
Finally, we should note that in all systems, there is an inherent trade-off between scalability and speed on one hand, and security on the other. For high-value transactions, perhaps it will always be better to process them directly on the main blockchain, for the sake of security. Small value transactions may be better served using the off-chain scaling solutions we discussed.
The next generation of blockchain technology will probably implement combinations of the solutions presented here in order to address the scalability issue.