致謝:感謝Momir,Xinshu 對文章的寶貴修改

IOSG:BitVM將帶來比特幣可程式性的曙光?

TL;DR:

  • 比特幣核心的變化通常會遭到抵制,原因包括:a) 相較於作為一種貨幣,人們更偏好將比特幣儲存為價值。 b) 重視穩定性和可預測性,而非快速創新。 c) 在一個多元化的社區內達成共識很困難。
  • 許多項目聲稱有方法解決比特幣的可擴展性問題,並且無需對比特幣鏈本身進行更改。最近我們目睹了比特幣「L2s」的超級通貨膨脹。
  • 雖然許多聲稱只是誤導性的行銷,但我們也認識到了一種新的計算範式,這種範式可以為比特幣帶來可編程性——BitVM。
  • BitVM 能夠支援的最佳擴充解決方案接近OP-Rollup 類型的安全假設(儘管有一些額外的注意事項)。
  • BitVM及類似倡議的成功取決於技術的可行性、社群的支持,以及與其他「過度行銷」計畫的區分。

比特幣被建構為一個交易區塊鏈,其腳本語言有意限制為無狀態(Stateless),以最小化攻擊面並確保網路安全。由於缺乏圖靈完備性(Turing-completeness),沒有可能直接在區塊鏈上引入智慧合約,除非透過分叉併升級比特幣核心。

傳統的比特幣社群對變更持抵制態度,原因如下:

  • 敘事上更注重價值儲存而非流通貨幣:比特幣社群有意專注於維護網路作為一個點對點支付系統,將安全性和去中心化放在快速發展之上。正如著名的比特幣持有者Michael Saylor說:「沒有人試圖用他們在第五大道上一棟大樓的一小部分去買一杯咖啡。」這句話反映了社區對於比特幣作為一種價值儲存工具而非日常貨幣的使用偏好。
  • 系統的穩定性勝於創新:對於被視為優秀價值儲存的資產來說,可預測性至關重要。例如,即使網路只有10次重大升級,而每次升級的成功率為90%,一個失敗發生的機率大約是65%!根據正常事故理論:“在複雜系統中,我們應該預期通常可以忽略的小因素偶爾會偶然導致重大事件”,因此比特幣社區的目標一直是減少潛在錯誤的途徑。
  • 多元化的社群:許多比特幣持有者從不同的角度理解比特幣,並因不同的原因珍惜它。在一個多元化和去中心化的社區中達成共識本身就充滿挑戰,這進一步減緩了創新的步伐。要說明比特幣社群的多樣性,可以觀察社群對銘文和Ordinals的反應。當比特幣社群的一部分人慶祝序數的成功,將其視為比特幣的謎團貓(CryptoKitties)時刻時,另一部分人則認為這是一個應該被修補的漏洞。

1. 比特幣擴容方案的快速膨脹

鑑於上述情況,為何突然出現了大量新的比特幣「L2」解決方案?

