動區動趨-最具影響力的區塊鏈新聞媒體
  • Home
    • Home Layout 1
    • Home Layout 2
    • Home Layout 3
  • Browse
    • News
    • Movie
    • Music
    • Technology
    • Howto & Style
    • Entertainment
    • Gaming
  • Features
    • Youtube Video
    • Vimeo Video
    • Dailymotion Video
    • Self-hosted Video
    • User Profile
    • Playlists
    • User-created Playlist
    • Favorite Playlist (Private)
    • Watch Later Playlist (Private)
    • All JNews Features
No Result
View All Result
  • Login
  • Register
UPLOAD
動區動趨-最具影響力的區塊鏈新聞媒體
No Result
View All Result
Currently Playing

ABS獨家專訪》Gitcoin共同創辦人Scott:台灣是現實與Web3治理的重要交匯點

ABS獨家專訪》Gitcoin共同創辦人Scott:台灣是現實與Web3治理的重要交匯點

ABS獨家專訪》Gitcoin共同創辦人Scott:台灣是現實與Web3治理的重要交匯點

搶先看
ABS獨家專訪》Gate.io CEO韓林:無懼銀行進軍加密服務,台北特別有人情味

ABS獨家專訪》Gate.io CEO韓林:無懼銀行進軍加密服務,台北特別有人情味

搶先看

6 Sci-fi Gadgets in Movie We Wish Actually Existed

Movie

The 10 best games to play on your new PlayStation 4

Gaming

Tesla’s Chinese factory just delivered its first cars

News

造就最純粹密碼學貨幣》比特幣 Taproot 比你想的還寬

比特幣的 Taproot 分叉升級預計在 11 月 15 日啟動,Taproot 升級的常見說法多半為提升比特幣隱私性、智能合約功能與同質性。但想進一步了解這些應用,首先更應了解比特幣的進階觀點。
(事件背景: 「比特幣核心開發團隊」發布 22.0 版更新:支持 Taproot 升級)
(背景補充: 乾貨|簡單理解 Taproot 軟分叉:爲何是比特幣睽違 4 年最重要升級?)

 

比特幣的 Taproot 軟分叉升級將於比特幣區塊高度 709,632 (預計是 2021 年 11 月 15 日)啟動。此次升級包含了許多重要而精彩的內容。然而,在中文世界裡卻缺乏足夠的重視。本文將從技術角度簡要介紹 Taproot 的升級內容,並以此體現比特幣的發展方向。

常見的說法是,Taproot 提升了比特幣的隱私性、智能合約功能性、同質性云云。但是,要想理解 Taproot 升級的內容和想象空間,我們得先了解一些比特幣。

比特幣上的智能合約

許多人不了解的是,比特幣也支持編輯智能合約,只不過智能合約的類型與其他區塊鏈(比如以太坊)的不同。詳細解釋這種區別需要專門的一篇文章,這種區別在這篇文章裡也不重要。

這裡僅僅介紹比特幣智能合約編輯的幾個常見的模組,方便大家理解其應用場景:

  • 多簽名合約,比特幣支持多簽名授權使用資金:在 N 個記錄好的公鑰中,必須有 M 個公鑰所對應的私鑰(對同一個操作的)簽名,該筆資金才可動用。比特幣支持最多 15 個公鑰的多簽名合約。
  • 時間鎖。用戶可以使用兩種類型的時間鎖來規定一筆資金的可用時段:(1)CLTV,絕對時間鎖,以具體的時間或具體的區塊高度來定義,過了這個時間才可動用;(2)CSV,相對時間鎖,比如生成該項資金的交易上鏈的 1,000 個區塊後,該筆資金才可動用。
  • 多條件編輯。即在腳本中使用 「IF … ELSE …」 式的語句,為同一筆資金設定多個解鎖條件,任一條件滿足即可使用該資金。比如:「A 公鑰所對應的私鑰可解鎖,或者,在區塊高度 XXXX 以後,B 公鑰所對應的私鑰可以解鎖,或者,在該交易上鏈的 YYYY 個區塊以後,A、B、C 三個公鑰中任意兩個所對應的私鑰可以解鎖」

如讀者可以想象的,這幾個模組看起來非常簡單,組合起來可能性卻非常多:多簽名合約定義了不同主體的權限,可以適應極為豐富的應用場景,從公司營運,到家庭金庫;時間鎖則規定了不同主體在不同時段的權限。而多條件則顯著放大了這些權限控制的組合效果。

