以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > 聚幣 > Info

觀點 | 為什么說比特幣的打浦路(Taproot)比你想的寬_PRO:比特幣錢包

Author:

Time:1900/1/1 0:00:00

作者:阿劍

原文標題:《打浦路比你想的寬》,文章題目來自Bitcoiner熊越。

比特幣的Taproot軟分叉升級將于比特幣區塊高度709632處激活。此次升級包含了許多重要而精彩的內容,然而,在中文世界里卻缺乏足夠的重視。本文將從技術角度簡要介紹Taproot的升級內容,并以此體現比特幣的發展方向。

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

比特幣上的智能合約

許多人不了解的是,比特幣也支持編程智能合約2,只不過其智能合約的類型與其他區塊鏈的不同。詳細解釋這種區別需要專門的一篇文章,這種區別在這篇文章里也不重要。這里僅僅介紹比特幣智能合約編程的幾個常見的模塊3,方便大家理解其應用場景:

多簽名合約。比特幣支持多簽名授權使用資金:在N個記錄好的公鑰中,必須有M個公鑰所對應的私鑰簽名,該筆資金才可動用。比特幣支持最多15個公鑰的多簽名合約。時間鎖。用戶可以使用兩種類型的時間鎖來規定一筆資金的可用時段:CLTV,絕對時間鎖,以具體的時間或具體的區塊高度來定義,過了這個時間才可動用;CSV,相對時間鎖,比如生成該項資金的交易上鏈的1000個區塊后,該筆資金才可動用。多條件編程。即在腳本中使用“IF...ELSE...”式的語句,為同一筆資金設定多個解鎖條件,任一條件滿足即可使用該資金。比如:“A公鑰所對應的私鑰可解鎖,或者,在區塊高度XXXX以后,B公鑰所對應的私鑰可以解鎖,或者,在該交易上鏈的YYYY個區塊以后,A、B、C三個公鑰中任意兩個所對應的私鑰可以解鎖”如讀者可以想象的,這幾個模塊看起來非常簡單,組合起來可能性卻非常多:多簽名合約定義了不同主體的權限,可以適應極為豐富的應用場景,從公司運營,到家庭金庫;時間鎖則規定了不同主體在不同時段的權限。而多條件則顯著放大了這些權限控制的組合效果。

觀點:加密礦機制造商正在向俄羅斯擴張:7月28日消息,據 CoinDesk 報道,消息人士表示,隨著美國市場飽和,比特大陸和 MicroBT 等礦機制造商正在向俄羅斯擴張。比特幣挖礦基礎設施提供商 Luxor Technologies 首席運營官 Ethan Vera 在 CoinDesk 2023 共識節上表示,流入俄羅斯的機器數量比世界上其他任何地方都多。

由于廉價能源的供應和寒冷的氣候,俄羅斯一直是比特幣哈希率方面的強國。據俄羅斯最大的礦業公司之一稱,隨著中國于 2021 年禁止該行業,俄羅斯在世界礦業中的份額有所增加,使其成為世界第二或第三大礦業公司。[2023/7/29 16:05:24]

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

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

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

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

在當前,比特幣的合約體現為P2SH“地址”。其特點是,在生成合約時,腳本可以不公開,有需要的直接給腳本的哈希值支付;但是,這些資金在花費時,與這個哈希值對應的腳本就要完全公開出來放到交易中。以多簽名合約為例,其他人可以直接給這個多簽名合約腳本的哈希值支付,但是,當多簽名合約的參與者要使用這些資金時,就必須把整個腳本公開3。

此外,在SegWit升級以前,單簽名的個人錢包與合約錢包是涇渭分明的,前者是P2PKH地址,后者是P2SH地址,僅從地址上就可以看出來,這又是一個對隱私不利的因素。在SegWit升級之后,支持隔離見證的個人錢包也可采取P2SH的形式,但原生隔離見證地址和合約地址仍然是涇渭分明的4。

觀點:鏈上MKR里有30億的USDC抵押鑄造DAI,觸發清算將損失慘重:金色財經報道,加密KOL“神魚”發推分析稱:USDC有兩個關鍵節點,第一是鏈上MKR里面有30億的USDC抵押鑄造DAI,一旦觸發清算將損失慘重;二是周一銀行開門提現潮來臨,需要關注擠兌情況。幣安目前持有30+億的USDC,需要關注交易所及做市商動態。[2023/3/11 12:57:01]

