原文標題:《簡單理解比特幣的 Taproot》
比特幣的 Taproot 提案已獲得社區支持,并預計于今年 11 月份激活,這引起了加密社區的較大關注。為什么 Taproot 會引起人們的關注?因為它是近年來比特幣最重要的升級之一,
Taproot 是一種提升比特幣腳本功能的技術,由 Greg Maxwell (比特幣核心開發者)等公布,它希望通過此技術提升比特幣的隱私性、安全性以及可擴展性。
(來自linuxfoundation.org)
具體來說,如何簡單理解比特幣中的 Taproot 軟分叉升級?
Taproot 升級之于比特幣
Taproot 軟分叉升級對比特幣來說,有幾個好處,可以增強隱私、降低費用以及提升可擴展性。
目前加密社區最關注的問題之一是隱私,比特幣鏈上發生的任何事情都是可以查看的,為了解決這個問題,出來了不少隱私解決方案,甚至有隱私代幣,以此試圖來解決加密領域的隱私問題,不過,目前為止,隱私代幣試圖通過隱私屬性來取代 BTC 幾乎是不現實的,
一般來說,比特幣支出需要進行簽名,同時還可以添加其他的條件,如時間鎖、多重簽名等,為了滿足更多場景的需求,可以對這些條件進行復合,比如在某區塊高度之后才能使用,且要滿足多人簽名才能支出等。比如某個項目持有的 BTC,有特定的支出計劃(如支持開發等),可以采用時間鎖+多重簽名的方式進行支出,
Taproot 同樣也支持比特幣網路進行這些復雜功能交易,比如多重簽名、時間鎖定發行等,不過不同的地方在于,當前的解決方案在 btc 進行支出時,需要披露整個腳本(條件),如果條件復雜,數據量會很大,執行起來也貴,效率不高,此外,它也不利于隱私,因為腳本會揭示所有參與方的資訊。
通過 Taproot 升級則可以解決上述問題。
有了 Taproot,這些復雜的功能看上去是一次交易,其中的條件可以被隱藏起來,也就是說,通過 Taproot,可以隱藏比特幣腳本的蹤跡,例如,可以在閃電網路上使用 Taproot 支付 BTC,而人們只能看到這些對等交易,
此外,Taproot 升級還有利于降低費用和提升可擴展性,為比特幣的復雜交易提供更多方便。
之所以能做到這些,很重要的是得益于 MAST 結構和 Schnorr 簽名方案,Taproot 將兩者納入到其軟分叉升級中。
MAST+Schnorr
MAST
MAST (Merklized Abstract Syntax Tree )是默克爾化抽象語法樹,它來自于抽象語法樹(Abstract Syntax Tree )和默克爾樹(Merkle Tree)的結合。
(Mast結構中無需披露所有腳本,Bitmex Research)
MAST 試圖使用默克爾樹對腳本中的操作進行編碼,當 BTC 支出時,只需提供其分支運算并將分支哈希連接到固定大小的默克爾根上,從而減少交易大小,節省區塊空間。它對資金可支付的不同條件都單獨進行了哈希,且都包含在一棵默克爾樹中,并形成單個哈希(默克爾根),由此鎖定代幣。
通過 MAST 結構,只有滿足的條件才需要揭示出來,這增加了隱私性,此外,當它跟 Schnorr 簽名方案結合,它還可隱藏 MAST 的結果,達成更好的隱私訴求。
整體而言,MAST 支持更復雜的交易,可以有各種支出條件,與此同時,它可不用揭示沒有執行的腳本或未被觸發的條件,由此實現隱私保護。此外,MAST 結構還有一個好處是,復雜交易可以實現交易大小的顯著降低,有些交易有諸多復雜條件,但隨著其腳本數量的增加,MAST 交易大小是對數增長,而非線形增長,
(腳本數量與交易大小,David A.Harding)
Schnorr
比特幣社區還將 Schnorr 簽名技術納入 Taproot 軟分叉升級中。Schnorr 簽名目的在于實現高效性,比特幣目前的簽名方案是 ECDSA,它和 Schnorr 簽名方案都屬于橢圓曲線數字簽名算法,不過 Schnorr 可以實現「聚合簽名」,
簡單來說,就是一筆交易中多個簽名可以組合成一個,它通過將公鑰和簽名組成成「閥值公鑰」和「閥值簽名」,讓其交易看上去跟普通交易沒有區別。「閥值公鑰」可以讓參與者的公鑰疊加在一起,而「閥值簽名」可以讓參與者的簽名組合起來,根據約定條件進行支付。Schnorr 簽名算法可以使得多重簽名更高效,同時由于其看上去跟普通交易一樣,因此,也提升了隱私性。
Schnorr 簽名也被一些加密學家們認為更具安全性,它在「random oracle」模型范圍內證明是安全的,而 ECDSA 簽名則無法做到。
結語
拋開復雜的技術問題,Taproot 為比特幣帶來之前沒有的好處:
- 降低費用
一些復雜的交易,其數據量會極大減少,這會讓這些復雜交易費用顯著降低。而費用的降低,則利于提升比特幣上的復雜交易活動。
- 增強隱私
通過 Schnorr 簽名和 MSAT 組合可以增強交易的隱私性,一些復雜交易看上跟普通的交易類似,
- 提升可擴展性和安全性
將 Mast 和 Schnorr 簽名結合起來,可以讓區塊包含更多的交易,減少數據量,不僅較低交易費用,還提升了可擴展性以及安全性,不過,也不要對其擴大吞吐量有過高期待,它主要通過減少多簽的大小,想通過它實現更大的可擴展性還是有一定的天花板的,