TrueBit是一种解决区块链计算验证和存储问题的技术方案,通过设计一个验证游戏协议,使得计算密集型智能合约能够被正确执行,同时将主要计算负担转移到链外,减少区块链资源的浪费。
区块链的验证和存储解决方案
Jason Teutsch
阿拉巴马大学伯明翰分校
Loi Luu
新加坡国立大学
Christian Reitwiessner
以太坊
由万向区块链实验室支持
问题:区块链瓶颈
以太坊的激励结构严重限制了智能合约能够准确强制执行的计算工作量。每个矿工不仅必须验证还要记住区块链上每个智能合约的状态。这些冗余的需求不仅浪费了网络资源,还限制了潜在智能合约应用的范围。虽然诚实的以太坊矿工必须验证每一个智能合约,但只有添加包含给定智能合约的新区块的矿工才能因其验证工作获得补偿。验证需要大量计算工作的智能合约将无法正确执行,因为理性的矿工可能会选择偏离建议的协议,停止将有限的资源投入到无回报的验证任务中。简而言之,以太坊缺乏一种验证机制。
解决方案:验证游戏
我们提议构建一个能够正确执行计算密集型智能合约的系统。它的核心将包括一个用户友好的合约接口,用户可以在其中请求计算任务或难题的解决方案,任何人都可以解决它以换取奖励。当挑战方检测到错误的求解者提交时,智能合约会在求解者和挑战者之间启动一个交互式验证游戏。在该游戏结束时,要么发现作弊的求解者并对其进行惩罚,要么挑战者将为错误警报消耗的资源支付费用。该系统以最少的资源正确运行:只有一个诚实的挑战者必须验证每个解决方案。
整个以太坊社区将对给定的挑战是否合理做出裁决。它只执行一个简单的检查任务,确保双方都遵守验证游戏的规则。通过这种方式,主要的计算负担从链下转移,而昂贵的智能合约则处理执行协议规则的轻量工作。
我们的验证游戏协议将使用户能够以去中心化的方式将任意计算外包出去,并接收回正确的解决方案。对于可在时间 n^t 内解决的计算难题,其中 ε>0,我们旨在设计一个概率验证游戏协议,该协议最多需要 t/ε 轮交互,每轮在区块链上写入 O(n^ε) 位,并且只需要 poly log n 时间进行全社区验证。
最后,可以将我们的协议视为一种解压缩工具。假设你想编写一个需要访问以太坊工作量证明的智能合约。与其将整个 16 MB 的工作量证明缓存存储在区块链上(这会很昂贵),你可以在区块链上存储一个小的生成种子。验证游戏将使智能合约能够有效地验证缓存的位。一般来说,可以对以认证方式存储的数据(如在 swarm 或 ipfs 中)执行任意计算,而无需将数据本身存储在区块链上。只有计算和验证节点需要访问完整的数据。
- 原文链接: medium.com/@chriseth/tru...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!