Graftroot:授權簽名如何讓交易變出更多花樣

買賣虛擬貨幣
本文是《比特幣下一次升級要包含的Taproot究竟是什麼》的後續。如果還沒讀過那篇文章的話,你應該先看一下。
【這裡說明一下:前文中將cooperative close譯作“合作終止合約”,後來小編覺得用“合作結算合約”更好】
如果在比特幣上部署了Taproot之後,很多智慧合約結構看起來就跟其他常規交易一樣。只要所有參與者都同意合約的結果(比如“合作結算合約”),將Schnorr簽名和MAST巧妙結合起來既提供了資料傳輸效率,還能提供隱私性。但是,如果Taproot智慧合約非常複雜,在沒有合作結算合約的情況下,需要揭示的默克爾路徑的資料量仍然很大。比特幣核心開發者Gregory Maxwell的後續提案“Graftroot”可以提供與Taproot類似的好處,但沒有上面所說的那種缺點,為智慧合約提供更高的靈活性。
Graftroot在使用Taproot時,智慧合約的所有參與者組合他們的公鑰來生成一個“閾值公鑰”,就能使用他們的“閾值簽名”來花費資金。而使用Graftroot時,所有參與者也會生成類似的閾值公鑰,但不會去微調閾值公鑰。參與者確實建立了不同的指令碼:可供花費資金的各種條件。但是,使用Graftroot,參與者會對不同的指令碼都進行簽名,以生成與這些指令碼相對應的閾值簽名。所有希望透過特定指令碼作為後路的參與者接受並儲存該指令碼和相應的閾值簽名。這種簽名可以後續向全世界證明其對應指令碼是一種有效的替代方案,是所有參與者都同意的一種“授權”。
假設Alice和Bob建立了一個智慧合約,他們可以一起花錢,或者讓Alice在一週後單獨花錢,或者讓Bob使用一個密碼就能單獨花錢。在這種情況下,Alice和Bob組合他們的公鑰來建立一個閾值公鑰,如果他們能夠提供閾值簽名,那他們就可以使用這筆資金。(只有當他們要花錢的時候,他們才會生成閾值簽名。)然後,Alice和Bob還會建立並立即為替代指令碼簽名。 Alice用閾值簽名給允許她在一週後花費比特幣的指令碼簽名,而Bob用閾值簽名給允許他使用一個密碼就能單獨花錢的指令碼簽名。(注意,僅憑閾值簽名和相應的指令碼是不夠的;它們只是證明指令碼是Alice和Bob都同意的,但仍需滿足指令碼中指定的條件才能使用這筆資金。)等到合約到期時,Alice和Bob可能會同意簽名結算交易。他們一起建立一個閾值簽名,就可以花費閾值公鑰對應的比特幣,而且其他人並不知道其他可以滿足的條件,甚至不會涉及多個人,看起來就跟一筆常規交易一樣。
但是,如果由於某種原因無法合作結算合約,那麼誰能滿足替代條件,誰就可以獨自花費這筆資金。如果Bob知道那個密碼,他就能將“他的”替代指令碼與對應的閾值簽名結合起來。其他網路參與者可以根據閾值公鑰來檢查閾值簽名並得出結果,因為這個替代指令碼是智慧合約的所有參與者都同意的。因此,Bob可以順利使用這些帶有密碼的比特幣。或者,如果一週過去以後,Alice就可以利用“她的”替代指令碼與閾值簽名結合起來使用這些比特幣。在這兩種情況下,其他人都不知道另外的替代方案。Graftroot的主要好處在於,它不需要關心智慧合約有多麼複雜,或者更準確地講,不再需要關心有多少種可能的結算結果。雖然上面的例子只包含了兩個可選指令碼,但實際上Graftroot結構可以包含幾百個可選指令碼,並且不會對可選指令碼產生任何影響。甚至當最初的智慧合約構建完成後,Alice和Bob還可以新增更多條件!不過,Graftroot也有缺點,其中一個就是它是互動式的。參與者必須相互交流才能為替代指令碼簽名,甚至是在花錢之前。此外,參與者需要儲存替代指令碼的閾值簽名;如果他們丟失了這個簽名,他們就沒有其他解決辦法了。
Graftroot的發展那麼,比特幣使用者什麼時候才能用上這種技術呢?好訊息是,透過隔離驗證,利用被稱為“指令碼版本控制”的功能允許以向後相容的方式相對容易地推出一些技術升級,包括Schnorr簽名、Taproot 和 Graftroot。
不過,理想情況下,那些致力於上述升級的比特幣核心開發者更希望能立即推出所有這些改進方案,包括Pieter Wuille、Anthony Towns、Johnson Lau、Jonas Nick、Andrew Poelstra、Tim Ruffing、Rusty Russell和Gregory Maxwell。雖然指令碼版本控制使升級變得容易,但它也要求交易中顯示正在使用哪種協議升級。因此,雖然Graftroot可以完全隱藏可用的替代指令碼,但指令碼版本會暴露出該交易正在使用Graftroot。因此,一次部署多種協議升級可以在一定程度上避免這種問題,因為它們都使用相同的指令碼版本。但最重要的是,一次部署多種升級有利於軟體相容性。另一方面,當涉及到全天候執行的安全關鍵協議的共識更改時,“相對容易推出”仍然是一項艱鉅的任務,因為在升級時會有不同的利益方和偏好方。每個潛在的新功能都有其自身的優缺點,所以一次組合多種升級也可能導致更多的反對意見。當然,將更多功能組合到單次升級中並不會降低開發難度。因此,就目前而言,Schnorr簽名和Taproot是優先考慮的,大部分人都建議包含在一次升級裡。至於Graftroot可能就要放到後續的升級中了。
更多數字貨幣資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;