最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當(dāng)前位置:主頁 > 區(qū)塊鏈 > 比特幣 > 默克爾化抽象語法樹

什么是比特幣默克爾化抽象語法樹?

2023-03-27 16:29:33 | 來源: | 作者:佚名
默克爾化抽象語法樹(Merklized Abstract Syntax Trees, MAST)是一項為比特幣提議的升級,可以實現(xiàn)更小的交易體積、更好的隱私性,以及更大的智能合約。在本文中,我們會解釋 MAST 的基本原理,講解其潛在好處,并總結(jié)目前一些包含這項技術(shù)的提案

默克爾化抽象語法樹(Merklized Abstract Syntax Trees, MAST)是一項為比特幣提議的升級,可以實現(xiàn)更小的交易體積、更好的隱私性,以及更大的智能合約。在本文中,我們會解釋 MAST 的基本原理,講解其潛在好處,并總結(jié)目前一些包含這項技術(shù)的提案。

什么是比特幣默克爾化抽象語法樹?

問題:沒用到的腳本數(shù)據(jù)

中本聰給了比特幣一個有趣的特性,是他沒有寫在 比特幣白皮書里的。除了可以通過公鑰來接收比特幣、用私鑰數(shù)字簽名來花費比特幣,用戶還可以編寫程序(叫做 “script”,腳本),當(dāng)成動態(tài)的公鑰和簽名來用。

當(dāng)你指定一個腳本后 —— 這在每一種比特幣錢包里都是基本操作 —— 由比特幣網(wǎng)絡(luò)強制執(zhí)行的比特幣協(xié)議就不會讓任何人花費這個腳本所控制的比特幣,除非腳本返回 True。這讓你可以指定資金的花費條件,稱為 “encumbrances”(財產(chǎn)條件),比如要求花費的交易一定要得到你的私鑰簽名。

更加復(fù)雜的財產(chǎn)條件也是有可能實現(xiàn)的,比如下面這個例子,我們會用它貫穿整篇文章:Alice 希望能夠隨時花費她的比特幣,但如果她連續(xù)三個月沒有花費自己的比特幣(可能因為身故或者喪失行為能力),她希望自己的兄弟姐妹 Bob 和 Charlie 擁有自己的比特幣,在任何兩人能達成一致的地方使用這些財產(chǎn)。

下面這個條件腳本就實現(xiàn)了上文所說的目標(biāo),它不僅納入了 Alice 的公鑰(需要驗證一個來自她私鑰的簽名),但也加入了以下條件性邏輯:一個超時條件,以及 Bob 和 Charlie 的公鑰。

在當(dāng)前的比特幣協(xié)議中,上述所有的數(shù)據(jù)都必須添加到區(qū)塊鏈中,在 Alice 的比特幣花費的時候,也包括在特定的花費行為中完全無關(guān)的腳本部分,也要曝光。就比如在 Alice 花費自己的比特幣時 Bob 和 Charlie 的公鑰也要曝光。

未使用的條件數(shù)據(jù)增大了交易的體積,也使用戶在必要之外曝光了更多的隱私,同時,也使體積而非驗證代價成為智能合約大小的主要限制因素。MAST 旨在改善這些情況,辦法就是移除在區(qū)塊鏈上直接包含未使用的腳本部分的需要。

MAST 初始構(gòu)想

MAST 1 背后的觀念來自于兩種久已存在的概念, 抽象語義樹和默克爾樹。抽象語義樹(AST) 是一種通過將一個程序分割成獨立的小塊來描述程序的方法,這樣會讓程序變得更容易分析和優(yōu)化。為了生成一個 AST,你需要把所有的方程與其前提用箭頭連接起來,直至所有的前提都被找出。下圖即是上文示例腳本的 AST。

另一方面,默克爾樹則可用來驗證某個元素是否是屬于某個集合,且無需知曉整個集合的全貌。舉個例子,比特幣的簡易支付驗證錢包(SPV wallet)就使用默克爾樹來驗證某筆交易是否存在于某個區(qū)塊中,這樣無需下載完整的區(qū)塊,可以節(jié)省帶寬。

