Incentivized Outsourcing of Smart Contracts and Verifiable Computing Systems
Author: Truebit
Compiled by: ChainCatcher
In this series, Verified, we are talking with Reihaneh Safavi-Naini, a computer science professor at the University of Calgary. Reihaneh is a co-author of many papers, particularly "Smart Contracts for Incentivized Outsourcing of Computation" in collaboration with Alptekin Küpçü; "Game-theoretic Analysis of Incentivized Verifiable Computation Systems," co-authored with Mahmudun Nabi, Sepideh Avizheh, and Muni Venkateswarlu Kumaramangalam; and "Verifiable Computation Using Smart Contracts," co-authored with Sepideh Avizheh, Mahmudun Nabi, and Muni Venkateswarlu K. We are excited to discuss Reihaneh's research and development in the field of verifiable computation and smart contracts.
Welcome, Reihaneh! Please introduce yourself.
I am a computer science professor at the University of Calgary in Canada. My research interests lie in cryptography and its applications in information security.
In recent years, one of my main research interests has been the application of distributed ledger technology, particularly the use of smart contracts in secure systems.
Can you tell us more about incentivized outsourcing of computation using smart contracts?
Smart contracts are programs with some important properties. First, their execution can be considered trustworthy; that is, every line of the program has been executed by many computing nodes, and the results have reached consensus (through consensus algorithms), so we can trust that the results are correct. Second, they are transparent. This means that everyone can see their code and execution, so everyone "knows" what they are doing. They can also use tokens (through wallets) and can automatically redeem tokens when specific conditions are met. However, computing with smart contracts is very expensive because it requires multiple executions (all nodes are part of the consensus algorithm).
In outsourcing computation tasks, the problem provider needs a solution to the computation task—such as processing large datasets—and wants to hire computing nodes or "contractors" to perform this task for a fee. The problem provider also wants to ensure that the results received are correct without having to redo the computation themselves. One straightforward idea is to send the computation to a smart contract. However, due to costs, this is not feasible for large computations. However, one can use smart contracts as a trusted and transparent third party to manage the outsourcing process: recruiting contractors to complete tasks and paying agreed fees, and running algorithms to identify contractor misconduct and issue penalties and rewards. The latter role is crucial for incentivizing contractor participation and correct behavior.
Through your game-theoretic analysis, you demonstrated modifications to the incentive system that improve the correctness guarantees of the system. Can you elaborate on your results?
The goal of incentivized outsourcing computation systems is to design computing systems that provide correctness guarantees. In many cases, these systems use the idea of computation replication to achieve their goals. That is, they employ the simple yet powerful idea that if multiple computing nodes independently perform the same computation and obtain the same result, the likelihood that the result is correct is very high. To analyze these systems, one can assume that contractors are rational entities and use appropriate incentives to "encourage" correct computation. Game-theoretic analysis is used to evaluate the effectiveness of the incentive system.
Our work has been focused on analyzing and designing incentive systems that use smart contracts to manage outsourcing. We have done several things. First, we showed that using smart contracts in incentive systems, even those with provable cryptographic security, is subtle; directly converting secure systems into smart contract-based systems can completely undermine the security of the system. We also demonstrated how to design incentive mechanisms for replicated outsourcing systems that use two contractors to guarantee computation correctness. Our analysis indicates that a reward and penalty mechanism can be designed to achieve a Nash equilibrium in the outsourcing game when both contractors correctly execute the computation.
What were the initial obstacles that led you to explore smart contracts as a method for managing incentives in computation outsourcing? What new obstacles do you foresee in the implementation process?
Smart contracts have been used for incentivized outsourcing of computation both theoretically and in practical working systems like Truebit. I have always been interested in the game-theoretic analysis of these systems. However, as the number of replications increases, this analysis becomes more complex, and the reward and penalty mechanisms also become more complicated.
For example, extending the results of the two-party outsourcing system we discussed (achieving Nash equilibrium) to multi-party cases is currently an open question. The main implementation challenge is that our analysis relies on certain assumptions about the environment and behavior of contractors, which may not hold in practice. For instance, in the analysis of the two-contractor system, we used estimates of blockchain system parameters, which may be difficult to estimate in practice. Of course, maintaining low computation and communication costs for smart contracts is a challenge in all smart contract-based systems.
Which practical applications do you think would benefit the most from this system?
As we use more and more data and run complex applications and services on it, outsourcing will grow. For example, learning algorithms and analytics. One very good feature of replicated incentivized outsourcing is their universality and flexibility, allowing us to use them for almost any computation. This contrasts sharply with verifiable computation systems designed for specific computations.
How does Truebit fit into your vision of the use of smart contracts?
Truebit is an example of an incentivized computation system that provides correctness guarantees through computation replication and uses smart contracts as a trusted third party to manage computation, contractor incentives, and coin transfers. The incentive mechanisms in Truebit are complex and difficult to analyze formally. Of course, there has been a lot of semi-formal analysis and debate regarding the security of Truebit. Other secure systems have been up and running for a while without major disruptions, which will support their security.