了解了這些以后,讓我們來看看Taproot升級的三大部分如何做得更好。

默克爾抽象語法樹

默克爾化抽象語法樹5的含義是,在比特幣的腳本驗證中支持驗證默克爾證據。

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

3

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

IndividualMerkleproofsforBanana,PeachandKumquat

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

觀點:比特幣短期持有者昨日“投降”,蒙受巨大損失:Moskovski Capital首席投資官Lex Moskovski在推特上援引Glasssnode數據并表示,比特幣短期持有者昨日已“投降”,他們的損失與比特幣歷史上所有主要損失不相上下。[2021/6/26 0:08:33]

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

005.png

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

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

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

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

觀點:機構投資使比特幣供應量不斷減少 或導致價格飆升:Coindesk發文稱,數據顯示,目前自由流通的比特幣數量約為400萬枚,在過去的一年里,這個數字在持續減少。Glassnode表示,隨著越來越多的機構投資者接受比特幣作為投資,可供買賣的比特幣供應量不斷減少,可能會導致價格飆升。[2021/3/3 18:09:15]

Schnorr簽名

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

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

也就是說,有了Schnorr簽名,其他人就無法分辨一個簽名到底是單人簽出的,還是多人共同簽出的了;多簽名的解鎖條件,可以用一個聚合公鑰來替代。所有n-n的多簽名合約,都可以享受到Schnorr簽名提供的隱私保護。其最顯然的應用就是閃電網絡通道,因為閃電網絡通道是一個2-2的多簽名合約;此后,其他人就無法憑借簽名的數量來分辨支付通道和個人用戶了。

至于m-n的多簽名合約,也不用擔心,別忘了我們有MAST:我們可以把所有可能解鎖的情形都化成一個分支,在使用某個分支時,所提供的簽名也只需是聚合簽名。例如,假設我們要做一個2-3的多簽名合約,在公鑰A、B、C中三取其二,這個多簽名合約效果等同于“要么解鎖、要么解鎖、要么解鎖”,這可以理解為一個多條件的腳本,每個條件都是一個2-2多簽名,因此也都可以用相應的聚合公鑰來定義解鎖條件。所以,當我們需要以某種組合解鎖資金時,只需用MAST暴露一個分支、提供一個簽名,他人依然不知道這到底是一個人,還是兩個人,還是多個人。

觀點:俄羅斯加密礦商正加大部署采礦設備以滿足美國和歐洲需求:據Cointelegraph消息,俄羅斯加密貨幣商BitRiver創始人Igor Runets表示,該公司正在積極建設電力產能,以滿足美國和歐洲投資者日益增長的需求。據這位高管稱,BitRiver的數據中心的閑置產能已經用完,已經完全保留了未來18個月的所有電力。在此期間,公司預計將共同部署采礦設備,總采礦功率估計為1千瓦時。不斷增長的需求主要來自美國和歐洲,投資者將部分業務從中國、非洲和拉丁美洲轉移,以尋求更低的能源價格。但需求增加的主要原因是加密貨幣價格不斷上漲,創下新高。[2021/2/18 17:27:26]

還沒完呢。

Taproot

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

在討論默克爾化腳本時,一個大家常常提起的問題是,我們能否實現一種精巧的合約,使其與最常見、最無聊的支付沒有分別。不然的話,使用這些時髦技術的輸出的匿名集,也就是另一個小眾集合而已,在實踐中沒有多大的意義。在這里,Maxwell敏銳地抓住了問題的要點:比特幣的隱私保障來自于“大隱隱于市”,最好所有的資金單元看起來都一個樣,這樣用戶的真實身份、真實構成才最難把握。但是,在引入新的功能時,總免不了要提出新的“地址”類型,如果使用這種功能的用戶很少,則每一個用戶暴露真實身份的可能性都會大大增加,而這一點可能導致這些新功能根本不會被使用,從而失去意義。

而且,盡管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也就是單簽名同樣可以利用這種編寫腳本的辦法。重要的是:盡管這是一個帶有自定義合約的資金,但在不動用合約、僅使用n-n多簽名時,其手續費成本與單簽名解鎖的資金沒有區別!在n-n多簽名使用時,他人完全不知道這筆資金還可以用其他方式來解鎖使用!

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