你甚至僅需憑幾個條件,就可以做出一個支持社交恢覆、帶遺產分配效果的合約:「我(A 公鑰)可以控制這筆資金;如三個月無人動用,我(B 公鑰)和四個朋友,五取其三可以一起控制這筆資金;如果一年無人動用,我的妻子可以控制這筆資金」。

但是,這些合約要實際上派上用場,兩個因素就不能忽視:效率性和隱私性。

效率性的意思是,比特幣交易的手續費是根據交易的體積來計算的,更多條件的腳本會占用更大的空間(以字節數計),交易費也會更高。

隱私性的考量是,腳本曝光會使其他人知道某些公鑰之間是有身份關聯的,更容易分析出公鑰主人的真實身份。

在當前,比特幣的合約顯示為 P2SH 「地址」(實際上就是一條哈希值)。其特點是,在生成合約時,腳本可以不公開,有需要的直接給腳本的哈希值支付。

但是,這些資金在花費時,與這個哈希值對應的腳本就要完全公開出來放到交易中(否則無法驗證這個腳本的哈希值正是這個哈希值)。以多簽名合約為例,其他人可以直接給這個多簽名合約腳本的哈希值支付,但是,當多簽名合約的參與者要使用這些資金時,就必須把整個腳本公開。

延伸閱讀:詳解》比特幣隔離見證 Segwit -工作原理與案例分析

此外,在 SegWit 升級以前,單簽名的個人錢包與合約錢包是涇渭分明的,前者是 P2PKH 地址,後者是 P2SH 地址,僅從地址上就可以看出來,這又是一個對隱私不利的因素。

在 SegWit 升級之後,支持隔離見證的個人錢包也可採取 P2SH 的形式,但原生隔離見證地址(P2WPKH)和合約地址(P2WSH)仍然是分明的 。

了解了這些以後,讓我們來看看 Taproot 升級的三大部分(MAST、Schnorr 簽名、Taproot)如何做得更好。

默克爾抽象語法樹(MAST)

默克爾化抽象語法樹(Merklized Abstract Syntax Trees, MAST)的含義是,在比特幣的腳本驗證中支持驗證默克爾證據。

默克爾樹是將多個數據元素哈希成一個哈希值的密碼學方法。其結構和哈希函數的特點決定了,可以提供一些證據(哈希值)來證明,某個數據元素參與生成了這個哈希值。如下圖所示:我們將(相鄰的)數據元素兩兩不斷哈希,最終生成一個默克爾根。

同理,如下圖,當我要證明紅色數據 「Banana」 參與生成了紫色的哈希值(默克爾根)時,我只需提供紅色數據和三個綠色的哈希值就可以了,無需曝光實際上共同生成了默克爾根的其餘 7 個元素。這就是默克爾樹和默克爾證據的作用。

Individual Merkle proofs for Banana, Peach and Kumquat
Individual Merkle proofs for Banana, Peach and Kumquat

聰明的讀者一定想到了,有了這個功能,合約的編寫者就可以把多個條件劃為不同的數據元素,哈希出一個默克爾根值來;在需要以某個條件來解鎖比特幣時,只需證明這個條件在這棵默克爾樹上即可,無需公開所有其他條件。

沒錯,這正是 MAST 的妙用。如下圖所示,這筆資金的解鎖條件有兩個,而編寫者把它們分割了開來,用默克爾樹抽象成了一個哈希值,在以任一個條件解鎖使用時,都不需要公開另一個。

MAST 在 P2SH 的基礎上邁出了一大步,其提升效果首先體現在隱私性上:原本在 P2SH 中,合約在使用時就一定要公開全部的腳本內容,不論那些內容用到沒用到,都必須公開;現在,有了 MAST,用戶就只需要公開需要用到的解鎖條件,無需公開全部內容了;同時,別人也根本不知道你還有多少個條件。

其次,它還在效率上有所提升:用戶只需提供需要用到的部分腳本,及其默克爾證據,在整個腳本比較龐大時,這種體積節約的效果會非常明顯。

由此,未來的比特幣用戶可以編寫條件非常多的合約,獲得更好的控制效果而只需支付更少的手續費;甚至,可以有意包含一些垃圾條件來充實默克爾樹,獲得隱私提升的效果。

這也是本篇副標題 「哈希即銀行」的由來:比特幣的腳本實際上全部圍繞著資金的控制,實現這種控制的關鍵一環正是多條件,而有了 MAST,即使是極多條件的資產管理腳本,也可以壓縮成一個哈希值,在使用時僅需暴露一部分。成本的降低可以打開非常多的可能性,等待錢包開發者去一探究竟。

