Truebit: A Microeconomic Mechanism for Verifiable Computation
作者: Truebit
编译: ChainCatcher
Truebit's microeconomics facilitates verifiable computation. This introductory article describes how task givers, solvers, and verifiers participate in the network.
Smart contracts can view Truebit as a black box that accepts a function f and inputs x, y, z, … and returns f(x, y, z, …). The function f can be written in standard libraries using standard languages (C, C++, or Rust) without worrying about Ethereum's block gas limits. Truebit can read functions and data from Ethereum bytecode, smart contract program code, or IPFS.
Users can interact with the network through the Truebit OS client, including acquiring, depositing, and disposing of Truebit TRU tokens. Please refer to the quick start guide for step-by-step instructions and familiarize yourself with Truebit OS on the Görli testnet before migrating to the Ethereum mainnet. We will now divide this discussion into user profile threads.
Task Givers publish computational tasks to the Truebit network. Task givers consist of two parts: task owners and task submitters. The Task Owner provides a function f to be computed, some economic and virtual machine parameters (see below), and typically has a smart contract address. The task submitter provides applicable inputs x, pays the TRU token fee described below, and is a standard, manually operated address. The task owner can deploy a smart contract for task submitter interaction or submit tasks directly through Truebit OS. In the latter case, the task owner and task submitter share an address.
Task Givers must specify a blockLimit, which is the maximum number of blocks that the Solver or Verifier may take to execute the task before timing out. It is recommended to use the final task command of Truebit OS to run tasks offline locally to determine an appropriate blockLimit value. The Task Giver should add some buffer (e.g., 30%) to allow for potential differences in hardware and instance run times.
The task owner must also specify the following economic parameters when publishing a task.
solverReward is the amount of TRU that the Solver receives from the task submitter for correctly executing the task. At a minimum, the chosen solverReward value should cover the operational costs of the Solver.
verifierTax, also paid by the task submitter, is the total TRU distributed among verifiers when executing the task. A higher verifierTax may attract more verifiers.
minDeposit is the amount of TRU that each Solver or Verifier must bind to participate in the task. minDeposit should be approximately twice the operational costs of playing the verification game.
ownerFee is the amount of TRU that the Task Owner charges from the Task Submitter at the time of task publication.
Solvers execute tasks in exchange for TRU rewards. Solvers will run continuously in Truebit OS until stopped, and they will bid to solve each task published on the network unless initialized with filters. Filters impose minimum TRU rewards and/or reward ratios relative to blockLimit on participants. Each task has a solver, and the task submitter always has the right of first refusal to solve their own task. If the task submitter does not choose to solve their own task, a solver will be randomly selected from those registered to participate. Client throttle parameters set the maximum number of tasks that solvers will handle simultaneously.
Verifiers also execute tasks, and the solutions of Verifiers must match those of Solvers to avoid dispute resolution. There is no limit to the number of Verifiers for each task, and verifierTax is split among them. Verifiers initialized in Truebit OS will run continuously until stopped. Like Solvers, Verifiers can set filters to impose minimum TRU rewards and/or reward ratios relative to blockLimit. Client throttle parameters set the maximum number of tasks that Verifiers will handle simultaneously.
Truebit's microeconomics is characterized by a single token called TRU, which task submitters use to pay rewards to Solvers and Verifiers. Upon receiving such payments, Solvers and Verifiers can publish their own tasks. We will now delve into the macroeconomic details.
TRU tokens are created and destroyed over time based on cumulative demand. Users can buy or retire TRU tokens in exchange for ETH. Each purchase transaction will deposit some ETH into reserve custody (the remainder is owned by the company) and withdraw some ETH from the reserve through each retirement transaction. Each Truebit task will also burn TRU tokens. Check the task fee command in Truebit OS for the current burn rate and token price for purchases and retirements. Note that purchase transactions may cause price slippage, but exit transactions will not. The Ethereum mainnet token contract address is 0xf65B5C5104c4faFD4b709d9D60a185eAE063276c.
For a limited time, Truebit's incentive layer will automatically subsidize each task by paying additional TRU fees to its task owners, Solvers, and Verifiers. Run the bonus command in Truebit OS to see the current subsidy amounts.
In addition to the TRU costs described in the "Task Givers" section above, users will also pay some Ether (ETH) fees. Each interaction with the Ethereum blockchain incurs gas fees paid to miners. Truebit (the company) also charges a small ETH platform fee for each task from Solvers and task submitters. Verifiers do not pay platform fees. Each Solver address must also purchase a one-time licensing fee (paid to the company) to participate in the network. Please check the task fees and licensing prices in Truebit OS for current pricing.
IPFS is a distributed system for storing and accessing files, websites, applications, and data. https://docs.ipfs.io/concepts/what-is-ipfs/
Gas refers to the fees required to successfully conduct transactions on Ethereum. https://ethereum.org/en/developers/docs/gas/