简单读懂 TrueBit

(第一步,梵高)

以太坊链上的困境

以太坊最初的目标是“世界计算机”,但区块链的核心是安全和去中心化,当用户运行智能合约时,所有节点都有参与。这些节点通过 EVM 执行,而这些执行会消耗计算资源,每个计算都会收取“gas 费用”。这意味着复杂的合约会收取昂贵的费用。如果合约过于复杂,显然是不适合在链上部署的。

此外,众所周知,以太坊有 Gas Limits。有了 Gas Limits,好处是以太坊可以防止拒绝服务攻击、鼓励交易验证等。不过,它也存在问题:以太坊链上无法执行密集型的大量计算任务。Gas Limits 让处理大计算量任务不仅成本高且无法实现。想想看,有成千上万的计算机来存储和运行相同的指令。

TrueBit:链下+可验证+博弈机制

为解决这个问题,TrueBit 的基本思路是:既然链上无法实现,且很昂贵,那么,就将这些大计算量的任务放到链下来完成,而将执行结果提交到链上,同时通过基于博弈的经济机制来确保其结果的可验证性。

这种解决方案可以让之前链上无法实现的计算(如机器学习等)有机会落地,同时成本上也可以接受。关于链下计算,我们之前也有介绍过 Zk-Rollups 和 Optimistic Rollups 等方案,可以参考蓝狐笔记之前的文章《一文读懂 ZK Rollup 和 Optimistic Rollup: 以太坊重要的扩展方向》。

不过 TrueBit 的方法不是依靠加密证明,而是依靠博弈机制来验证其是否为正确执行 , 也就是其结果的正确与否不是依靠数学,而是依靠验证者的多方博弈机制。

TrueBit 通过构建链下的计算市场,让计算任务接单人来执行智能合约的计算任务。它没有所有节点执行的冗余和效率低下,可以节省计算费用。同时,也没有链上区块的 Gas Limits,最终上链的只是执行结果。

此外,以太坊智能合约执行还存在可能的验证者困境。在以太坊区块链上,区块生产者会获得奖励,而区块验证者没有。这会激励节点花费更多资源去挖下一个区块,而不是正确地验证提议的区块。这不利于智能合约被正确执行,甚至有可能不被区块包括进来。

TrueBit 引入了“可验证博弈”的机制,通过博弈机制来挑战和验证合约执行的正确性。用户通过 TrueBit 的界面发布执行智能合约的任务,任务的解决者提交的结算结果可以公开审计。任何第三方都可以对结果提出挑战。

任何以太坊节点都可以是仲裁者,可以裁决争议。任务的解决者和挑战者都需要质押 TRU 代币(TrueBit 的代币,下面会有专门提及)资产。任何一方获胜都可以获得代币奖励,而计算缺乏准确性的一方则要会被处以代币消减的惩罚。进行任务解决和挑战都可以通过 TrueBit OS 来完成。

为了激励挑战者持续参与挑战,防止不正确的执行,TrueBit 还设计了一个“强制错误”机制。TrueBit 协议本身会提交不正确的智能合约结果,鼓励挑战者发现这些“错误”,让挑战者有机会获得系统给予的奖励,从而提升系统的韧性。

TrueBit 的代币经济服务于其可验证计算

TrueBit 的代币是 TRU (注意:有好几个代币符号均为 TRU,不要混淆),其代币经济服务于其可验证计算的目标。

由于 TrueBit 希望通过经济博弈机制来实现计算结果的可验证,因此代币经济机制在其运作中显得尤为重要。在 TrueBit 代币经济中,主要包括任务提出者、解决者、验证者。通过代币经济将这些角色连接起来,最终服务于 TrueBit 的可验证计算方案。

TrueBit 本质上构建了一个链下的计算市场。任务解决者主要目的在于通过完成计算任务获得 TRU 代币奖励。任务解决者在 TrueBit OS 中持续运行,他们会对网络上发布的每个任务进行竞标,除非他们对任务进行过滤。每个任务都有一个解决者,任务提交者会从注册的任务解决者随机选择一位。

为了确保执行的正确性,任务验证者也要参与进来。为了激励验证者,任务提交者也需要给予验证者 TRU 代币奖励。验证者的解决方案必须与解决者的解决方案相匹配。每个任务的验证者数量没有限制,验证者费用会在这些验证者之间均分。验证者也可以设置任务的过滤,比如最低 TRU 奖励等。