Schnorr 簽名

Taproot 升級之後,比特幣將不僅支持基於橢圓曲線的密碼學簽名,還支持 Schnorr 數位簽名方案。

Schnorr 簽名的構造方法在此不提,我們僅介紹其重要屬性:簽名/私鑰 聚合 —— 多個私鑰的簽名,可以聚合成一個簽名,看起來仿佛是一把私鑰簽出的。簽名時,仍然是各私鑰持有者各自簽名的;驗簽時,卻仿佛這些簽名是一把對應於已知公鑰(當然就是這些參與者的公鑰聚合而成的公鑰)的私鑰簽出的。

延伸閱讀:比特幣完成重大更新|0.21.0版:支持洋蔥路由v3,Schnorr簽名/ Taproot技術升級

也就是說,有了 Schnorr 簽名,其他人就無法分辨一個簽名到底是單人簽出的,還是多人共同簽出的了;多簽名的解鎖條件,可以用一個聚合公鑰來替代。

所有 n-n 的多簽名合約,都可以享受到 Schnorr 簽名提供的隱私保護。其最顯然的應用就是閃電網絡通道,因為閃電網絡通道是一個 2-2 的多簽名合約;此後,其他人就無法憑借簽名的數量來分辨支付通道和個人用戶了。

至於 m-n 的多簽名合約,也不用擔心,別忘了我們有 MAST:我們可以把所有可能解鎖的情形都化成一個分支,在使用某個分支時,所提供的簽名也只需是聚合簽名。

例如,假設我們要做一個 2-3 的多簽名合約,在公鑰 A、B、C 中三取其二,這個多簽名合約效果等同於 「要麼(A、B)解鎖、要麼(B、C)解鎖、要麼(A、C)解鎖」,這可以理解為一個多條件的腳本,每個條件都是一個 2-2 多簽名,因此也都可以用相應的聚合公鑰來定義解鎖條件(而無需以多簽名來定義)。

所以,當我們需要以某種組合解鎖資金時,只需用 MAST 暴露一個分支、提供一個簽名,他人依然不知道這到底是一個人,還是兩個人,還是多個人。

還沒完呢。

Taproot

按我們這種理解的路徑,Taproot 升級的最後一個部分就是 Taproot,是其名字的由來。在提出這個概念時,Gregory Maxwell 寫道:

在討論默克爾化腳本時,一個大家常常提起的問題是,我們能否實現一種精巧的合約,使其與最常見、最無聊的支付沒有分別。不然的話,使用這些時髦技術的輸出的匿名集,也就是另一個小眾集合而已,在實踐中沒有多大的意義。

在這裡,Maxwell 敏銳地抓住了問題的要點:比特幣的隱私保障來自於 「大隱隱於市」,最好所有的資金單元(UTXO)看起來都一個樣,這樣用戶的真實身份、真實構成才最難把握。

但是,在引入新的功能時,總免不了要提出新的 「地址」 類型,如果使用這種功能的用戶很少,則每一個用戶暴露真實身份的可能性都會大大增加,而這一點可能導致這些新功能根本不會被使用,從而失去意義。

而且,盡管 MAST 在合約的隱私性上有重大作用,但如果還像過去那樣,個人錢包是個人錢包,合約錢包是合約錢包,一目了然的話,就不能不說,這樣的隱私性仍然是有瑕疵的。

人們極需一種辦法,來終結這種 個人錢包/合約錢包 的區分,為比特幣的隱私性補上點睛之筆。為此,最起碼要實現的一點是,這種帶有合約的錢包,在用戶個人日常使用中,其代價與普通的個人錢包沒有區別(經濟性)。

Taproot 就是這樣的一種辦法,它利用了私鑰聚合的特點,提出了自帶兩種使用路徑的腳本模式:一種是 n-n 的多簽名合約;另一種是用戶自定義的合約腳本。

沿用 Maxwell 原文中的例子:

假設兩個用戶各有公鑰 A、B,兩人聚合公鑰 A + B = C,再生成最終公鑰 P = C + H(C||S)*G,其中 S 為自定義的腳本。就以這個最終公鑰 P 來定義資金的解鎖條件。

假設兩個用戶都在線,他們很容易可以共同使用這筆資金,只要其中一方在簽名時在自己的私鑰里加上 H(C||S) 即可;

如果只有其中一方在線,比如 S 定義了 B 可以花費資金的條件,Taproot 的規則使得公鑰 B 用戶可通過揭示聚合公鑰 P 以及 H(C||S) 並提供可以滿足 S 的條件來使用資金。