要生成一棵默克爾樹,先要把每個元素都各自哈希一次,生成各自唯一的標(biāo)識符;然后這些標(biāo)識符配對之后再次哈希,生成這一對標(biāo)識符的標(biāo)識符;如此不斷重復(fù),直至只剩下一個標(biāo)識符,稱為 “默克爾根”,它就是一個短小精悍、但是標(biāo)記了整個集合的標(biāo)識符了。

在驗證某個元素屬不屬于某個集合時,擁有整個集合的人可以向你提供從那個元素到默克爾根路徑上的所有標(biāo)識符。這樣就能證明,這個元素確實在這個集合內(nèi)。

簡而言之,AST 背后的技術(shù)讓你可以把一個程序分成多個小塊,而默克爾樹讓我們可以驗證這些小塊確實是一個完整程序的一部分,且不必暴露整個程序。這就是 MAST 的基本原理,可以讓花費者用一個默克爾證明來替換在單次交易中沒有用到的條件 —— 減少交易體積、提高隱私性,并支持更大的合約。

MAST 的一個例子

我們以上文的財產(chǎn)條件為例,為我們希望的兩種可能場景分割為兩個子腳本:

  • Alice 可以隨時花費自己的比特幣(左邊的子腳本)
  • 或者,如果連續(xù)三個月使用 Alice 的簽名來花費,則需要 Bob 和 Charlie 的簽名來花費此中的比特幣(下圖右邊的子腳本)

基于這兩個獨立的子腳本,創(chuàng)建一棵默克爾樹:

這棵默克爾樹的樹根最終標(biāo)識了 Alice 的完整財產(chǎn)條件,而且只有 32 字節(jié)的體積。此后,Alice 可以使用一個替代性的條件腳本,聲明:一筆花費交易,只有提供其中一個子腳本連接到默克爾根的證據(jù)、并且子程序返回 True 的時候,才是有效的。

子腳本的默克爾證據(jù),形象地畫出來會像下圖這樣,就看用的是哪個子腳本了:

好處 #1 —— 更小的交易

我們先來看看 MAST 如何能讓復(fù)雜財產(chǎn)條件的用戶創(chuàng)建更小的交易。這是 MAST 給我們帶來的第一個好處。

在上文的例子中,我們使用了一個具備兩個子腳本的財產(chǎn)條:要么 Alice 自己花自己的錢,要么 Bob 和 Charlie 在等待三個月之后一起花她的錢。我們來設(shè)想一個無限延伸的版本:其第三個子腳本指明,三個月零一天后,Dan 和 Edith 可以花費此中的資金;第四個子腳本指明,三個月零二天后,F(xiàn)red 和 George 可以使用這筆資金;等等等等。

這個思維實驗可以使我們得到下面的這張圖,它顯示了,子腳本的數(shù)量與需要加入?yún)^(qū)塊的條件數(shù)據(jù)量,在有和沒有 MAST 時候的關(guān)系。

下面是一個對數(shù)圖,意思是一樣的:

雖然一開始 MAST 交易的體積會比沒有 MAST 的同條件交易更大,比如我們的兩個子腳本的條件,但非 MAST 的交易體積會(隨子腳本的數(shù)量)線性增大,而 MAST 交易的體積則只會對數(shù)增大。

如果節(jié)省數(shù)據(jù)量是主要目標(biāo),我們還可以進一步優(yōu)化。對于許多財產(chǎn)條件來說,花費者可能更高頻地使用其中某個條件。比如,Alice 希望自己高壽,所以她建構(gòu)的默克爾樹把自己花費的條件放在離頂端更近的地方,而所有其它條件都放在樹的底部:

這樣設(shè)計的話,不同情況下的 MAST 默克爾證據(jù)的體積是不一樣的,在最理想的情況下,Alice 活著,自己花自己的錢;而另一種情況下,Alice 身故,她的受益人來花這些錢。我們把這些因素呈現(xiàn)到圖上。

可以看出,Alice 使用時,其交易的數(shù)據(jù)量一直是最優(yōu)的情形,無論她的財產(chǎn)條件中的受益人有多少個;而在她的受益人使用這筆資金時,交易的數(shù)據(jù)量也只比前述標(biāo)準(zhǔn)構(gòu)造的默克爾樹多用幾個字節(jié)。