按照 Truebit 的介绍,智能合约可以将其看作为黑匣子,通过黑匣子输入和输出,无须考虑以太坊区块的 Gas Limits。用户可以通过 TrueBit OS 客户端执行所有网络交互,包括获取、存储 TRU 代币等。

从流程上看,首先任务提供者会将计算任务发布到 TrueBit 网络上,任务提供者包括:任务所有者和任务提交者。任务所有者提供需要计算的函数 f、虚拟机参数、智能合约地址等。任务提交者提供适用的输入 x,支付 TRU 代币费用等。任务所有者可以通过 TrueBit OS 提交任务,这种情况下,任务所有者和提交者共用一个地址。此外,任务所有者也可以部署跟任务提交者交互的智能合约。

简单读懂 TrueBit

(TrueBit 网络的代币流,TrueBit)

任务提供者发布任务时,还需要指定一些经济参数:

*任务解决者的代币奖励

如果任务的解决者完成任务,可以从任务提交者那里获得 TRU 代币奖励。

*验证者的验证费用

验证费用也由任务提交者支付 TRU,它会在执行任务的验证者之间进行分配。验证者费用越高,能够吸引到的验证者就越多。

*最小存储费用

任务解决者和验证者需要质押一定量的 TRU 代币,以执行任务。

TRU 的用途和价值捕获

TRU 代币经济机制是服务于其可验证计算市场的。而 TRU 代币用来衡量计算任务的价值,也是其支付媒介。

*TRU 用于支付任务费用

任务解决者和验证者可以通过自己的计算劳动获得相应 TRU 代币奖励,在 TrueBit 的体系中,TRU 代币是整个体系运行的关键所在。

*TRU 用于获得相应参与者资格

任务的解决者和验证者都需要质押一定量的 TRU,防止作恶。

*TRU 用于冷启动的补助

在特定时间内,TrueBit 为了实现冷启动,TrueBit 会为每个任务的参与者提供额外补助,其中包括任务的所有者、解决者以及验证者。可以在 Truebit OS 中运行 bonus 命令来检查当前补助额。

*TRU 的价值捕获

TRU 代币会根据累计需求随时间推移创建或销毁。用户用 ETH 购买 TRU,或 retire TRU 来换回 ETH。

用户将 ETH 存入储备托管合约购买 TRU,如果用户进行 retire 交易,则可以从托管合约提取相应的 ETH。

除此之外,每个 TrueBit 任务也会销毁 TRU 代币。可以在 TrueBit OS 中检查任务费用命令,可以了解当前的销毁率、当前购买的代币价格、retire 价格。

TRU 的需求来源于 TrueBiT 的计算任务市场,如果以太坊上链外计算市场越大,那么,TRU 的潜在需求就越大。计算任务需求方(如部署合约的应用),需要购买 TRU 来支付计算任务的费用;计算市场越大,任务的解决者和验证者也越多,也越需要质押更多的 TRU 代币来获得相应服务资格;计算任务越多,销毁的 TRU 也越多,也会造成 TRU 从流通中移出。

随着 web3 的到来,更多的应用可能会结合以太坊的 Layer1 和链外计算等,从而实现之前无法实现的 dApp 用例,比如去中心化视频应用、去中心化的社交应用、去中心化的机器学习市场等等。如果在 web3.0 时代,TrueBit 能够捕获其中的链外计算市场的一部分,就有机会支撑起 TRU 的价值。

当然,毋庸置疑,基于以太坊的链外计算市场未来竞争一定会很激烈。TrueBit 需要在解决方案上证明其成熟性,也需要在运营上获得开发者群体的广泛支持。

以太坊网络费用

由于跟以太坊区块链的交互需要支付 gas 费用,TrueBit (公司)会对每个任务的解决者和提交者收取相应的 ETH 网络费用。验证者则不需要支付以太坊网络费用。此外,任务解决者地址也必须购买一次性的许可费用(支付给公司),才能加入到 TrueBit 网络。

项目背景

最后,TrueBit 的背景方面,其创始人为 Jason Teutsch;以太坊基金会的 Christian Reitwiessner 也有参与白皮书的撰写,Christian Reitwiessner 是以太坊基金会 Solidity 编程语言技术实施负责人。在资金资助方面,TrueBit 项目获得 Coinbase 前联合创始人 Fred Ehrsam 以及 Polychain Ventures 机构的投资。

-------
风险警示:蓝狐笔记所有文章都不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

加入蓝狐笔记的知识星球:https://t.zsxq.com/Iq3VzfM

欢迎加入蓝狐笔记群微信:donnell008