BitVM 概述:將有效性證明引入比特幣

BitVM 是比特幣生態系統中最新的熱門協議,有潛力使每個在比特幣上構建的項目受益。讓我們談談 BitVM 的設計以及它為比特幣開啟的新可能。

將欺詐證明引入比特幣

「 比特幣第二季 [3] 」正在進行中,開發人員和用戶都對在比特幣上構建項目以及為解決在比特幣上構建永恆挑戰帶來新用例和新方法感到興奮。

比特幣不具備可擴展性。由於區塊空間有限,交易費用可能會在網絡擁堵時大幅波動。每秒僅處理 7 筆交易,每個區塊僅包含約 1MB 的數據,如果要讓數十億用戶使用比特幣,僅靠比特幣是不夠的。你需要擴展解決方案 [4]

在比特幣 L2s [5] (Layer2 區塊鏈)方面已經做了大量工作,以提高比特幣的可擴展性和引入新功能。如今有數十個在比特幣上構建的項目 [6] ,其中最有前景的研究和創新領域之一是比特幣 Rollups [7] 。在高層次上,比特幣 Rollups 使交易可以在鏈下發生,然後「捲起」成單個狀態更改提交到區塊鏈,同時有一個密碼學證明系統,以便參與者可以驗證提交的狀態更改是否準確。

然而,將這種證明系統引入比特幣存在挑戰,這就是 BitVM 的作用所在。

什麼是 BitVM?

BitVM [8] 是一種協議/規則集,可以實現在比特幣上進行欺詐證明,開發人員可以立即使用該協議,實現在比特幣上的各種用例,包括比特幣 Rollups、最小信任橋等。BitVM 的核心設計將計算移到鏈下,並在比特幣區塊鏈上實現了欺詐證明機制。

BitVM 可以在比特幣上實現欺詐證明。

BitVM 白皮書於 2023 年 10 月由 Robin Linus 發布(值得注意的是,Robin 是 ZeroSync [9] 團隊的一員,該項目致力於為比特幣開發零知識證明系統),開發人員在過去幾個月開始對該協議進行實驗,並且越來越感興趣。

你可以將 BitVM 視為參與者事先同意遵循的分布式協議/規則集,而不是由軟體實現的實際虛擬機(例如以太坊虛擬機)。類似於比特幣 Ordinals [10] 的工作方式,這裡存在社會共識的組成部分,參與者選擇加入規則,並且這些規則在協議層面上並未完全執行。

BitVM 如此令人興奮的原因在於它為驗證比特幣上的任意電路提供了挑戰-響應協議——你可以在鏈下提出聲明(例如,此證明有效),並使用比特幣 L1 來驗證。其中「在比特幣上」是關鍵的,因為在比特幣上構建非常困難,如果實施,BitVM 協議可以用於構建樂觀 Rollups、雙向 BTC 錨定等,這些可以使其他在比特幣上構建的項目受益。

BitVM 解決了什麼問題?

任何在比特幣上構建的項目都知道與鏈交互有多麼困難(在 Hiro,我們親身體會到了這種痛苦)。在比特幣上構建的挑戰之一是,比特幣沒有處理複雜計算的能力。

沒有智能合約。沒有虛擬機。可編程性僅限於開發人員可以通過操作碼 [11] (操作碼)構建的內容,而該功能是有限的。引入新的操作碼需要 BIP 和比特幣分叉(這是非常困難的)。

因此,在沒有分叉和新操作碼的情況下,我們只能使用有限的可編程性。在擴展比特幣的情況下,這種限制主要體現在兩個方面:

  1. 如果要構建雙向 BTC 錨定,很難從方程中去除信任。大多數 BTC 錨定今天涉及託管方,無論是單一機構還是控制多籤的聯盟,以處理存款/提款。有時被描述為「寫問題」。在 Stacks 生態系統中,即將推出的 Nakamoto 升級 [12] 包括設計用於最小信任橋——稍後詳細介紹。

  2. 如果要通過 Rollup 將計算或交易移到鏈下,很難在比特幣本身上驗證和驗證鏈下數據。這是一個驗證問題。

對於這兩個問題,BitVM 可以通過在比特幣 L1 上實現挑戰/響應協議來解鎖戲劇性的設計改進。

BitVM 如何工作?

將 BitVM 視為一種協議或一組規則是一個很好的方式。如果兩個方在事先同意遵循這些規則(這意味著他們需要相互合作),則可以進行任意的挑戰-響應遊戲。理論上,這可以用於在比特幣上驗證/證明任意複雜的程序(這些程序的實際執行發生在鏈下)。

讓我們舉個具體的例子。