無論 Alice 選擇什么安排,可以看出 MAST 可以讓多子腳本的財產(chǎn)條件交易體積更小,因此用戶可以少付一些手續(xù)費,而區(qū)塊里可以裝入更多的高級交易。

好處 #2 —— 更強的隱私性

我們在上文的講解中,把 Alice 的財產(chǎn)腳本全部曝光了出來,但你可以設(shè)想,如果在 Alice 花費自己的比特幣時,你在區(qū)塊鏈上僅僅看到了下圖左邊的數(shù)據(jù):

只有這些信息,你是沒法知道 Alice 以外是否還有人能花費這里的資金、以及他們花費是需要面對什么約束條件的。你可以從 MAST 中猜測可能有一些別的條件,但也僅限于猜測而已 —— Alice 可能只是假裝她的默克爾樹還有其它可以花費的部分。

對應(yīng)地,如果你看到的是另一個分支(也就是上圖的右邊的子腳本),你不會知道這筆資金在超時之前是否能花費,也不知道是不是只需一把私鑰就能花費它。你同樣可以猜測存在其它的花費條件,但你沒法在區(qū)塊鏈上確證這一點。

保證未使用的財產(chǎn)條件不曝光在某些時候非常有用,比如某些商人可能希望自己的智能合約盡可能保密,不要被潛在的競爭對手看到。這一點與某些標(biāo)榜自己是專為智能合約設(shè)計、但實際上又不能為這些合約提供隱私性的山寨幣恰好相反。

隱私性也可以為所有的比特幣用戶提供額外的好處,即使某些用戶根本不在乎財產(chǎn)條件的隱私性。假設(shè)從本文一開始,Alice 就是唯一一個使用非 MAST 條件模板的人。因為所有條件都是公開的,那么任何人都可以跟蹤 Alice 的花費行為,只需在區(qū)塊鏈上觀察這個模板被使用的情形即可,這樣 Alice 的隱私就蕩然無存。

任何讓識別特定用戶更容易的設(shè)計,也會讓人們可以更容易地區(qū)別對待他們的比特幣和別人的比特幣,這叫做 “同質(zhì)性的缺失”。如果某些人知道了 Alice 的財產(chǎn)條件長什么樣,他們就可以賄賂或者強迫礦工不要打包這些人的交易,以此阻止 Alice 使用自己的比特幣。

MAST 不能完全解決這個問題,因為 Alice(或者 Bob 和 Charlie)仍然需要揭示部分的產(chǎn)權(quán)負擔(dān),但是許多別的復(fù)雜財產(chǎn)條件可以解析成少量的簡單 MAST 類型條件。

舉個例子,Alice 的默認花費行為看起來就像其它只需提供單簽名的普通支付行為,所以 Alice 的基于 MAST 的交易跟其它基于 MAST 的單簽名交易就沒有任何分別。這反過來提高了 Alice 的隱私性,也提高了她的資金的同質(zhì)性,以及所有使用基于 MAST 的單簽名條件的用戶的貨幣同質(zhì)性。

MAST 的這一好處還很有可能與其他提高比特幣隱私性和同質(zhì)性的提議結(jié)合在一起。有些提議是讓某些復(fù)雜的財產(chǎn)條件可以用單簽名來使用,比如 Pieter Wuille 和 Gregory Maxwell 的 “通用門限樹”、Andrew Poelstra 的 “無腳本式腳本”,還用 Thaddeus Dryja 的 “離散對數(shù)合約”;MAST 就可以和這些方案相結(jié)合。

但即使這些方案都不能在比特幣上實現(xiàn),MAST 自身也能為復(fù)雜財產(chǎn)條件的用戶提供更多的隱私性和可互換性,不論是與當(dāng)前相比,還是與支持用戶自定義智能合約的山寨幣相比。

好處 #3 —— 更大的智能合約

比特幣現(xiàn)在為單個腳本設(shè)置了三種不同的體積限制:裸露腳本大小不能超過 1 萬字節(jié),在 2010 年 7 月引入;P2SH 腳本不能超過 520 字節(jié);segwit 腳本不能超過 1 萬字節(jié)。我們把這幾個大小在上面的圖中展示出來:

