作者: 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可以執行的程式就越複雜。 Make 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像是在人人可以用行動終端的時代裡,建構了一台比房間還大的巨型電腦。
Note:以上解讀只適用於理解BitVM的大致技術框架,便於大家理解背後的技術邏輯,具體實踐方式可能會有偏差,若有技術大佬有很深入的技術細節研究,可以評論中更正補充。