假設 Alice 和 Bob 想玩一個拋硬幣遊戲。兩位玩家各自在獎池中放入 0.5 BTC。正面贏得 1 BTC。Alice 拿著硬幣並將首先拋硬幣。Bob 希望確保 Alice 不作弊。以下是他們如何使用 BitVM 玩這個遊戲(為簡單起見省略了許多細節):

  1. Alice 和 Bob 同意遵循 BitVM 協議。

  2. 假設正面由值 H0 表示,反面由值 H1 表示。Alice 通過選擇兩個其他值,比如 P0 和 P1,並對它們進行哈希,生成了 H0 和 H1。因此,Hash(P0) = H0 和 Hash(P1) = H1。P0 稱為 H0 的「原像」,P1 稱為 H1 的原像。

  3. Alice 與 Bob 分享值 H0 和 H1(實際上,Alice 不可撤銷地「承諾」這些哈希值,因此她不能後來聲稱有不同的值)。Bob 不知道原像 P0 和 P1(並且「猜測」這些值是非常困難的,因此我們可以安全地假設 Bob 不會神奇地發現這些值)。

  4. Alice 和 Bob 預先籤署兩筆交易:一筆用於挑戰,另一筆用於響應。

    1. 在挑戰交易中,Bob 將包含一個腳本,該腳本基本上檢查提供的輸入是否哈希為已知哈希值 H0 或 H1 之一——如果哈希為 H0,則 Bob 知道該值是正面;如果是 H1,則是反面。此外,腳本具有一個時間鎖,如果在截止日期前未收到響應,則 Bob 獲得獎池。

    2. 在響應交易中,Alice 可以通過包含相應的原像 P0 或 P1 來「揭示」拋硬幣結果。如果 Alice 未包含任何值、包含兩個值或包含除 P0 或 P1 之外的任何值,則 Bob 獲得獎池。否則,如果值為 P0(正面),Alice 獲得獎池。

  5. 現在我們準備開始遊戲。Alice 拋硬幣但尚未揭示結果。Bob 發出挑戰交易,隨後 Alice 廣播響應交易。通過前面描述的腳本,在鏈上執行「欺詐檢測」的邏輯。顯然,這是一個瑣碎且刻意設計的例子,但它展示了關鍵思想。對於一個稍微複雜的例子,考慮由一位名為 Super Testnet 的開發者設計的井字棋遊戲。你可以在這裡查看 GitHub 存儲庫 [13] ,甚至今天可以玩「bit tac toe [14] 」。Super Testnet 實際上向 Hiro 展示了這個遊戲,你可以在下面觀看:

Bitvm Crash Course on Youtube [15]

以下是遊戲的高級組件:

  • 井字棋是一個 9 宮格。第一位玩家 Alice 最多可以走 5 步,因此有 45 個預影像和哈希(每輪 9 個)。第二位玩家 Bob 最多可以走 4 步,因此有 36 個哈希。

  • 井字棋有 3 種「作弊」方式:玩家可以在他們的回合放置多個 X / O;玩家可以覆蓋他們先前使用過的方格;玩家可以覆蓋對手先前使用過的方格。因此,挑戰/響應協議圍繞檢測這些情況構建。

  • 挑戰交易將迫使另一位玩家「揭示」他們在哪個方格放置了 X 或 O。

  • 響應交易將具有一個腳本,該腳本將針對上述所有 3 種情況進行檢查:如果未檢測到欺詐,則遊戲繼續(或遊戲結束,因為有人獲勝)。如果檢測到欺詐,則挑戰者獲勝,證明者失敗。

請注意,在這兩種情況下,欺詐證明是手工製作的,並專門為該用例設計:井字棋的欺詐證明對於拋硬幣或其他任何事情都不起作用。

回到大局,BitVM 白皮書描述了一種通用方法:針對任何程序,它提供了構建該程序的有效性證明的一種方式。關鍵見解如下:

  • 從拋硬幣的例子中,我們看到了如何驗證單個比特:讓我們稱之為「比特承諾」證明。

  • 有了比特承諾,我們可以構建邏輯門承諾:考慮布爾 AND / OR 運算符 – 針對任何兩個輸入(每個取值為 0 或 1),該運算符定義一個單一輸出。因此,使用 2 個比特承諾作為輸入和 1 個比特承諾作為輸出,我們可以為任何邏輯門創建有效性證明。BitVM 白皮書使用了一個 NAND 邏輯門。

  • 最後,任何任意計算都可以使用一系列邏輯門來表示。BitVM 白皮書將其稱為「二進位電路」。這樣的電路可以使用 Tapscript 有效地表示,每個 tap 樹中的葉子代表一個單一的門承諾。

  • 然後,挑戰/響應協議基本上涉及驗證特定門承諾的輸出。在最壞的情況下,你可能需要驗證每個單個門的輸出。

查看這個存儲庫 [16] ,了解將任意程序轉換為 tapleaf 電路的一種方法。

Stacks 如何適應?

BitVM 在 Stacks 生態系統中的兩個明顯且最相關的應用是:

  1. 改善 sBTC 的信任假設

  2. 為比特幣上的 Stacks 塊添加有效性證明

