徹底理解比特幣「隔離見證」技術與它的三個版本升級

BTC2.43%

作者:付少慶,SatoshiLab,萬物島BTC工作室

1 前言

作者在學習比特幣技術時,發現將SegWit、Taproot、TaprootAssets三個知識點,從隔離見證發展史的角度來理解,會更容易學習並掌握其發展規律。並且可以更好地理解閃電網路實驗室的Taproot Assets協議,能夠很好地理解Universe的作用,能夠很好地理解TaprootAssets協議能夠實現的功能及未來可能的發展。有了這些理解,能更好地設計相關產品給用戶使用。

閱讀本文還需要有兩個重要的思考角度:比特幣的擴容與比特幣的擴能。

擴容是指擴充比特幣能使用與管理的資料容量,早期局限於區塊容量大小之內,後期則是能被比特幣管理的全部資料能力。擴容的極限是管理無限的資料空間;

擴能是指擴充比特幣腳本指令實現功能的能力,擴能的極限是實現圖靈完備的程式能力。

比特幣的整個發展史,是擴容與擴能的發展史,包括各種比特幣的分叉鏈,以及比特幣在OP_RETURN上的探索和隔離見證三次的版本變更。

三次版本中的細節原理圖,大部分讀者可以忽略,是作者為了深入理解相關技術放到文件中,忽略並不影響閱讀效果。

文章中涉及到的BIP協議作者都標註了時間,是讓讀者能夠感受到一項技術從思想產生到生產環境上線的時間週期,從而一定程度上感受到這項技術實現的難易程度。更重要的是三個隔離見證版本的協議產生時間,到上線時間,也完全可以看到這個事物大的發展規律,也便於預測之後的發展。對於基於這些技術與協議開發產品的團隊有很好的參考作用,便於選擇參與時機。一個新事物過早參與經常會因為支撐技術不成熟,而成為「先烈」;過晚參與,會喪失先機,而成為「看客」;作者認為在即將進入可用期之前進入是比較好的時機。這個「即將進入可用期」的判斷經常會基於時間的判斷,基於技術細節的判斷。

# ** 1 . 1 早期的交易(無隔離見證)**

白皮書中定義的交易(最簡單交易模型)