最近,我們觀察到比特幣「L2」解決方案的激增(根據https://l2.watch/,已經有超過50個!),然而,社群多年來一直在探索不同的可擴展性方法:

  1. 像Stacks這樣的側鏈提供了智慧合約能力和廣泛的應用範圍,儘管它們擁有獨立的共識機制,但這些機制很難被廣泛接受。
  2. 像RGB這樣的客戶端驗證專案利用主網的UTXO模型進行鏈下的更複雜交易,但它們與比特幣主網的互動缺乏穩定性。
  3. 像閃電網路(Lightning Network)這樣的狀態通道,與核心比特幣開發者密切相關,被視為一種更正統的擴容方法。
IOSG:BitVM將帶來比特幣可程式性的曙光?第一代BTC擴容解決方案

相較於現有解決方案,最近的擴容方法帶來了哪些新穎之處?在我們看來,最令人興奮的創新來自於在比特幣上編碼程式(透過BitVM)和無需信任地質押BTC(例如Babylon)。本文將主要關注前者。

IOSG:BitVM將帶來比特幣可程式性的曙光?

2. BitVM - 概覽

要解釋什麼是BitVM,我們首先應該介紹賦能並激發了它的Primitive——比特幣Taproot升級。

Taproot是對比特幣協議的重大升級,於2021年11月啟用。透過Taproot,腳本的哈希預設需要在鏈上提交。當執行腳本的某個路徑時,只需將該路徑上的腳本提交到鏈上。這樣不僅提高了效率(交易的大小不會隨著腳本的大小增長),也增強了隱私性(只會揭露作為交易的路徑,而不是整個腳本)。

認識到Taproot升級解鎖的巨大機遇,Robin Linus率先推出了BitVM,這是比特幣生態系統中的一項突破性創新。

BitVM是一種運算範式,它利用Taproot升級在不改變網路共識規則的情況下,促進在比特幣上實現圖靈完備合約。它允許對計算進行驗證(而不是執行),類似於樂觀卷積(Optimistic Rollups)。

BitVM透過將程式提交到Taproot位址,同時透過啟用複雜的鏈下計算(僅在出現爭議時需要鏈上執行)來最小化鏈上足跡。

這個過程涉及在Taproot位址中提交程式的二進位電路,並使用挑戰-回應機制進行驗證。概括地說,BitVM實現了圖靈完備的比特幣合約,最重要的是:

  • BitVM不需要分叉或任何比特幣協議的變更。
  • BitVM不會使比特幣區塊鏈擁堵,因為計算不是在比特幣上執行的,而只是在出現爭議(Dispute)時使用比特幣網路進行驗證。

IOSG:BitVM將帶來比特幣可程式性的曙光?

在比特幣上建構二進位電路

二進位電路的建構是一種以二進位邏輯閘(如AND、OR、NOT)表示計算或程式的方法,能夠執行任何可計算的函數。

BitVM就像是將電流通過電腦晶片的邏輯閘(這些微小的結構依電流的存在與否,決定訊號是否通過,即開啟或關閉,開啟或關閉)的複雜模擬,轉換為比特幣的語言。

從本質上講,任何電腦程序,從遊戲到完整的Linux作業系統,都是這些邏輯門複雜排列的結果,所有的數位事物基本上都是基於二進制數字——0和1。透過將這些二進位數字與邏輯閘(如AND和NOT閘)結合,我們創建了各種電路,包括算術邏輯單元(ALUs)和記憶體系統。這項基礎技術使我們能夠編寫和執行程式以執行廣泛的任務。

IOSG:BitVM將帶來比特幣可程式性的曙光?

 Source: Stepping Through Logic Gates;基本邏輯閘(F代表0,T代表1)

BitVM的前提是使用比特幣腳本(Bitcoin Script)來對鏈下計算做出承諾(提交一個計算的哈希到Taproot地址),通過將任何程序解構成二進制電路的組合,並啟用執行驗證,這一過程包括了比特幣腳本,但腳本本身不執行整個計算邏輯。

比特幣腳本可以實現比特值承諾(bit-value commitments),這對於能夠展示和懲罰含糊其辭(Equivocation)的行為至關重要。它實現了不可變性,因為它允許個人提交其他人無法修改的值。

這種方法涉及使用兩個雜湊來代表每個輸入位元:一個雜湊用於數字0,另一個用於數字1。當有人希望執行程式時,他們揭示一個原像(pre-images)以指示輸入。值將轉換為0還是1,是透過將原像的雜湊值與代表0和1的兩個雜湊值進行比較來決定的。

如果輸入和輸出不匹配,驗證者有權透過沒收提供者的資金來懲罰提供者。

挑戰-反應機制

驗證通常在鏈下進行,樂觀地假設證明者是誠實的。在發生爭議的情況下,過程轉移到鏈上,並啟動一輪挑戰-響應。這種機制確保了在大多數情況下,計算和驗證可以高效且低成本地進行,而只有在出現分歧時才需要利用區塊鏈的不可篡改性和透明度進行最終裁決。

挑戰-回應機制在BitVM中的動態涉及一個系統,參與者(如Vicky和Paul)透過區塊鏈上程式的執行進行驗證過程。當出現爭議時,Vicky挑戰Paul證明他的程式執行的正確性。

Vicky從二進位電路中選擇一個邏輯閘,Paul透過揭示輸入和輸出來打開這個閘。直到確認了含糊的情況或Vicky耗盡了進一步挑戰的可能性,這個過程就會重複進行。含糊其辭意味著Paul聲稱某個輸入X在一個邏輯閘被打開時是0,但在另一個邏輯閘被打開時是1。

Paul需要透過使用預簽名的交易向回應地址存入資金來確保他聲稱的證據。這些交易創建了一個鏈,允許基於正在進行的互動,資金在挑戰和回應地址之間擺動。

響應地址中的資金可以根據挑戰的結果沿著多條路徑流動:

  • 如果Vicky停止挑戰,表明接受了Paul的證明,Paul最終在一定時間後重新獲得資金。
  • 如果Vicky證明Paul在執行上不一致(發生了含糊其辭),她可以索取這些資金。
  • 如果Vicky懷疑執行的另一部分有誤,她可以發起另一個挑戰,將資金移至下一個回應地址。為此,她必須揭示特定tapleaf的一個原像,Paul隨後需要使用它來解鎖資金,並在有限的時間內證明他的正確性。

這個系統為在區塊鏈上解決爭議和驗證程序執行提供了一個堅固和透明的架構。透過結合財務激勵,它促進了執行和程序結果記錄的完整性和精確性。最初,設計支援兩方的挑戰-反應機制。然而,正如我們稍後將展示的,BitVM的貢獻者已經找到了解決方案,允許眾多參與者作為挑戰者參與。

二分法(Bisection):提高爭議解決的效率

為了提高鏈上驗證的效率,驗證者可以利用二分法(Bisection),這是一種在預先提交的邏輯門上進行高效搜索的方法,以找到應該被挑戰的邏輯門,這種方法相比隨機挑戰過程有顯著的改善。透過將問題空間一分為二,分割法允許驗證者快速縮小潛在錯誤的範圍,從而減少了解決爭議所需的步驟和時間。這種方法在處理複雜的驗證過程時,尤其是在需要精確確定錯誤位置的情況下,提供了一個更有效率和直接的路徑。

以下,我們透過一個簡化的例子來說明分割法是如何運作的:

Paul和Vicky正在做數學題,題目是計算((1+2)+(3+4))+((5+6)+(7+8))。

正確完成這個計算的過程是((1+2)+(3+4))+((5+6)+(7+8)) = (3+7)+(11+15) = 10+26 = 36。

而Paul給的答案是35,因為他計算的方式是((1+2)+(3+4))+((5+6)+(7+8)) = (2+7)+( 11+15) = 9+26 = 35。

當Vicky挑戰Paul時,她只需要挑戰涉及計算的第一部分的計算(即打開邏輯閘),因為他們同意第二部分的計算是準確的((5+6)+(7+8)) = 26 。

IOSG:BitVM將帶來比特幣可程式性的曙光?

3. 使用BitVM建構一個最小信任橋(Trust-Minimized Bridge)

BitVM的第一個實際實作很可能是代表最小信任比特幣橋的程式。透過分析橋的實作細節,我們可以更好地理解實作BitVM程式的額外複雜性。以下,我們總結了BoB共同創辦人Alexei Zamyatin的提案。

首先,需要創建一種讓比特幣全節點只用比特幣腳本就能操作一個側鏈橋程式的方法,包括一個側鏈輕客戶端。

然後,還需要建立一個聯盟/多簽名(federation/multi-sig)網絡,以便於BTC的轉移並運行挑戰-響應遊戲。聯盟必須承諾運行橋程序作為BitVM設定的一部分。

聯盟初始設置的複雜性隨著成員數量的增加而呈二次方增長,因為聯盟的每個成員都必須與其他每個成員互動,因此聯盟的規模有一定的上限,研究人員推測N=100是可行的。

IOSG:BitVM將帶來比特幣可程式性的曙光?

與OP Rollup不同,後者對N的大小沒有限制,這種方案提供的安全保證較弱。然而,這個提議的工作解決方案很可能會包括聯盟成員的輪換,這樣在一個較長的時間範圍內,N會遠大於100。任何時候,只要這100名成員中有一個是誠實的,存款就會保持安全。假設有惡意行為者,他們可以在鏈上隨時被挑戰,如果被證明作弊,他們可以被聯盟禁止。

聯盟在任何時候都有一個負責管理存款和提款以及驗證側鏈狀態的操作員(Operators)。操作員和監視塔(Watchtowers)都需要提交抵押品,以激勵正確行為並阻止虛假挑戰。

這種方案不符合卷積最嚴格定義的另一個原因是,使用者不能單方面退出側鏈,而必須向基於1/N安全假設運作的聯盟請求提款。

4. BitVM v2:BitVM能支援無需許可的驗證(Permisionless Verification)嗎?

3月25日,Robin Linus介紹了BitVM v2。 BitVM v2提案的關鍵變化是,證明者需要一次提交輸出狀態和所有中間結果,而不是像v1那樣,在挑戰-驗證過程中逐個打開邏輯閘。有了這個改變,BitVM確保對這些承諾的任何挑戰都必須由加密證據支持。這種機制過濾掉了無根據的垃圾挑戰,因為挑戰者必須提供特定的加密證明來爭議證明者。

透過允許無限制地參與驗證和挑戰過程,BitVM 2將其安全保證擴展到了多重簽名聯盟的限制之外,並使BitVM更接近樂觀卷積的安全假設。

然而,橋的搭建仍然需要聯盟多重簽名來促進,這意味著聯盟成員可能會引起活性問題,在最壞的情況下,他們試圖向用戶勒索贖金以解凍他們的資金。這是一個額外對於樂觀卷積來說不存在的安全假設,因為在樂觀卷積中,使用者可以在不獲得任何中介批准的情況下退出到L1。

IOSG:BitVM將帶來比特幣可程式性的曙光?在基礎鏈上的額外安全假設

5. BitVM的限制

正如我們上面討論的,BitVM能提供的最佳方案是接近樂觀卷積的安全假設。除了管理負責保險存款的聯盟及其活性問題的複雜性外,BitVM特有的一些額外複雜性包括:

  • 雖然BitVM理論上能夠執行複雜的鏈下程序,但實際上,隨著這些鏈下程序複雜性的增加,執行詐欺證明在比特幣上的相關費用迅速增加。過大的程式可能需要多個區塊來執行,進一步複雜化了這個過程。
  • 擁有算力多數的礦池可以從BitVM中竊取(類似於閃電網路的問題),因為他們可以合謀審查挑戰者的證明,或者惡意行為者可以賄賂他們忽略挑戰者。
  • 由於BitVM證明的互動性質,惡意證明者可能會操縱系統並從驗證者那裡進行竊取。攻擊可以如下的假設來建構:
  • 證明者透過啟動交易開始驗證序列
  • 懷疑證明者行為有效性的驗證者啟動一個挑戰,挑戰中包含支付給證明者的回應費用
  • 證明者選擇收集費用,同時忽略挑戰,不履行他們在驗證過程中的部分責任
  • 最後,BitVM目前還是一個概念框架和一個幾乎無法執行任何操作的虛擬電腦概念。 BitVM的「卷積」距離應用層面還遠,樂觀估計是我們最快可能在2025年看到一些BitVM程式投入使用。執行BitVM的技術風險也不容小覷。

6. 結論

考慮到以太坊擴展解決方案的估值,目前約佔以太坊市值的15-20%——比特幣第二層解決方案的潛在市值可能是巨大的。

儘管BitVM還處於初期階段——本質上是一個未落地的虛擬計算機概念——但它已經激發了來自各個項目的大量興趣和聲明,這些項目急於利用其潛力。許多與BitVM團隊無關的項目都在爭相做出宏大的公告,希望在他們看來是比特幣的一個有前途的新領域中佔據一席之地。然而,更仔細的審查揭示了一個更清醒的現實: BitVM的GitHub帳戶只有少數貢獻者,而BitVM Builders Telegram群組中真正參與的只有少數幾個比特幣'L2'專案。

比特幣任何可擴展性解決方案必須遵守的關鍵原則是,比特幣的核心架構應保持不變(根據可預測性原則)。 BitVM秉承這項原則,成為首個在不改變其核心的情況下,在比特幣之上提供可編程層的先驅解決方案。

本文撰寫於BitVM發展的非常早期階段,考慮到其快速的發展,這裡的資訊很快可能會過時。例如,直到最近,在比特幣上實現ZK卷積的想法看起來就像空中樓閣一樣不切實際,因為所需的基礎能力——比如比特幣驗證ZK證明的能力——並不存在。然而,最近BitVM研究人員分享了比特幣腳本的進展,這些進展可能導致在比特幣上實現STARK驗證器。

比特幣擴容解決方案的實現超越了純粹的技術挑戰;它包含了社群支援、使用者體驗和時機等因素。雖然當前時刻為這些創新提供了一個獨特的機會窗口,但是專案數量的急速通膨以及誤導性聲明和行銷帶來的顯著風險,可能會破壞更合法專案的前景。

隨著生態系統站在這個十字路口,關於比特幣擴容解決方案是否能複製以太坊的成功的問題不僅是技術性的,而且深深植根於區塊鏈社群更廣泛的動態之中。畢竟,核心以太坊社群已經選擇了L2作為以太坊擴容路線圖的關鍵部分,而比特幣社群還不能這麼說。

Reference

  • 「Bitcoin Audible.」 Accessed February 26, 2024.https://pod.link/1359544516/episode/413027f0bdb982a8593d50f4466930f5.
  • 「BitVM.」 Accessed February 26, 2024.https://www.bitcoinrollups.io/bitvm.
  • 「BitVM: Uma Ferramenta Para Contratos Ainda Mais Inteligentes - Super Testnet - Satsconf 2023 - YouTube.」 Accessed February 26, 2024.https://www.youtube.com/watch?v=iEM_txmJYxA.
  • Linus, Robin. “BitVM: Compute Anything on Bitcoin,” nd
  • “What Is BitVM? With Robin Linus and Super Testnet (SLP520) - YouTube.” Accessed February 26, 2024.https://www.youtube.com/watch?v=XxqQU6j6jI​​8.
  • Deep dive into BitVM -Computing paradigm to express Turing-complete Bitcoin contracts.https://medium.com/crypto-garage/deep-dive-into-bitvm-computing-paradigm-to-express-turing-complete-bitcoin-contracts -1c6cb05edfca
  • CoinEx Institution: BitVM, the Potential of Smart Contracts on the Bitcoin Mainnet https://www.business-standard.com/content/press-releases-ani/coinex-institution-bitvm-the-potential-of-smart-contracts- on-the-bitcoin-mainnet-123122500619_1.html