為什麼選擇這兩個應用?當前的 sBTC 設計 [17] 已經是正在開發中的比特幣最安全、最小化信任的雙向錨定之一。儘管如此,在安全模型和信任假設 [18] 方面仍有改進的空間。與要求至少 30%誠實籤名者或信任一組高聲譽籤名者不同,基於 BitVM 的方法理論上可以使 sBTC 只需一個誠實參與者即可運行。

同樣,雖然每個 Stacks 塊在比特幣上結算,但當前設計僅允許你在擁有鏈狀態的一份副本時獨立驗證 Stacks 數據。如果使用 BitVM,Stacks 塊還包括有效性證明,那麼你不僅可以檢查完整性(給定 Stacks 塊中的數據與存儲在比特幣上的哈希一致),還可以檢查正確性(你可以通過查看存儲在比特幣上的證明驗證給定 Stacks 塊中的交易是否實際執行正確)。換句話說:這將使 Stacks 能夠發展成為比特幣上的樂觀 Rollup。

如何利用 BitVM 實現這些應用的具體方法需要進行更多的研究和開發。但我們可以嘗試在高層次上勾勒出一些想法。

BitVM 與 sBTC

考慮 sBTC 的例子:錨定進程非常簡單,只需廣播比特幣交易即可完成。然而,在當前設計中,錨定退出過程依賴於籤名者來處理請求(在 Stacks 上)。這帶來了一些約束:

  • 退出可能需要時間,這取決於有多少籤名者離線/誠實。

  • 你需要信任這個籤名者網絡,更廣泛地信任整個 Stacks。

如果改為(或可能還要)在比特幣上生成一個有效性證明並使用 BitVM [19] ,那麼:

  • 退出可以進行樂觀處理(因此,在快樂路徑上,可以更快地處理)。

  • 該錨只需要一個誠實參與者即可運行;你不需要信任籤名者網絡的 30%。

關鍵是確切地找出如何構建有效性證明。BitVM 白皮書中描述的蠻力方法可以奏效,但可能會導致一個非常龐大的 tapleaf 電路(數十億個節點)。這反過來意味著任何挑戰都將需要很長時間(可能需要數周或更長時間),更不用說在注意力和資源(交易費用!)方面的成本。正如我們在井字棋的例子中看到的,可以構建更簡潔的證明,專為特定用例定製,類似的方法可能對這種情況更有效。

BitVM 與 Stacks

至於整個 Stacks 塊的有效性證明,有很多值得探索的設計空間。例如,證明是以單個交易的粒度還是整個塊的粒度還是介於兩者之間(比如構成因果依賴鏈的交易)?是否可能採取漸進式方法,比如首先為簡單的代幣轉帳生成證明,然後逐漸添加 Clarity 合約?這是否是比特幣區塊空間的良好利用,因為 Stacks 礦工和網絡參與者已經有經濟激勵來維護 Stacks 鏈狀態的完整歷史?

結論

BitVM 是一個令人興奮的主題,需要進行比博客文章更多的研究、思考和實驗,但我希望這有助於闡明比特幣中最近一些令人興奮的發展之一。

  • Related Posts

    一場事先張揚的死亡:Jeffy假死背後的金錢和人性

    Jessy,比特鏈視界 幣圈Meme又出新敘事:死亡賽道。 …

    被幣安下架卻暴漲 羊駝幣莊家的極限操盤

    Jessy,比特鏈視界 按照常理,一個代幣被交易所下架,是一…

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    You Missed

    Pectra 升級上線後 以太坊將發生哪些變化?

    • By jakiro
    • 9 5 月, 2025
    • 1 views
    Pectra 升級上線後 以太坊將發生哪些變化?

    以太坊是否在費用上自滿?基於rollup是長久之計嗎?

    • By jakiro
    • 9 5 月, 2025
    • 3 views
    以太坊是否在費用上自滿?基於rollup是長久之計嗎?

    華爾街日報揭露馬斯克醜聞獲普立茲獎 揭露了什麼

    • By jakiro
    • 9 5 月, 2025
    • 3 views
    華爾街日報揭露馬斯克醜聞獲普立茲獎 揭露了什麼

    當前市場RWA熱潮之下的冷思考

    • By jakiro
    • 9 5 月, 2025
    • 3 views
    當前市場RWA熱潮之下的冷思考

    哪些利好讓BTC再破10萬美元大關 這次能漲到多少

    • By jakiro
    • 9 5 月, 2025
    • 3 views
    哪些利好讓BTC再破10萬美元大關 這次能漲到多少

    2025年的加密真相:HODL已死、DAO成笑話、DeFi退場

    • By jakiro
    • 8 5 月, 2025
    • 4 views
    2025年的加密真相:HODL已死、DAO成笑話、DeFi退場
    Home
    News
    School
    Search