![] ( https://img-cdn.gateio.im/social/moments-b 1 d 1 e 13125 aa 4168 cb 4 b 94759 c 9 f 4386)

早期最基本的比特幣交易,允許有多個輸入和兩個輸出。其中一個輸出的數值是給自己的找零,另一個輸出是給外部的轉帳。(備註:總輸入與總輸出之間的差額是手續費)

大部分交易都是2個輸出,確實有只有一個輸出的場景,總結如下:

![] ( https://img-cdn.gateio.im/social/moments-eb 2838590 b 599622064 e 59 c 7164 e 4672)

為了更好地說明區別,我們使用2輸入與2輸出的圖例。(還有一個主要原因是我參考的資料提供了這種2輸入與2輸出的圖片,不需要重新畫圖。偷懶了^_^)

用這樣的對比圖是不是更容易理解?

![] ( https://img-cdn.gateio.im/social/moments- 3 bd 23 e 4224 babcd 8 d 070 dea 206 e 8 b 1 e 8)

傳統的交易示例圖與隔離見證Segwit的交易示意圖對比

# ** 1 . 2 在OP_RETURN上的探索**

為什麼在講隔離見證時,要談到OP_RETURN?因為這是比隔離見證更早期的探索,能更好地理解隔離見證產生的原因。

OP_RETURN是一個腳本操作碼,用來終止腳本並返回堆疊頂的值。這個操作碼類似於程式語言中的返回函數。在比特幣的歷史上,OP_RETURN操作碼的功能被多次修改,現在它主要被用作在帳本上儲存資料的一種方法。OP_RETURN操作碼的功能曾在過去發生過重大變化,現在它是一個重要的機制,使用它我們就能在鏈上儲存任意資料。

OP_RETURN最初是用於提前結束腳本執行的返回操作,執行結果將作為堆疊頂項目被呈現出來。這個操作碼最初有一個容易被利用的漏洞,但中本聰很快修補了該漏洞。

對OP_RETURN功能的進一步更改

在Bitcoin Core的v0.9.0那次升級中,「OP_RETURN輸出」腳本被製作成標準輸出類型,允許用戶將資料附加到「不可花費的交易輸出(unspendable transaction output)」上。這類腳本中可用的資料量的上限最初被限制為40字節,然後提升至80字節。

將資料儲存在區塊鏈上

將OP_RETURN改為始終返回false造成了有趣的結果。由於在OP_RETURN之後不會評估任何操作碼或資料,因此網路用戶開始使用此操作碼來儲存任意格式的資料。

在比特幣現金(BCH)的時期,即2017年8月1日-2018年11月15日,能夠附加到OP_RETURN輸出的資料長度被擴展到220字節,更大的資料能夠促進區塊鏈上創新的應用,例如在區塊鏈社群媒體上發布內容等。

在BSV上,220字節的限制依然被保留了一小段時間。隨後,在2019年1月,由於OP_RETURN操作碼以節點不驗證任何後續操作碼的方式終止腳本,所以節點也不會檢查腳本是否在520字節的最大腳本大小限制內。由此一來,網路上的節點運營商決定將最大交易體積提高到100KB,從而賦予開發者有更多應用創新的自由,讓新的應用可以將更大、更複雜的資料放入比特幣帳本。那時有一個應用例子,有人將整個網站都放入了BSV帳本中。

OP_RETURN雖然有一定的功能擴展,但總體來說能力還是有限。並且在OP_RETURN上面的改進並不能從架構上產生更多的技術進化(還是被限定到1M區塊中),於是產生了隔離見證的技術。它的3次版本升級更好地說明了隔離見證在擴容與擴能方向上的正確性,以及產生的強大效果。

# ** 1 . 3 早期交易與三次隔離見證版本變化的對比示意圖**

為了大家更好地理解比特幣有隔離見證的整個歷史,我們在文章的頭部先把四個階段的對比示意圖展現給大家。

![] ( https://img-cdn.gateio.im/social/moments-c 2 d 61 a 4507 ac 2 e 8 aa 7 c 743 d 6 e 938650 e )

2 隔離見證第一個版本 Segwit

# ** 2 . 1 . 簡介與相關協議**

隔離見證,即Segregated Witness(簡稱SegWit),由Pieter wuile(比特幣核心開發人員、Blockstream聯合創始人)在2015年12月首次提出,後來形成了比特幣BIP 141。隔離見證主要解決問題有3個(見後面的說明),前兩項主要是增加安全性和性能,其中對新技術影響最多的是第三項,變相增加了區塊的容量(見下面的概念Block weight),從而為比特幣的能力擴容打下了基礎,以至於後面的Taproot(隔離見證的第二個版本)的進一步加強。

相關協議:

BIP-141:Segregated Witness ( Consensus layer ) / 2015-12-21

BIP-143:Transaction Signature Verification for Version 0 Witness Program / 2016-01-03

BIP-144:Segregated Witness ( Peer Services ) / 2016-01-08

# ** 2 . 2 . 起因與作用**

隔離見證主要解決的問題:

1)transaction malleability(交易延展性)問題。

2)SPV證明中傳輸交易的簽名成為可選項,能夠減少Merkle proof傳輸的資料量。

3)變相增加區塊容量。

前兩項主要是增加安全性和性能,其中對新技術影響最多的是第三項,變相增加了區塊的容量,從而為比特幣的能力擴容打下了基礎,以至於後面的Taproot(隔離見證的第二個版本)的進一步加強。

雖然變相擴大了區塊容量,但隔離見證也受到區塊大小限制。比特幣的區塊大小限制為1M bytes,由於witness資料不包含在這個限制中,為了防止witness資料被濫用,仍然對總的區塊大小做了限制。引入了一個新概念叫塊重量(Block weight)

Block weight = Base size * 3 + Total size

Base size是不包含witness資料的塊大小

Total size總大小是按BIP 144中所述序列化交易的塊大小(以字節為單位),包括基礎資料和見證資料。

隔離見證限制Block weight <= 4M。

隔離見證還在技術上使得比特幣的擴容可以使用閃電網路,這裡不詳細介紹這部分內容。

# ** 2 . 3 . 細節原理解析**

比特幣隔離見證SegWit技術導致了三個重要變化:

  • 交易結構的變化;
  • 區塊尺寸的增加;
  • 一種新的比特幣地址格式。

(1)交易結構如下圖所示:

![] ( https://img-cdn.gateio.im/social/moments- 656 dc 57 a 1 fc 9 d 42 b 81 e 3 e 9 f 2381 e 397 f )

通過上圖和原有的比特幣交易圖對比,增加了Witness部分的內容,這部分是解鎖程式碼。而且Witness部分的資料是儲存在1M之外的擴展資料區裡面。

更詳細的Segwit的交易資料示意圖如下:

![] ( https://img-cdn.gateio.im/social/moments- 1411673 aa 66 cdf 278 e 69966820 f 6 d 862)

詳細的SegWit交易示意圖

(2)交易尺寸介紹

![] ( https://img-cdn.gateio.im/social/moments- 17 aada 02 e 03 d 03 cf 6029 fe 22336 f 410 c ) 區塊大小增加

![] ( https://img-cdn.gateio.im/social/moments- 30 d 5482 c 73883 e 5 a 2 e 13 b 4 fb 03 ed 4 c 5 a )

通過簽名交易結構的變化介紹,以及BIP-141的內容,我們會看到比特幣的區塊實際上最大可以擴充到4M,其中原有的1M是基本的交易資料區,新增的3M是Witness資料區。

(3)隔離見證的地址格式

比特幣隔離見證SegWit使用兩種新的鎖定腳本P2WPKH和P2WSH,於是產生了新的基於Bech32的新編碼地址。

Bech32地址編碼格式定義如下:

![] ( https://img-cdn.gateio.im/social/moments- 3 ec 5 d 37 f 2 e 39 d 77658 c 7 b 9512 ba 50803)

針對鎖定腳本P2WPKH和P2WSH的格式如下說明,在這裡也加上了隔離見證第二個版本Taproot的地址樣例。

![] ( https://img-cdn.gateio.im/social/moments-c 354 bfe 70 bd 53 cd 2 ab 07357 bbc 01 d 9 b 5)

鎖定腳本

P2WPKH

![] ( https://img-cdn.gateio.im/social/moments-d 65 edd 35659 bfd 5 a 1 ea 10211 c 40 c 0474)

這裡20 Byte的公鑰雜湊實際上就是算法中的最初的比特幣地址形式。

P2WSH

![] ( https://img-cdn.gateio.im/social/moments- 621 e 4 c 57 b 92388 a 80 e 0 db 1 c 804 f 739 b 5)

wTXID Commitment

![] ( https://img-cdn.gateio.im/social/moments-c 9954 be 7248 a 41 edd 627 bae 7 d 2 f 27 cb 4)

見證區中所有的交易ID(wTXID)會通過雜湊樹形成一個根雜湊提交到coinbase中,具體值的組合見示意圖。

單個見證交易的交易ID(wTXID)的形成原理示意圖

wTXID

![] ( https://img-cdn.gateio.im/social/moments-ae 0 cb 158016248243 aed 51 bc 02 c 6 e 4 eb )

# ** 2 . 4 . 發展情況與總結**

隔離見證技術在2015年12月提出,到真正的激活是2017年,在481824區塊高度激活。

區塊查看連結如下:

詳細的學習與分解介紹如下:

隔離見證技術是比特幣歷史上非常重大的變更,開啟了比特幣擴容與擴能的輝煌發展史。隔離見證在擴容與擴能的角度,主要完成了擴容功能。所以順著這個方向思考,下一個版本的發展就會是擴能。

![] ( https://img-cdn.gateio.im/social/moments- 3667342 ba 93 c 72 df 5621 d 9 abb 4 bd 9868)

3 隔離見證的第二個版本 Taproot

從擴容與擴能的角度,我們應該可以預測到隔離見證第二個版本的功能。

# ** 3 . 1 . 簡介與相關協議**

如果直接使用Taproot這個單詞,很多人以為是一個新概念,但如果告訴你這是隔離見證SegWit的第二個版本,大部分人都會明白其中的關聯性。與Taproot相關的BIP是340、341、342,他們的名稱是:BIP 340(Schnorr Signatures for secp256k1)、BIP 341(Taproot: SegWit version 1 spending rules)、BIP 342(Validation of Taproot Scripts)。

相關協議:

BIP-341: Taproot: SegWit version 1 spending rules / 2020-1-9

BIP-342: Validation of Taproot Scripts / 2020-1-19

BIP-340:Schnorr Signatures for secp256k1 / 2020-1-19

2021年11月,Taproot以軟分叉的形式正式生效。此次升級由BIP 340、BIP 341和BIP 342組合。其中BIP 340引入了可以同時驗證多個交易的Schnorr簽名,取代了橢圓曲線數字簽名算法(ECDSA),再一次擴大了網路容量並加快了批量交易的處理速度,為部署複雜的智能合約提供了可能性;BIP 341實現了默克爾化抽象語法樹(MAST)來優化區塊鏈上的交易資料儲存;BIP 342(Tapscript)採用比特幣的腳本編碼語言擴充了比特幣原生腳本能力的不足。

由隔離見證Segwit與Taproot的空間擴大,導致了Schnorr、MAST樹和Taproot Scripts的產生,他們要完成的使命是比特幣主網的功能擴大。

# ** 3 . 2 . 起因與作用**

因為有了隔離見證SegWit技術,事實上把比特幣的區塊容量增加了。但SegWit技術還遺留了一些問題:

(1)在SegWit版本中底層加密算法仍然使用的是ECDSA。(新的發展需要更好的非對稱加密算法,以支援更豐富的功能和特效。於是開始採用新的Shnorr簽名)

(2)空間增加了,但解鎖腳本還是一對一的簡單結構。(於是出現了MAST樹這樣的複雜條件結構)

(3)SegWit沒有增強比特幣腳本的功能。(於是產生了Tapscript)

於是隔離見證的第二個版本Taproot技術非常好地解決了上述問題,使得隔離見證技術有了更好的發展,以至於可以實現更多的功能。BIP 340解決了(1)中的問題;BIP 341實現了默克爾化抽象語法樹(MAST)解決了(2)中的問題;BIP 342(Tapscript)採用比特幣的腳本編碼語言擴充了比特幣原生腳本能力的不足,解決了(3)中的問題。

# ** 3 . 3 . 細節原理解析**

Taproot技術的幾個重要的新特性:

l 引入Schnorr簽名

l P2TR的兩種鎖定腳本:Key Path Spend(類似於P2WPKH);Script Path Spend(類似於P2WSH)

l 腳本樹(MAST默克爾抽象語法樹)

l Taproot Script

1 Schnorr簽名

Taproot的發展,在擴充能力的同時,對簽名算法有了一定的要求,於是Schnorr簽名開始出現,並用來取代橢圓曲線數字簽名算法(ECDSA)。Schnorr簽名是一種數字簽名方案,可以高效且安全地對交易和訊息進行簽名。它最早由克勞斯·施諾爾(Claus Schnorr)在1991年的一篇論文中描述。Schnorr因其簡單性、可證明的安全性和線性性而受到讚譽。

Schnorr簽名的優勢:

Schnorr簽名具有多種優勢,包括高效性、增強的隱私性,同時保留了ECDSA的所有功能和安全假設。Schnorr簽名可以實現較小的簽名大小、更快的驗證時間,並且對某些類型的攻擊具有改進的抵抗能力。

Schnorr簽名最顯著的優勢是密鑰聚合(key aggregation),將多個簽名聚合為一個簽名,該簽名對其密鑰的總和有效。換句話說,Schnorr使得多個合作方能夠生成一個對他們的公鑰總和有效的簽名。簽名聚合使得多個簽名者的簽名可以合併為一個單一的簽名。密鑰聚合能夠降低交易費用並提高底層可擴展性,因為來自多簽名設定的電子簽名在區塊中佔用的空間與來自單方交易的簽名相同。Schnorr的這個特性可以用於減小多重簽名支付和其他與多重簽名相關的交易的大小,例如,閃電網路通道交易。

Schnorr簽名的另一個重要特性是不可篡改性。

Schnorr還提供了很多隱私優勢。它可以讓多重簽名方案與傳統的單一公鑰無法從外部區分,Schnorr使得觀察者在鏈上活動中更難區分多重簽名的支出和單一簽名的支出。此外,在n-of-m多重簽名設定中,Schnorr使得外部觀察者更難通過查看鏈上資訊來確定哪些參與者在交易中簽名,哪些沒有簽名。

Schnorr簽名被實現在BIP-340中,作為Taproot軟分叉升級的一部分,並於2021年11月14日在區塊高度709,632上激活。Schnorr使BTC的數字簽名更快、更安全、更易處理。值得注意的是,Schnorr簽名與BTC的密碼學算法向後相容,這樣就可以通過軟分叉升級引入它們。

2 基礎原理圖與Key Path Spend、Script Path Spend

![] ( https://img-cdn.gateio.im/social/moments- 0 eaaa 87 a 0 cb 8 da 7 ebdc 33600 d 49 f 61 f 8)

3 MAST默克爾抽象語法樹

了解了上面的Key Path Spend與Script Path Spend,最重要的是這些腳本可以組織到一個樹形結構中。

這棵樹是語義樹AST與默克爾樹的集成。如下圖所示:

AST樹

![] ( https://img-cdn.gateio.im/social/moments- 093 eed 4 d 3754 b 7 bf 9029 abc 37 af 0569 c ) ![] ( https://img-cdn.gateio.im/social/moments- 5 d 3 c 25 d 5 c 0 b 9621 a 12 c 71 d 0 ce 66541 ed )

將上面的語義樹構建成一棵默克爾樹,如下:

![] ( https://img-cdn.gateio.im/social/moments-c 03 ec 3788 c 9 a 3 ee 1 d 7 e 207 ac 9 a 937460)

4 Taproot Scripts

在BIP 342協議中入Tapscript腳本,Taprootscript是原始比特幣腳本的升級版,也可以被稱為一種語言,但它實際上是帶有命令的操作碼的集合,這些命令為另兩個BIP的實施助力。Taprootscript還取消了10000字節的腳本大小上限,為在比特幣網路創建智能合約提供了更好的環境。(該升級也為後來Ordinals的誕生埋下基礎,因為Ordinals協議就是利用Taproot的script-path spend scripts腳本來實現的附加資料)。詳細資料可以查閱官方網址:

目前TaprootScript的能力還沒有被充分發揮,後期的更多建設會體現出其威力。例如,比特幣一層網路與二層網路的連接技術,應該更多地使用Taproot、MAST與TaprootScripits。

註:其實在Taproot一層,TaprootScript的能力還比較受限制,因為還需要比特幣的虛擬機來支援。在隔離見證中的第三個版本中TaprootAssets協議中有專門針對TaprootScript的專用虛擬機TAP-VM,使得能力的擴充更強大,與比特幣主網運行環境隔離更好。

# ** 3 . 4 . 發展情況與總結**

Taproot技術在2020年1月提出,2021年11月,Taproot以軟分叉的形式正式生效。在比特幣的生態有了Taproot技術之後,新的應用就開始產生了。開始階段的應用是那些輕量級,簡單的應用。

典型的應用包括:

(1)Ordinals序數協議、銘文、BRC20

(2)其他協議-Atomicals,ARC20

(3)其他協議-Rune

SegWit與Taproot技術完成了第一次擴容與擴能的探索,但侷限在現有結構下,這種擴容和擴能都有侷限性。

比特幣的第一次擴容實現了從1M區塊到4M區塊的擴容,如果延續這種思路繼續擴容,即使技術支援,是不是也和其它比特幣的分叉鏈一樣,導致區塊變得十分巨大?這會導致比特幣中心化等嚴重問題,會破壞區塊鏈的安全性。因此下一步的擴容需要一種不同的技術實現原理。

Taproot技術雖然完成了比特幣的第一次擴能,同樣這種擴能也有一定的侷限性。在比特幣主網,執行BTCScript的虛擬機和TapScript的虛擬機是同一個虛擬機(比特幣的堆疊計算)。使得這種擴能受到很多限制,也會影響原有比特幣主網的穩定性與安全性。如果新的擴能隔離開比特幣主網的虛擬機,形成一個符合分層協議的獨立虛擬機與比特幣主網的虛擬機一起工作是一種更合理的發展思路。這個隔離出來的虛擬機還有可能從非圖靈完備發展到圖靈完備。

![] ( https://img-cdn.gateio.im/social/moments- 21 f 0 bc 002 d 952 b 8 cd 84 e 2 dc 4 dd 8 af 0 b 3)

4 隔離見證的第三個版本 TaprootAssets協議

在比特幣的主網有了第一次的擴容與擴能技術之後,為後面的擴容與擴能提供了非常好的技術參考與實現思想。可以預見的比特幣的下一次發展,應該主要解決進一步擴容的問題。當然如果能一起解決擴容與擴能更好,但同時支援兩個重大的變更是非常危險的,會讓工程實現的難度變得非常大。於是比特幣主網的再一次擴容技術產生了(同時也有了一些比較小的擴能技術出現)。

# ** 4 . 1 . 起因與作用**

因為Taproot的發展,使得比特幣的生態有了更多的可能性。這種可能性表現在幾個方面:

(1)是否可以不佔用比特幣的區塊空間,完成更進一步的隔離見證,即,見證區的資料儲存比特幣區塊之外,只把證明儲存在比特幣的主網;

(2)見證區的資料是否可以具有更豐富的結構,能滿足更多的業務功能。

(3)進一步擴充TaprootScript的能力,使用一個單獨的虛擬機來完成相關的計算。

如果上述目標可以實現,在完全保證比特幣主網特性的情況下,可以實現非常豐富的功能。

有了隔離見證的第二個版本Taproot技術是否就滿足了比特幣技術的發展?是否還有進一步的升級與擴展空間?

# ** 4 . 2 . 簡介與相關協議**

閃電網路實驗室正是在上述的原因和背景下,在2021年年底,產生的Taproot Assets協議。Taproot Assets協議(曾用名“Taro”)。Taproot Assets協議比Taproot具有更強大的能力,其設計結構也非常精妙。(在此要非常感謝協議的設計人,閃電網路實驗室的CTO,Olaoluwa Osuntokun)

Taproot Assets協議由7個重要的BIP(目前還未獲得BIP編號)組成:

BIP-TAP-ADDR:Taproot Asset On Chain Addresses Draft / 2021-12-10

BIP-TAP-MS-SMT:Merkle Sum Sparse Merkle Trees Draft / 2021-12-10

BIP-TAP-PROOF:Taproot Asset Flat File Proof Format Draft / 2021-12-10

BIP-TAP-PSBT:Taproot Assets PSBT Draft / 2023-02-24

BIP-TAP-UNIVERSE:Taproot Asset Universes Draft / 2021-12-10

BIP-TAP-VM:Taproot Asset Script v1 Draft / 2021-12-10

BIP-TAP:TAP: Taproot Assets Protocol Draft / 2021-12-10

TaprootAssets協議把比特幣的擴容與擴能幾乎發揮到了極致。空間因為Universe的存在,幾乎可以是不受限制(理論上是無限空間);能力的上限是TaprootScript的腳本能力和其VM的特性。(目前TAP的VM還不是圖靈完備)

# ** 4 . 3 . 細節原理解析**

Taproot Assets協議的幾個重要的新特性:

  • 資料完全存在比特幣主網之外,鏈外資料的證明存在於比特幣主網的區塊上;
  • 鏈外資料有了更加完整的結構,設計結構非常精巧,會有更好的擴展性;
  • 鏈外資料有了更強大的虛擬機VM的支援與比特幣主網的虛擬機開始分離,可以完成超越比特幣主網的更多功能;

1 鏈外資料的儲存與鏈上的證明

Taproot Assets協議使用了Universe這樣的方式來儲存鏈外資料,這種設計有非常大的好處,既可以將需要公開的資料提供給訪問者,也可以不公開這些資料,提供更加隱私的方式保存資料。

在目前的Taproot Assets協議中,使用稀疏默克爾求和樹來解決資產相關的需求。

![] ( https://img-cdn.gateio.im/social/moments- 20 cff 3175 ce 1 c 38197 a 830762864 d 3 f 3)

這張圖是使用MS-SMT發行的多種資產的示意圖

![] ( https://img-cdn.gateio.im/social/moments-fcf 5 b 332 c 34 dc 2596 fa 22 f 833002 dc 42)

這張圖是TaprootAssets傳輸資產,持有資產的示意圖。

2 完整的資料結構-MS-SMT(稀疏默克爾求和樹)

Taproot Assets協議在發行資產方面使用了和比特幣主網相同的UTXO模型,稱為vUTXO。其中vUTXO總量的控制,vUTXO的分割、合併、轉移操作,使用了MS-SMT稀疏默克爾求和樹。求和保證總量不變,稀疏默克爾樹完成了所有vUTXO的狀態記錄,

( 從SegWit中的Virtual Byte到TA中的Virtual UTXO,是多麼相似的演化路徑呀! )

「稀疏默克爾求和樹」(以下將縮寫為「MS-SMT」)是默克爾樹的一個變種,由bip-tap-ms-smt定義。因為其關鍵字是256位元的,所以它有2^256個葉子。絕大部分葉子是空的。

每個葉子都包含一個數量,而每個分支節點都承諾其子樹上的葉子所表示的數量之和。即使一棵子樹的內容不可知,只需檢查分支節點,就可以知道該子樹所包含的總數量。樹根則承諾所有葉子所表示的總數量。

就像通用的默克爾樹,只需一棵修剪過的、包含目標葉子的樹,就可以提供這些目標葉子在樹上的證明(默克爾證明)。但MS-SMT還支援「不包含證明」。這是通過一種限制來實現的:表示不存在的關鍵字的葉子所包含的數量必須顯式設定為一個表明其不存在(None)的值(因此,證明「None」的存在就構成了一種不包含證明)。因此,預設的MS-SMT會由2^256個表示「None」的葉子。

資產葉子(資產UTXO)

資產樹的低層MS-MST以asset_script_key作為關鍵字,以資產葉子作為值。每一個資產葉子都代表著該資產的一個UTXO(為簡潔,下文就直接

查看原文
免責聲明:本頁面資訊可能來自第三方,不代表 Gate 的觀點或意見。頁面顯示的內容僅供參考,不構成任何財務、投資或法律建議。Gate 對資訊的準確性、完整性不作保證,對因使用本資訊而產生的任何損失不承擔責任。虛擬資產投資屬高風險行為,價格波動劇烈,您可能損失全部投資本金。請充分了解相關風險,並根據自身財務狀況和風險承受能力謹慎決策。具體內容詳見聲明

相關文章

Steak 'n Shake 將比特幣支付計入銷售額 同店銷售額「戲劇性」上升

Steak 'n Shake 正在加深對比特幣的投入,將客戶支付、員工獎金和不斷增長的比特幣金庫納入該公司稱正在提升銷售額並重塑其財務模型的策略中。 Steak 'n Shake 擴展漢堡到比特幣策略 企業對比特幣的實驗不斷增長

Coinpedia4分鐘前

Metaplanet 籌集 $255M 資金 以追求 210,000 BTC

Metaplanet於週一表示,已通過第三方私募方式從全球機構投資者處籌集約$255 百萬美元,這筆新資金旨在加速公司積極計劃以累積210,000枚比特幣。 此次融資包括以

Block Chain Reporter8分鐘前

比特幣接近 $75K ,交易者表示BTC價格擠壓並未改變任何事情

比特幣在本週開始時延續謹慎上漲,觸及六週高點,因美國股市在伊朗地緣政治緊張局勢緩解的跡象下開盤走高。此舉與更堅挺的價格走勢相伴而行

Crypto Breaking18分鐘前

比特幣關鍵支撐位再度獲得收復,週線收盤突破7萬美元

比特幣正朝著關鍵的每週收盤邁進,交易者關注是否能夠收於70,000美元以上,這將同時收復一個重要的長期指標。由於宏觀風險仍在影響市場,買家正在測試一系列定義市場走勢的技術水平,形勢處於十字路口。

Crypto Breaking23分鐘前

Bitwise CIO:比特币 ETF 在 50% 回撤中资金净流出不足 100 亿美元

Bitwise Chief Investment Officer Matt Hougan predicts that Bitcoin spot ETFs will accumulate approximately $60 billion in net inflows from January 2024 to October 2025. Despite a potential 50% decline in Bitcoin price, ETF net outflows would be less than $10 billion, indicating that institutional investors remain holding positions. Hougan believes that as a non-consensus asset, Bitcoin investment requires high conviction, and capital demonstrates greater "stickiness" during volatility. He anticipates Bitcoin could potentially reach $1 million within 10 years.

GateNews32分鐘前

今日美国加密货币 ETF 净流入:BTC 2227 枚、ETH 11681 枚、SOL 88561 枚

Gate News Update: On March 16, according to Lookonchain monitoring, today's US cryptocurrency ETF fund inflows are as follows: Bitcoin ETF net inflow of 2227 BTC, Ethereum ETF net inflow of 11681 ETH, Solana ETF net inflow of 88561

GateNews40分鐘前
留言
0/400
暫無留言