最新的一個比特幣升級—— Taproot —— 將改變比特幣的工作模式,使之更上一層樓。它改變了交易的簽名方法,移除了不必要的信息暴露(比如是否涉及智能合約),還降低了一筆交易需要佔用的整體數據量。所以說,它對用戶隱私有正面影響,也使得一個區塊能塞入更多複雜的交易,提高網絡的效率。
雖然Taproot 是後向兼容的,意味著用戶不需要專門做什麼來使用它,而礦工們需要承諾會升級軟件。 “Signalling for Taproot(Taproot 升級許諾)” 的活動已從上週開始,迄今已有6 個礦池表示已準備好升級,SegWit 將從版本0 升級到版本1。 (編者註:原文撰寫於2021 年3 月7 日,在翻譯之時,Taproot 的升級已成定局。需要多說一句的是,比特幣協議的升級是一個過程,而不是一個瞬間,因為不升級的節點同樣能留在網絡中。)
儘管許多人在期待Taproot 帶來如理論上那般美好的隱私性和可擴展性提升,也有一些人擔心它會步Segwit 第一個實現的後塵,在軟分叉激活後兩年時間,接受度才堪堪突破50%。
本文的目的不是比較Taproot 的好處和缺點。許多有志於此的博客,都已經把主要的意見解釋得很深入了,比如這篇來自SlushPool 運營者Braiins 的平易近人的文章。我們考慮的點相當單一,就是Taproot 升級對硬件錢包來說到底意味著什麼,以及如果Taproot 能在11 月成功激活的話,可以期待出現什麼有意思的事。
Taproot 契合了比特幣的保守主義
不管你喜不喜歡,比特幣網絡的治理規則之一就是區塊大小是限定的。這就意味著一個區塊只能塞進約3000 筆交易,換算過來就是每秒約5 筆交易的吞吐量。單從絕對數值來看,這個數字相當低,但有很多理由可以為之辯護,可以解釋為什麼這種取捨比其它更加中心化的方案要好:
-
交易在一段時間內就清算完成,不像借記卡之類的,要等待第三方的確認
-
諸如閃電網絡這樣的升級可以將數千筆鏈下交易壓縮為一筆鏈上交易
-
任何人都無法取消、逆轉或攔截一筆已經上鍊的交易
一些比特幣的批評者提議過提高區塊的大小,但這是一種幼稚而且危險的辦法。相反,比特幣的保守主義特性(中文譯本)引領著開發者研究其它更優雅的方法來縮小交易的體積,用更聰明的密碼學來提升比特幣。保持比特幣的小區塊,也間接地實現了更大的去中心化。
對於希望自己運行一個節點的普通用戶而言,他們現在可以使用便宜的解決方案(比如樹莓派和一塊硬盤),或者拿舊的筆記本電腦下載一份比特幣網絡的副本就行。任何人都能幫助驗證比特幣網絡上的交易以及保護比特幣區塊鏈的安全,不限地域,無需專門採購新的硬件並持續追加存儲空間,更無需依賴中心化的服務商(比如交易所)代他們來同步和驗證區塊鏈。
提高區塊大小之後,個人運行節點的成本很快會變得令人望而卻步。但Taproot 引入了一種新的簽名方案,Schnorr 簽名,它可以在SegWit v0 的基礎上進一步縮小交易的體積,也就是讓一個區塊能塞進更多的交易。這等效於提高了區塊的大小,但沒有提高同步一個節點的帶寬要求,也沒有導致節點存儲的成本膨脹,確保了參與比特幣網絡對普通用戶來說仍然是力所能及的。
Taproot 如何提升硬件錢包的體驗?
對於硬件錢包來說,Taproot 有希望帶來更高的效率,體現在發送交易所需的時間上;前序交易的輸入和輸出的平均數量越多,時間上的節省越多。這是因為有了Taproot 之後,錢包無需花費之前發送(通常體量很大)的交易歷史。
對於一筆只有一個輸入和兩個輸出的交易,使用Taproot 可以節約大概50% 的時間(相比於SegWit v0 交易)。這個數字看起來很棒,但在實際使用中用戶不會有什麼感覺。但隨著輸入的數量增加,節省的時間也隨之增加:如果有100 個輸入(但仍是2 個輸出)那麼發送交易的時間可以節約90%。
對於更複雜的,帶有大量輸入和輸出所組成的歷史的交易,比如CoinJoined(混幣)交易,節省更為巨大。假設一次混幣有100 位參與者,使用Taproot 的簽名時間可以比當前的SegWit 交易快上幾十倍。 Trezor 已計劃在今年底引入CoinJoin 功能,Taproot 將使這些隱私交易用起來更快更簡單。
Taproot 給多簽名錢包、閃電網絡和智能合約帶來的好處
隨著比特幣的用戶越來越多樣化,用上不同類型的地址、像閃電網絡這樣的二層方案或是其它類型的智能錢包,識別出特定錢包的活動變得更加容易,也即隱私更岌岌可危。 Schnorr 簽名取消了暴露智能合約腳本的需要,使得所有交易看起來都一樣,提高了隱私性。
許多企業現正使用多簽名合約來管理資金,很多個人用戶也正使用閃電網絡來節約鏈上交易費,所以Taproot 是一個大家迫切需要的解決方案,它使得用戶可以在鏈上執行交易而不暴露有多少參與者和他們使用了智能合約這個事實。
至於性能,在Jameson Lopp 的硬件錢包的多簽名合約測試中,Trezor 即使在更極端的條件下也表現優良。但隨著簽名數量的提高,簽名的時間也越來越長,長到完全不可用。感謝Schnorr 簽名,這將不再是問題,因為不再需要傳輸前序交易。在Taproot 激活之後,即使最複雜的多簽名方案,也可以在數分鐘,甚至數秒之內完成。
用Taproot 修補手續費設置漏洞
Taproot 還有一個額外的好處,修補了一個長期存在的、與手續費有關的理論攻擊向量,我們在這篇固件更新的博客中有詳細描述。在當前的SegWit 和P2SH 交易中,手續費並不是以一個顯式的元數據字段表示出來的,而是以交易的數據推斷出來的。
這就引發了一個漏洞:攻擊者可以誘騙用戶支付異常巨大的手續費,而用戶可能在看似無害的操作中渾然不覺。當然,你的Trezor 總是會顯示準確的交易費數額,但有了Taproot,所有輸入的數額都會顯式地包含在需要簽名的數據中(當前可不是這樣的),從而保護使用不那麼可靠的手續費算法的用戶;因為,當攻擊者試圖向錢包軟件謊報輸入的數額時,錢包軟件所生成的簽名就不會被網絡接受。
Taproot 是向可持續的網絡成長邁出的正確一步
從工程的角度看,Tarproot 的好處是巨大的。更高效和更快的交易,會讓網絡更易用、更安全,同時還能修補手續費設置漏洞並提高隱私性。而可能的弊端,是Taproot 會被當作另一種識別用戶行為的方式,不過這個弊端只會在Taproot 接受度不見進展時才會出現。考慮到Taproot 在社交網絡上獲得的狂熱支持,應該不會出現這種情形。
只要使用Taproot —— 這樣做的理由是充分的—— 識別個人地址的難度就會變得更大。現在,用戶要等待礦池鋪平道路,在11 月激活之前公開表示對Taproot 的支持。大礦池需要考慮到自己的用戶。而且如果不表示支持,他們的聲譽可能也會受損。但最終如果再來一次用戶激活的軟分叉,他們的影響力會進一步降低,而升級仍會激活。
Taproot 是這個行業的合理下一步,Trezor 全心全意支持它。硬件錢包會因此變得更高效,用戶在安全性和隱私性之間將有更多選擇。隨著比特幣變得更加普及,Taproot 升級會是擴展網絡、迎接全球用戶的關鍵,而Trezor 已經準備好交付了。
原文鏈接:
https://blog.trezor.io/how-taproot-will-benefit-hardware-wallets-fa43c0b6123e
作者: SatoshiLabs
翻譯: 阿劍