可以看出來,即使是極端的無限延長的例子,MAST 也比當(dāng)前所有的機制支持更多的條件分支。實際上,MAST 的擴展性非常之好,以至于即使你擁有現(xiàn)在可觀測的宇宙中所有的能量,若是只用來創(chuàng)建一棵標(biāo)準(zhǔn)(平衡)的默克爾樹,其默克爾證據(jù)也只有 8448 字節(jié)。即使是這么大的默克爾證據(jù),任何現(xiàn)在的筆記本電腦,都能在 1 毫秒之內(nèi)完成驗證。

因為免去了全節(jié)點處理未使用的子腳本的任務(wù),MAST 還能幫比特幣腳本繞過別的一些硬性限制。在這一方面,MAST 很好地保存和延伸了比特幣智能合約長期的設(shè)計目標(biāo),也就是合約的負擔(dān)應(yīng)盡可能由合約的參與者承擔(dān),而節(jié)點付出了帶寬、內(nèi)存和處理能力,卻無法得到補償,因此應(yīng)盡可能少承擔(dān)。

所以,MAST 的真正成就不是讓比特幣用戶可以創(chuàng)建(比以往)更加高級的合約,而是它打開了這種可能性,還不會給比特幣的節(jié)點增加新的負擔(dān)。

實現(xiàn) MAST:現(xiàn)有的多種提議

迄今為止,bitcoin-dev 郵件組里提出了兩種方法在比特幣協(xié)議中啟用 MAST,兩種方法都仍在草案階段,可能會有所變更。

第一種提議是 Johnson Lau(化名 “jl2012”)提出的 BIP114,使用了一個基于隔離見證的延伸特性,使得原生的隔離見證地址(bech32)可以成為對 MAST 財產(chǎn)條件的默克爾根的承諾?;ㄙM交易因此可以從樹上選擇一個子腳本。

第二種提議是 Mark Friedenbach(化名“maaku”)提出的兩個未命名的 BIP(1、2),它提高了腳本語言的靈活性,使得編程者可以編寫腳本來驗證基于 MAST 的財產(chǎn)條件。如果用 Friedenbach 更喜歡的方式來實現(xiàn),那會讓比特幣現(xiàn)在支持的三種腳本類型(裸露腳本、P2SH 和隔離見證腳本)都可以使用默克爾證據(jù)。

這幾種提議互有短長,但都提供了上文所說的 MAST 的好處(字節(jié)數(shù)可能有加有減)。每一個都可以用軟分叉來激活。

結(jié)論:我們什么時候才能用上 MAST?

上文我們講解了 MAST 的好處,也簡要提及了兩種在比特幣上實現(xiàn) MAST 的提案,你可能也好奇,什么時候我們能用上 MAST。遺憾的是,我也不知道。

從理念,到提案,到完整的實現(xiàn),到提議軟分叉,到激活軟分叉,道阻且長。圍繞隔離見證升級,為期兩年的大戲已經(jīng)很清楚地展現(xiàn)了這一點。

但從我的角度看,MAST 背后的基本理念已經(jīng)在比特幣技術(shù)社區(qū)中獲得了廣泛的支持,而對 MAST 最感興趣的開發(fā)者也會繼續(xù)開發(fā),除非有人能證明這種技術(shù)完全不靠譜。有朝一日這些開發(fā)者成功提出可供同行審議的軟分叉代碼,就輪到讀者你們和其他比特幣用戶,來決定 MAST 是否能成為比特幣協(xié)議的一部分了。

以上就是什么是比特幣默克爾化抽象語法樹?的詳細內(nèi)容,更多關(guān)于默克爾化抽象語法樹的資料請關(guān)注腳本之家其它相關(guān)文章!

免責(zé)聲明:本文只為提供市場訊息,所有內(nèi)容及觀點僅供參考,不構(gòu)成投資建議,不代表本站觀點和立場。投資者應(yīng)自行決策與交易,對投資者交易形成的直接或間接損失,作者及本站將不承擔(dān)任何責(zé)任。!
Tag:比特幣   語法樹  

你可能感興趣的文章

