什麼是桅杆?比特幣中的智能合約


比特幣雖然是最大的加密貨幣,也是市值最高的加密貨幣,但它的區塊鏈也相對簡單,無法支持一些使其追求者非常受歡迎的特性。

讓我們認識一下MAST

解決速度和交易費用問題的更新之一是隔離見證或SegWit。

自2017 年8 月以來一直在談論此更新,因此得到了極大的宣傳。但這並不是唯一的改進,因為還有許多其他比特幣改進提案(BIP) 試圖豐富加密貨幣的某些方面。其中一些專注於MAST。

MAST 是一個首字母縮寫詞,代表默克爾化抽象語法樹。該協議是Merkle 樹和抽象語法樹之間的結合。前者是一種加密貨幣工具,有助於減少塊內信息的大小。通過使用樹根,可以驗證樹中的信息是否真實,而無需下載所有信息。

抽象語法樹(AST) 是一種算法,它通過將程序分成其組成部分來使其更易於理解和分類。

能夠拆分它使得訪問相關信息變得更加容易。

桅杆樹

通過這種方式,通過兩者的結合,可以在比特幣區塊鏈上進行的交易中添加更複雜的信息。反過來,由於使用Merkle 測試,它允許較小的交易數據。

2016 年11 月,比特幣開發者Luke-jr 寫道:

Merkelized Abstract Syntax Tree (MAST) 的思想是使用Merkle 樹在腳本中編碼操作。在支出時,用戶只能提供他們正在運行的分支以及將分支連接到固定大小的Merkle 根的哈希值。這將贖回堆棧的大小從O (n) 減少到O (log n)(n 作為操作數)。

目前,比特幣區塊鏈需要執行與交易相關的所有信息。即使在交易期間未使用的某些信息。

因此,這使得分類帳(公共分類帳)上的交易非常繁重,從而使過程變慢。如果有一天MAST 最終實施,比特幣交易可能會快得多。

帶和不帶MASK 的K線走勢圖

BIP14

一位領先的比特幣開發者Johnson Lau 在GitHub 上提交了一個名為Proposal BIP 114 的請求。在定義中,它說:

這個BIP 定義了一種新型的見證程序,它使用默克爾樹在腳本中編碼互斥的分支。這允許目前無法實現的複雜交易條件,通過隱藏未執行的腳本來提高隱私,並允許以很少或沒有額外成本包含未經同意的數據。

對Lau 而言,該提案背後的動機來自比特幣的安全,但有些不合適且繁瑣的腳本系統。

如果實施,該提案將允許本地SegWit 地址使用Merkle 根來見證交易。

Lau 進一步解釋說,雖然BIP114 是基於MAST 的,但它有一些區別,更廣為人知的是默克爾化腳本:

這個提議是MAST 的一個簡化和特例。 Merkle 根編碼互斥的條件腳本分支,而不是編碼單個操作。儘管它不是完整的MAST 實現,但它提供了相同級別的O(log n)隱私和可擴展性。

馬克弗里登巴赫的提議

另一位領先的比特幣開發商Mark Friedenbach 發布了兩項提案,準備就緒後將允許將MAST 引入加密貨幣。

其中第一個是BIP 116,它旨在允許“腳本程序員提交一組數據,並在不必透露完整集的情況下贖回這些元素中的一個或多個”。我稱之為MERKLEBRANCHVERIFY。

第二個提案是BIP 編號117,標題為“尾調用語義”。在其中Friedenbach 解釋了他將如何努力實施MAST:

該BIP 與BIP 116 相結合,允許腳本提交幾乎無限數量的代碼路徑,然後顯示所用代碼的實際路徑。這實現了MAST 的通用形式,允許將復雜的分支腳本分解為一組扁平的、無分支的執行路徑,提交到整個可能的路徑集,然後僅顯示花費時間使用的路徑。

雖然Lau 的提議只能與SegWit 腳本一起使用,但Friedenbach 的提議是獨立的,可以在沒有比特幣區塊鏈上當前使用的三個腳本的情況下實施。這些是裸機、P2SH 和SegWit。對此,他解釋說:

通過使用強大而簡單的工具(如MERKLEBRANCHVERIFY 和單尾遞歸)的模塊化和組合來構建MAST,我們啟用了一個複雜而理想的功能,同時最大限度地減少了對共識代碼的更改,審查了技術負擔和債務。

Taproot de Gregory Maxwell

Lau 和Friedenbach 專注於MAST,尋找協議可以引入的效率,而Gregory Maxwell 則尋求通過其實施來增加隱私。

Maxwell 開發了一個名為Taproot(主根)的協議,旨在保護交易中的隱私。因為有條件的交易很容易與那些簡單的費用區分開來,麥克斯韋建議建立一個能讓複雜的智能合約看起來像簡單的支付的東西。

Taproot 是一種特殊類型的Merkle 根,用作委託CHECKSIG。該工具使得無法區分智能合約合規性和其他更簡單的交易:

驗證簽名路徑的計算複雜度顯然與任何其他簡單簽名相同(因為它是不可區分的)。分支贖回驗證需要一個常數點的散列和乘法,這比簽名驗證更有效,並且能夠有效地合併到批量簽名驗證中。

實施MAST 有什麼好處?

雖然我們上面寫的所有內容都包含許多技術細節,但重要的是MAST 實現支持智能合約以及改進的可擴展性。

使用MAST,可以在不使用大量信息的情況下擁有大量條件列表。

因此,可以在比特幣區塊鏈上創建複雜的智能合約。最重要的是,MAST 可以幫助解決可擴展性問題。

此更新在其提供的效率、功能和隱私解決方案方面非常有趣。

MAST 的另一個特點是能夠在交易中提供更好的隱私級別,因為它只使用處理交易所需的信息。在此信息中未使用的是時間鎖或條件。

這可以保護條件中包含的人的隱私,因為這些信息不會公開顯示。

除此之外,MAST 可以再次提供可替代性,因為它無法確定哪些單元附加到智能合約,哪些是簡單的費用。

最後,由於Merkle 樹,MAST 可以減少交易中的信息使用。 Merkle 根和Merkle 測試都消除了對整個信息集的需要。因此,區塊鏈上的交易可以更快。

儘管MAST 是否最終會在比特幣中實施還有待觀察,但事實是,它對數字貨幣及其功能非常有益。

資訊來源:由0x資訊編譯自CRIPTOTARIO。版權歸作者Criptotario所有,未經許可,不得轉載

Total
0
Shares
Related Posts