總而言之,在Taproot之后,他人將無法從地址形式上分辨一個P2TR地址到底是個人用戶還是合約用戶;由于Schnorr簽名的效果,當這個地址里的資金使用單簽名來解鎖時,他人將無法分辨這到底是一個人在使用,還是n個人一起使用,也無法知道這個地址是否還有自定義的腳本;由于MAST的效果,當用戶使用自定義的腳本來花費資金時,只需暴露需要用到的部分腳本;他人雖然知道了這個地址有自定義的腳本,但整個腳本到底包括哪些條件,仍然是不可知的。

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

結語

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

我相信,學習比特幣的過程會告訴讀者,什么才是真正的“密碼學貨幣”。

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

致謝

感謝@hou123,@曾汨對本文的富有教益的反饋。

腳注:

比特幣升級提案Taproot技術解讀,https://www.btcstudy.org/2021/09/29/bitcoin-taproot-a-technical-explanation/BitcoinWiki·智能合約,https://en.wikipedia.org/wiki/Smart_contract精通比特幣中譯本·第七章:高級交易和腳本,https://github.com/tianmingyun/MasterBitcoin2CN/blob/master/ch07.mdTypesofBitcointransactions-PartIISegwit,https://blog.susanka.eu/types-of-bitcoin-transactions-part-ii-segwit/什么是比特幣默克爾化抽象語法樹,https://www.btcstudy.org/2021/09/07/what-is-a-bitcoin-merklized-abstract-syntax-tree-mast/Schnorr簽名如何提升比特幣,https://www.btcstudy.org/2021/09/09/how-schnorr-signatures-may-improve-bitcoin/Taproot:Privacypreservingswitchablescripting,https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015614.html用大白話解釋Taproot對隱私性的影響,https://www.btcstudy.org/2021/09/23/explain-like-im-not-a-developer-taproot-privacy/

Tags:比特幣PROROOROOT比特幣錢包Divergence ProtocolHamster GroomersRootkit Finance

聚幣
融資新聞丨波卡NFT項目PolkaPet World完成310萬美元融資,Animoca Brands 領投_POL:Kappi Token

PolkaPetWorld是波卡生態系統的一個不可替代代幣(NFT)項目,已經與21個最大的波卡項目合作,今天宣布其備受期待的PETS代幣的第一輪融資已超過310萬美元.

1900/1/1 0:00:00
強推Novi項目, Facebook決意構建元宇宙版圖_CEB:BOOKSHIB

在社交巨頭們的眼中,區塊鏈世界里有他們看重的元素,這股潮流和加密支付以及NFT密切相關。 鏈新原創作者|方沁雨 時隔兩年,繼“天秤座計劃”Libra難產后,Facebook又啟動了新的區塊鏈計劃.

1900/1/1 0:00:00
尼日利亞總統:將于今日推出央行數字貨幣e-naira_AIR:CBN價格

據Newsbitcoin消息,根據尼日利亞中央銀行發布的一份聲明,標志著e-naira推出的正式活動將在尼日利亞總統MuhammaduBuhari的官邸舉行.

1900/1/1 0:00:00
關于元宇宙的8個問題:誕生何處,去向何方?_元宇宙:CEB

這個想法從何而來? 來自科幻小說。在尼爾·斯蒂芬森1992年創作的科幻小說《雪崩》中,元宇宙是一個3D虛擬現實世界,人們可以在其中逃離反烏托邦的現實:一個龐大的網絡游戲,人們的化身在其中四處游蕩.

1900/1/1 0:00:00
去中心化圖片網絡Numbers Protocol完成600萬美元種子輪融資,Protocol Labs等參投_USD:EVE

據CryptoDaily10月21日消息,去中心化圖片網絡NumbersProtocol完成600萬美元私募種子輪融資,其中私募投資方為ProtocolLabs和DAOMaker.

1900/1/1 0:00:00
以螞蟻旗下的NFT平臺為例,分析國內NFT藏品場外交易法律風險(合同篇)_NFT:Edgeware

從目前的法律規定來看,我們認為,在一般情況下,國內NFT藏品的場外交易合同是有效的,但也存在可能影響合同效力的X因素.

1900/1/1 0:00:00
ads