幣圈快訊

  • 7月26日隔夜重要動態(tài)一覽

    2026-07-26 07:32
    21:00-7:00關(guān)鍵詞:特朗普、伊朗、Coinbase1.特朗普下令暫??找u伊朗;2.Coinbase比特幣負溢價已持續(xù)67天;3.彭博社:特朗普的加密收益成Clarity法案最大障礙;4.數(shù)據(jù):RobinhoodChain鏈上累計交易筆數(shù)已突破1.5億筆;5.特朗普:如果不100%滿足我們對伊朗的要求,戰(zhàn)爭將以全力度重啟;6.伊朗革命衛(wèi)隊發(fā)言人:若英國在戰(zhàn)爭中支持美國,將成為明確且合法的目標(biāo)。
  • 美軍參謀長聯(lián)席會議主席:擴大對伊軍事行動將導(dǎo)致防空彈藥庫存緊缺

    2026-07-26 07:01
    7月26日,美軍參謀長聯(lián)席會議主席丹·凱恩上將私下警告,重啟針對伊朗的大規(guī)模作戰(zhàn)雖具備可行性,但會危險消耗美國在中東的防空彈藥儲備。凱恩向政府官員表示,擴大軍事行動將導(dǎo)致美軍中央司令部配備的愛國者攔截導(dǎo)彈及其他防空系統(tǒng)庫存緊缺。據(jù)悉,特朗普與高級顧問評估是否進一步升級沖突時,上述彈藥短缺顧慮是考量因素之一。(新浪財經(jīng))
  • 以總理計劃向特朗普遞交伊朗情報

    2026-07-26 06:38
    7月26日,以總理內(nèi)塔尼亞胡及其訪美團隊計劃于7月28日在白宮會晤美國總統(tǒng)特朗普時,向美方遞交一份有關(guān)伊朗軍事與核計劃的最新情報。以色列消息人士稱,以方在情報中指責(zé)伊朗正在加速推進核武器研發(fā)計劃。據(jù)悉,有以色列高級官員稱,美國與伊朗之間達成協(xié)議的可能性“微乎其微”,沖突升級“不可避免”。
  • RobinhoodChain鏈上累計交易筆數(shù)已突破1.5億筆

    2026-07-26 05:49
    7月26日,RobinhoodChain鏈上累計交易筆數(shù)已突破1.5億筆,平均出塊時間僅100毫秒。
  • 伊朗伊斯蘭革命衛(wèi)隊稱15天內(nèi)摧毀多架美軍戰(zhàn)機

    2026-07-26 05:31
    當(dāng)?shù)貢r間25日,伊朗伊斯蘭革命衛(wèi)隊發(fā)言人穆赫比表示,伊朗伊斯蘭革命衛(wèi)隊在15天內(nèi)摧毀了11架停放在美軍基地的美軍戰(zhàn)斗機和直升機,還摧毀了17架軍用無人機,一架停放在機庫內(nèi)的F-15戰(zhàn)斗機,一架P-8反潛巡邏機,一架C-17運輸機和8架空中加油機。目前,上述說法尚未得到美國軍方證實。(財聯(lián)社)
  • 查看更多
更多

熱門幣種

  • 幣種
    最新價格
    24H漲跌幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 64411.5¥ 436078.73
    +0.36%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 1875.8¥ 12699.54
    +0.86%
  • tether USDT 泰達幣

    USDT

    泰達幣

    $ 0.9991¥ 6.7641
    +0.01%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 569.71¥ 3857.05
    +0.83%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0008¥ 6.7756
    +0.01%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 1.1008¥ 7.4526
    +0.79%
  • solana SOL Solana

    SOL

    Solana

    $ 74.4791¥ 504.23
    +0.74%
  • tron TRX 波場

    TRX

    波場

    $ 0.3315¥ 2.2443
    +0.3%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 58.1752¥ 393.85
    +1.55%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.07216¥ 0.4885
    +4.06%
开阳县| 茌平县| 阳西县| 永顺县| 伊宁市| 布拖县| 介休市| 手机| 宜兴市| 蓬溪县| 荆门市| 邢台县| 安乡县| 兴义市| 阜新| 古丈县| 池州市| 梁平县| 西丰县| 赣榆县| 和林格尔县| 额尔古纳市| 昂仁县| 大田县| 杨浦区| 新巴尔虎右旗| 望江县| 务川| 博湖县| 荔波县| 云南省| 安顺市| 巢湖市| 永和县| 南木林县| 加查县| 荔波县| 盐边县| 长岛县| 土默特左旗| 宝应县|