原文標題:《簡單讀懂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)
任務提供者發布任務時,還需要指定一些經濟參數:
*任務解決者的代幣獎勵
如果任務的解決者完成任務,可以從任務提交者那里獲得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機構的投資,