這裡用的是 2-2 多簽名合約,但用戶可以想到,只要私鑰聚合的技術可用,1-1 也就是單簽名同樣可以利用這種編寫腳本的辦法。重要的是:(1)儘管這是一個帶有自定義合約的資金,但在不動用合約、僅使用 n-n 多簽名時,其手續費成本與單簽名解鎖的資金沒有區別!(2)在 n-n 多簽名使用時,他人完全不知道這筆資金還可以用其他方式來解鎖使用!

這樣一來,個人用戶和合約用戶都可以統一在一種腳本模式(P2TR 「地址」)下,個人用戶放心給自己的資金加上合約,無需擔心日常會付出更高的手續費代價;合約用戶與個人用戶因為使用同一種 「地址」 而享受到更大的匿名集,甚至於在大部分情況下都無需暴露自己使用了合約。皆大歡喜。

總而言之,在 Taproot 之後,他人將無法從地址形式上分辨一個 P2TR 地址到底是個人用戶還是合約用戶;由於 Schnorr 簽名的效果,當這個地址裡的資金使用單簽名來解鎖時,他人將無法分辨這到底是一個人在使用,還是 n 個人一起使用,也無法知道這個地址是否還有自定義的腳本。

由於 MAST 的效果,當用戶使用自定義的腳本來花費資金時,只需暴露需要用到的部分腳本;他人雖然知道了這個地址有自定義的腳本,但整個腳本到底包括哪些條件,仍然是不可知的。

因此,儘管有人質疑 Taproot 可能反過來給比特幣的隱私性帶來損害,但我完全不這麽擔心。因為 Taproot 「地址」 在便利性、隱私性、經濟性上,都已毫無疑問是比特幣史上最佳,它完全有希望可以統一比特幣的 「地址」 類型,形成比特幣有史以來最大的匿名集。

總結

對於了解一些密碼學技術的人來說,學習比特幣的開發和升級是很愉快,乃至令人眼界大開的事。在其升級中,你可以看到人們孜孜不倦地使用密碼學來不斷優化這個系統 —— 得益於這個系統本身的模組化特性,這些優化都真實有感。Taproot 正是其中的代表。

我相信,學習比特幣(尤其是 Taproot)的過程會告訴讀者,什麽才是真正的 「密碼學貨幣」。

Taproot 可能是比特幣歷史上最重要的一次升級,將造就有史以來最純粹的密碼學貨幣 —— 將密碼學利用到極致、最輕量、生命力最頑強的貨幣。

📍相關報導📍

乾貨 | 比特幣重點升級項目,Taproot 軟分叉技術解讀

睽違4年,比特幣升級確定!Taproot 軟分岔 11 月啟動,智能合約、Defi 功能將出現

神鬼駭客史諾登:Taproot 將惡化比特幣隱私性;CBDC 恐成全球政府擴權工具


讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。

LINE 與 Messenger 不定期為大家服務

加入好友

加入好友

No Result
View All Result

近期文章

  • 精選文章搶先看!動區登入Access質押訂閱服務,解鎖寶貴資訊快人一步
  • ABS獨家專訪》Gitcoin共同創辦人Scott:台灣是現實與Web3治理的重要交匯點
  • ABS獨家專訪》Gate.io CEO韓林:無懼銀行進軍加密服務,台北特別有人情味
  • 快訊!BTC 現在已來到 58996.2
  • 快訊!BTC 現在已來到 58815.03
Next Post
快訊》老爹加入 FTX 宇宙!MLB 紅襪隊傳奇人物 David Ortiz 將擔任 FTX 大使

快訊》老爹加入 FTX 宇宙!MLB 紅襪隊傳奇人物 David Ortiz 將擔任 FTX 大使

Copyright (c) 2019 by Jegtheme.
  • About
  • Buy JNews
  • Request A Demo
  • Contact

Welcome Back!

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Fill the forms below to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

- Select Visibility -

    No Result
    View All Result
    • Account
    • BlockTempo Beginner – 動區新手村
    • Change Password
    • Forgot Password?
    • Home 1
    • Home 2
    • Home 3
    • Jin-homepage
    • Latest
    • Login
    • Profile
    • Register
    • Reset Password
    • Trending
    • Users
    • Users List Item
    • 不只加密貨幣,談談那些你不知道的區塊鏈應用|動區新手村
    • 所有文章
    • 關於 BlockTempo

    © 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.