以太坊鏈上的困境

以太坊最初的目標是“世界計算機”,但區塊鏈的核心是安全和去中心化,當用戶運行智能合約時,所有節點都有參與。這些節點通過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)

任務提供者發布任務時,還需要指定一些經濟參數:

*任務解決者的代幣獎勵

如果任務的解決者完成任務,可以從任務提交者那裡獲得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機構的投資。