比特幣最新升級提案Taproot是如何提高網路的靈活性和隱私性的?

買賣虛擬貨幣
本文由Priyeshu Garg撰寫,詳細介紹了比特幣最新升級提案Taproot是如何擴充套件網路的智慧合約靈活性並提供隱私特性的。以下為原文譯文:提升比特幣指令碼能力的最受期待的更新之一Taproot,可能很快會在比特幣網路上推出。Taproot在2018年被首次提出,這個更新將擴充套件網路的智慧合約靈活性,並提供前所未有的隱私特性,能讓最複雜的智慧合約與常規轉賬看起來幾乎相差無幾。解決複雜智慧合約的問題儘管比特幣到目前為止是第一個也是最有野心的一個區塊鏈專案,但它也由於缺乏可擴充套件性與解決複雜智慧合約帶來的隱私問題的能力而備受批評。比特幣開發者們已經為解決這些問題努力工作了接近十年。現在,一個近乎完美的解決網路內指令碼問題的解決方案就在眼前。同時有數個專案被提了出來,但Taproot是最有前途的一個。
Taproot在2018年1月首次由比特幣核心開發者、Blockstream前CTO Gregory Maxwell提出,該方案致力於擴充套件比特幣的智慧合約靈活性。拋開Taproot對智慧合約簽名帶來的意料之外的靈活性不談,它還為轉賬帶來了更多隱私特性。像這樣的重大創新只有在實施隔離見證的前提下才有可能。隔離見證引入了指令碼的版本控制,這是對比特幣協議的擴充套件,允許在網路上實施新的密碼學簽名演算法。Taproot的工作方式要理解Taproot怎樣工作,我們必須退回到比特幣轉賬的基礎上——指令碼。指令碼是嵌入轉賬中、在區塊鏈上執行的幾行程式碼,它定義了被轉賬的幣可以被花費的方式。在這些被轉賬的幣能被花費之前,還有一些步驟需要完成:這些幣的所有權必須透過簽名被證明;如果有時間鎖,則需要達到特定的區塊高度或者日期;或者一個私鑰集合中一定數量的私鑰需要為轉賬提供簽名。以上這些條件可以被組合起來形成一個非常複雜的智慧合約。智慧合約的這些限制條件,或者說指令碼,由於P2SH的存在,僅對這些幣的新擁有者可見。這使得只有指令碼的雜湊值,或者說看起來只是一組隨機數被包括在區塊鏈裡。但是,當這些幣被花掉之後,這個指令碼最終會被揭示出來。這意味著這筆轉賬的所有條件,包括那些沒被觸發的條件,都會在鏈上顯示出來。
雖然非常直截了當,但這個過程會產生很多資料,而且在保護區塊鏈鏈上轉賬的隱私方面非常不利。

解決這個問題的一個方式是使用默克爾化的抽象語法樹(MAST)。這個提議基於默克爾樹,這是一種歷史久遠的緊湊的資料結構,能夠允許轉賬的所有不同限制條件被單獨雜湊。所有這些條件將被存在一個默克爾樹裡,產生一個稱為默克爾根的單獨雜湊值用來鎖定這些幣。

如果默克爾樹裡的任何資料被揭示到區塊鏈上,這些資料都可以透過默克爾根和樹上的其他成為默克爾路徑的資料輕鬆驗證。但是,默克爾樹上的大多數其他資料將保持加密隱藏的狀態。

MAST在保護資料隱私和有效性方面更進了一步,因為它僅僅揭示轉賬達成的條件。

Schnorr軟分叉協議升級可以實現Taproot

Pieter Wuille,Blockstream的CEO,同時也是著名的區塊鏈開發者,解釋說Taproot直接建立在MAST與默克爾分支之上。在它的GitHub提議中,它解釋道Taproot將允許幾乎所有智慧合約結構中包含一個條件,從而能讓所有參與者對一個結果進行表決。參與者能共同合作,對一項清算轉賬表示同意。Wuille表示,這會節省更多空間,並增加花費時的指令碼隱私性。

雖然Taproot自己已經有巨大的潛力,但只有與Schnorr結合起來,它才能發揮它真正的威力。這種新型的簽名方式目前正在開發當中,將透過一次軟分叉部署到區塊鏈上。這將是比特幣網路中最受期待的一次升級之一。

這種簽名方式以其發明者Claus-Peter Schnorr命名,它是一套將私鑰、公鑰和轉賬簽名連線在一起的數學規則。Schnorr被廣泛認為是加密貨幣領域最好的簽名形式。Wuille知道它可以在提供很好的正確性的同時又不損失延展性。

除此之外,Schnorr簽名驗證起來很快,這意味著更快的轉賬確認,以及飛快的轉賬時間。但是,最獨特的一點是它整合了對多重簽名的支援。

Schnorr簽名不僅能將同一轉賬的幾個簽名合併成一個,而且公鑰和簽名都能合併成閾值公鑰與閾值簽名。這在區塊鏈隱私方面意味著巨大的進步,因為多籤轉賬將與常規轉賬幾乎一樣。

複雜的部分

大多數開發者對簽名機制更復雜的實施過程感興趣。Schnorr可以使用資料來改變私鑰和公鑰。這個改變可以像將這兩把金鑰乘以2一樣簡單。

“私鑰乘以2”與“公鑰乘以2”是相對應的,“私鑰乘以2”可以對資訊簽名,供“公鑰乘以2”驗證。

新生成的金鑰與其他金鑰對看起來一樣,無法分辨原先金鑰是不是被改過。

Taproot永遠包含一個條件,稱為“聯合關閉”,一項轉賬中的所有參與者可以合作來花費這些資金。透過使用Schnorr簽名,“聯合關閉”可以看起來與正常的點對點轉賬無異。這是透過將轉帳中所有參與者的公鑰加在一起來生成閾值公鑰而實現的。所有參與者的簽名結合起來生成的與閾值公鑰相對應的閾值簽名可以允許花費相應資金。

但是,Schnorr簽名也允許轉賬內的資金以非合作的方式進行花費。花費資金的替代方法被組合成一個不同的指令碼。這個指令碼被雜湊加密過,並被用來修改閾值公鑰。閾值公鑰與指令碼的結合同樣對應閾值簽名與指令碼的結合。

這種智慧合約的複雜結構提供了最大程度的隱私性,閾值公鑰與指令碼的結合看上去與常規公鑰一樣。在某些罕見情況下,當區塊鏈得知公鑰實際上被更改過之後,轉賬的“聯合關閉”就會失效。

這次協議升級可能對整個比特幣網路造成深刻影響。減少區塊體積意味著更快的轉賬和更少的轉賬費。這會使Schnorr簽名成為區塊鏈上人人都會用的方式。

免責聲明:

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

推荐阅读

;