原文作者:Haotian
一篇題為《BitVM:Compute Anything On Bitcoin》的白皮書引發了開發者熱議,似乎意味著比特幣網絡實現圖靈完備合約了,可以執行任何可計算的函數?
這意味著比特幣網絡可以復現以太坊等生態的一切敘事?而且不需要改變現有比特幣共識,甚至不需要任何升級,僅依託當下比特幣的基礎op_code 就可以賦予比特幣網絡「複雜」的可程式能力,讓比特幣網絡可以圖靈完備計算一切?
Wait,先別展開美夢了,先探討下BitVM 的構想路徑怎麼回事。Script 空間如何執行複雜程式設計? Optimism Rollup 思想指的是什麼? Fraud Proof 詐騙證明原則是什麼? BitVM 落地實現有哪些障礙?接下來帶大家逐步分析下它的大致邏輯框架,好讓大家能通俗理解。 (不過多探討具體技術實現細節)
如何實現複雜可程式特性?
由於,比特幣的程式設計能力非常有限,僅在script 腳本上支援簡單的邏輯和有限的操作碼,因此無法在比特幣網路上開發複雜的智慧合約。 BitVM 提案腦洞大開的核心點就是,通過taproot 地址矩陣或說taptree 實現了類似二進位電路的各類程式指令,組合起來就等於是完整的合約執行了。
具體而言,我們可把每個Script 腳本中的UTXO 花費條件指令當成一個程序最小單元,一個腳本執行無非true 和false 兩種結果,若在taproot 地址中輸入一定的代碼就能得到一個確定性的0 或1 ,若把大量的taproot 位址組成矩陣就能構成一個有序的taptree,而執行的結果就有大量011001 之類的二進位電路文字效果,就可以被視為一個可執行的二進位程式。程式的複雜性取決於組合的taproot 位址多少,地址越多,在比特幣框架範圍下每個Script 預置的指令越豐富,整個taptree 可以執行的程式就越複雜。 Maker Sense 吧?
這腦洞著實夠大。不過照這個邏輯,最小單元指令確實由比特幣全節點完成,而且無限疊加taproot 位址,無限組合的可能性可以疊加許多複雜計算。某種程度上,說它為圖靈完備機不為過。但無限疊加taproot 地址只會增加成本消耗,理論上是可以圖靈完備實現一切,但卻不切實際。
所以,白皮書中提到的圖靈完備只是極端理想情況下的說法,有點「偷換概念」之嫌,連以太坊號稱超級電腦都無法完全實現圖靈完備,何況僅依托script 的比特幣網絡呢?
若干複雜概念淺析
基於上述核心框架理解,再去看白皮書中提到的Optimism Rollup 和Fraud Proof 以及Bit commitment,Logic Gate 為何物了?由於,單一taproot 空間和可執行代碼邏輯有限,在鏈下執行複雜程序,只把關鍵驗證環節放到鏈上,不就是一種Rollup 的想法嗎?
而Fraud Proof 可以這麼理解,Prover 和verifier 雙方先編譯一個巨大的二進位電路,比特幣網絡在執行電路時,有一個前提是Prover 要預簽名且要質押一定的比特幣資產,若Verifier 驗證出來Prover 有作惡之嫌,就可以同理向鏈上發送交易以觸發鏈上taptree「程序」的UTXO 解鎖條件,成功的話,verifier 就可以罰沒prover 的抵押資產,等於就是一次欺詐證明過程。
這個邏輯裡,我們就不難理解為啥BitVM 只適用於兩個有約定共識的parties,即必須執行前共享總電路圖,必須在有效期內執行欺詐者證明程序,必須質押一定資產且預簽名。若雙方沒有在鏈下配合搞一套約定的共識,僅靠比特幣網絡有限的鏈上執行環境,很難促成一次真正的「合約」執行。
BitVM 落地會存在哪些障礙?
1)BitVM 目前只適合兩個約定共識的Parties 之間實施鏈上操作,鏈上環境只是公開透明化執行合約的過程。目前也只能實現兩個約定主體之間,若實作NN 需要更複雜的技術邏輯設計。
2)BitVM 如何應用單一taproot 地址的腳本實現最小程序單位,不能超出比特幣的執行邏輯框架例如hashlock、timelock 這些,不能超出限定的儲存條件,樂觀情況下一個taproot 位址可以編程上百個邏輯閘,更多就得組合大量地址進行taptree 建構了。問題來了,taproot 地址預設解鎖條件的執行需要支付礦工費,地址組合越多要花費的成本就越大。未來也許靠閃電網絡的雙向通道技術可以降低成本,但總得來說要靠比特幣網絡執行邏輯閘電路,不但慢不說,想想就是個高花費的事兒。
3)BitVM 理想狀況下支援的場景很有限,比較適合在重鏈下計算,只有部分共識和資產轉移需要依賴鏈上的場景,例如遊戲的資產處置環節等;
總的來說,BitVM 是個腦洞大開且極具創意的構想,但按照它的落地實現技術框架,就知道它短期大概率會限於白皮書構思階段了,長期的應用場景探索,落地應用還面臨極大的挑戰。用個很通俗的例子來形像說明:BitVM 像是在人人可以用行動終端的時代裡,建造了一台比房間還大的巨型電腦。


