分类分类
关注+2025-12-15作者:学臣
學習比特幣技術的時候,發現將 SegWit,Taproot,TaprootAssets 三個知識點,使用隔離見證發展史的角度來理解,會更容易學習和掌握其發展規律。並且可以更好的理解閃電網路實驗室的 Taproot Assets 協議,能夠很好的理解 Universe 的作用,能夠很好的理解 TaprootAssets 協議能夠實現的功能和未來可能的發展。有了這些理解,能夠更好的設計出相關的產品給用戶使用。
![]()
閱讀本文還需要有兩個重要的思考角度:比特幣的擴容與比特幣的擴能。
擴容是指擴充比特幣能使用與管理的數據容量,早期是局限在區塊容量大小之內,後期是能夠被比特幣管理的全部數據能力。擴容的極限是管理無限的數據空間;
擴能是指擴充比特幣的腳本指令實現功能的能力,擴能的極限是實現圖靈完備的編程能力。
比特幣的整個發展史,是擴容與擴能的發展史,包括各種比特幣的分叉鏈,以及比特幣的在 OP_RETURN 上的探索和隔離見證三次的版本變更。
三次版本中的細節原理圖,大部分讀者可以忽略,是作者為了深入理解相關技術放到文檔中,忽略並不影響閱讀效果。
文章中涉及到的 BIP 協議作者都標註了時間,是讓閱讀者能夠感受到一個技術從思想產生到生產環境上線的時間週期,從而一定程度上感受到這項技術實現的難易程度。更重要的是三個隔離見證版本的協議產生時間,到上線時間,也完全可以看到這個事物大的發展規律,也便於預測之後的發展。對於基於這些技術與協議開發產品的團隊有很好的參考作用,便於選擇參與時機。一個新事物過早的參與經常會因為支撐技術不成熟,而成為「先烈」;過晚的參與,會喪失先機,而成為「看客」;作者認為在即將進入可用期之前進入是比較好的時機。這個「即將進入可用期」的判斷經常會基於時間的判斷,基於技術細節的判斷。
1.1. 早期的交易(無隔離見證)
白皮書中定義的交易(最簡單交易模型)
早期最基本的比特幣交易,允許有多個輸入和兩個輸出。其中一個輸出的數值是給自己的找零,另外一個輸出是給外部的轉帳。(備註:總輸入與總輸出之間的差額是手續費)
大部分交易都是 2 個輸出,確實有只有一個輸出的場景,總結如下:
為了更好的說明區別,我們使用 2 輸入與 2 輸出的圖例。(還有一個主要的原因是我參考的資料提供了這種 2 輸入與 2 輸出的圖片,不需要重新畫圖。偷懶了^_^)
用這樣的對比圖是不是更容易理解?
傳統的交易示例圖與隔離見證 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. 早期交易與三次隔離見證版本變化的對比示意圖
為了大家更好的理解比特幣有隔離見證的整個歷史,我們在文章的頭部先把四個階段的對比示意圖展現給大家。
2. 隔離見證第一個版本 Segwit
2.1. 簡介與相關協議
隔離見證,即 Segregated Witness(簡稱 SegWit),由 Pieter wuile(比特幣核心開發人員、Blockstream 聯合創始人)在 2015 年 12 月首次提出,後來形成了比特幣 BIP141。隔離見證主要解決問題有 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 總大小是按 BIP144 中所述序列化交易的塊大小(以字節為單位),包括基礎數據和見證數據。
隔離見證限制 Block weight <= 4M。
隔離見證還在技術上使得比特幣的擴容可以使用閃電網路,這裡不詳細介紹這部分的內容。
2.3. 細節原理解析
比特幣隔離見證 SegWit 技術導致了三個重要變化:
交易結構的變化;
區塊尺寸的增加;
一種新的比特幣地址格式。
(1)交易結構如下圖所示:
通過上圖和原有的比特幣交易圖對比,增加了 Witness 部分的內容,這部分是的解鎖代碼。而且 Witness 部分的數據是存儲在 1M 之外的擴展數據區裡面。
更詳細的 Segwit 的交易數據示意圖如下:
詳細的 SegWit 交易示意圖
(2)交易尺寸介紹
區塊大小增加
通過簽名交易結構的變化介紹,以及 BIP-141 的內容,我們會看到比特幣的區塊實際上最大可以擴充到 4M,其中原有的 1M 是基本的交易數據區,新增的 3M 是 Witness 數據區。
(3)隔離見證的地址格式
比特幣隔離見證 SegWit 使用兩種新的鎖定腳本 P2WPKH 和 P2WSH,於是產生了新的基於 Bech32 的新編碼地址。
Bech32 地址編碼格式定義如下:
針對鎖定腳本 P2WPKH 和 P2WSH 的格式如下說明,在這裡也加上了隔離見證第二個版本 Taproot 的地址樣例。
鎖定腳本
P2WPKH
這裡 20Byte 的公鑰哈希實際上就是算法中的最初的比特幣地址形式。
P2WSH
wTXID Commitment
見證區中所有的交易 ID(wTXID)會通過哈希樹形成一個根哈希提交到 coinbase 中,具體值的組合見示意圖。
單個見證交易的交易 ID(wTXID)的形成原理示意圖
wTXID
2.4. 發展情況與總結
隔離見證技術在 2015 年 12 月份提出,到真正的激活是 2017 年,在 481824 區塊高度激活。
區塊查看連結如下:
https://mempool.space/zh/block/0000000000000000001c8018d9cb3b742ef25114f27563e3fc4a1902167f9893
詳細的學習與分解介紹如下:
https://learnmeabitcoin.com/explorer/block/0000000000000000001c8018d9cb3b742ef25114f27563e3fc4a1902167f9893
隔離見證技術是比特幣歷史上非常重大的一次變更,開啟了比特幣擴容與擴能的輝煌發展史。隔離見證在擴容與擴能的角度,主要完成了擴容功能。所以順著這個方向思考,下一個版本的發展就會是擴能。
3. 隔離見證的第二個版本 Taproot
從擴容與擴能的角度,我們應該可以預測到隔離見證第二個版本的功能。
3.1. 簡介與相關協議
如果直接使用 Taproot 這個單詞,很多人以為是一個新概念,但如果告訴你這是隔離見證 SegWit 的第二個版本,大部分人都會明白其中的關聯性。與 Taproot 相關的 BIP 是 340,341,342,他們的名稱是:BIP340(Schnorr Signatures for secp256k1),BIP341(Taproot: SegWit version 1 spending rules),BIP342(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 以軟分叉的形式正式生效。此次升級由 BIP340、BIP341 和 BIP342 組合。其中 BIP340 引入了可以同時驗證多個交易的 Schnorr 簽名,取代了橢圓曲線數字簽名算法(ECDSA),再一次擴大了網路容量並加快了批量交易的處理速度,為部署複雜的智能合約提供了可能性;BIP341 實現了默克爾化抽象語法樹(MAST)來優化區塊鏈上的交易數據存儲;BIP342(Tapscript)採用比特幣的腳本編碼語言擴充的比特幣原生腳步能力的不足。
由隔離見證 Segwit 與 Taproot 的空間擴大,導致了 Schnorr、MAST 樹和 Taproot Scripts 的產生,他們要完成的使命是比特幣主網的功能擴大。
3.2. 起因與作用
因為有了隔離見證 SegWit 技術,事實上把比特幣的區塊容量增加了。但 SegWit 技術還遺留了一些問題:
(1)在 SegWit 版本中底層加密算法仍然使用的是 ECDSA。(新的發展需要更好的非對稱加密算法,以支持更豐富的功能和特效。於是開始採用新的 Shnorr 簽名)
(2)空間增加了,但解鎖腳本還是一對一的簡單結構。(於是出現了 MAST 樹這樣的複雜條件結構)
(3)SegWit 沒有增強比特幣腳本的功能。(於是產生了 Tapscript)
於是隔離見證的第二個版本 Taproot 技術非常好的解決了上述問題,使得隔離見證技術有了更好的發展,以至於可以實現更多的功能。BIP340 解決了(1)中的問題;BIP341 實現了默克爾化抽象語法樹(MAST)解決了(2)中的問題;BIP342(Tapscript)採用比特幣的腳本編碼語言擴充的比特幣原生腳步能力的不足,解決了(3)中的問題。
3.3. 細節原理解析
Taproot 技術的幾個重要的新特性:
l 引入 Schnorr 簽名
l P2TR 的兩種鎖定腳本:Key Path Spend(類似與 P2WPKH);Script Path Spend(類似與 P2WSH)
l 腳本樹(MAST 默克爾抽象語法樹)
l Taproot Script
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 的密碼學算法向後兼容,這樣就可以通過軟分叉升級引入它們。
基礎原理圖與 Key Path Spend、Script Path Spend
MAST 默克爾抽象語法樹
了解了上面的 Key Path Spend 與 Script Path Spend,最重要的是這些腳本可以組織到一個樹形結構中。
這棵樹是語義樹 AST 與默克爾樹的集成。如下圖所示:
AST 樹
將上面的語義樹構建成一顆默克爾樹,如下:
Taproot Scripts
在 BIP342 協議中入 Tapscript 腳本,Taprootscript 是原始比特幣腳本的升級版,也可以被稱為一種語言,但它實際上是帶有命令的操作碼的集合,這些命令為另兩個 BIP 的實施助力。Taprootscript 還取消了 10000 字節的腳本大小上限,為在比特幣網路創建智能合約提供了更好的環境。(該升級也為後來 Oridnals 的誕生埋下基礎,因為 Ordinals 協議就是利用的 Taproot 的 script-path spend scripts 腳本來實現的附加數據)。詳細資料可以查閱官方網址:
https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki
當前 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 的虛擬機是同一個虛擬機(比特幣的堆棧計算)。使得這種擴能受到很多限制,也會影響原有比特幣主網的穩定性與安全性。如果新的擴能隔離開比特幣主網的虛擬機,形成一個符合分層協議的獨立虛擬機與比特幣主網的虛擬機一起工作是一種更合理的發展思路。這個隔離出來的虛擬機還有可能從非圖靈完備發展到圖靈完備。
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 的支持與比特幣主網的虛擬機開始分離,可以完成超越比特幣主網的更多功能;
鏈外數據的存儲與鏈上的證明
Taproot Assets 協議使用了 Universe 這樣的方式來存儲鏈外數據,這種設計有非常大的好處,既可以將需要公開的數據提供給訪問者,也可以不公開這些數據,提供更加隱私的方式保存數據。
在當前的 Taproot Assets 協議中,使用稀疏默克爾求和樹來解決資產相關的需求。
這張圖是使用 MS-SMT 發行的多種資產的示意圖
這張圖是 TaprootAssets 傳輸資產,持有資產的示意圖。
完整的數據結構-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(為簡潔,下文就直接表述為「UTXO」——不是比特幣的 UTXO),並且下列屬性(包括可選的一個)會被序列化為「類型-長度-數值」格式。
taproot_asset_version
asset_genesis
asset_id
asset_type
amt
lock_time
relative_lock_time
prev_asset_witnesses
– prev_asset_id
– asset_witness
– split_commitment_proof
split_commitment
asset_script_version
asset_script_key
asset_group_key
canonical_universe
asset_genesis 就是推導出 asset_id 的原像。
asset_script_key 既是資產葉子的關鍵字,也是一個 Taproot 形式的公鑰(以一個獨立於比特幣的 tap-vm 定義),並且是花費由該資產葉子表示的 UTXO 的條件。
在花費一個 UTXO 時,首先要滿足(外部的)比特幣花費條件,然後是(內部的)TAP 花費條件,由 asset_script_key 指定,並且 asset_script_key 應該被 prev_asset_id 和 asset_witness 滿足。舉個例子,asset_witness 是被花費的 UTXO 的 asset_script_key 的簽名。
如果在一次資產轉移中分割了 UTXO,也需要 split_commitment 和
split_commitment_proof。split_commitment 是一棵 MS-SMT,指代分割之後的所有 UTXO(在這個意義上,資產樹其實有三層),而根中的和值是被轉移的所有數量。
split_commitment_proof 是 split_commitment 的一個默克爾證據,證明一次分割的存在。
在所有分割中,只有一個會有 prev_asset_id、asset_witness 和 split_commitment。所有其它分割只有 split_commitment_proof。所有的分割共享 prev_asset_id 和 asset_witness。
Taproot Assets 協議的虛擬機 TAP-VM
在 BIP-TAP-VM:Taproot Asset Script v1 中,開始定義專門為這個協議使用的虛擬機。前期主要基於 BIP-341 和 BIP-342(Taproot 的兩個主要 BIP)的少量調整,主要還是 BTCScript 和 TaprootScript 的輕微擴展。
但作者相信,在這樣的設計結構下,TAP-VM 的執行環境已經與比特幣主網分離了,可以通過閃電網路實驗室的 tapd 應用發展出一個功能更加強大的虛擬機,只是出於安全與穩定性的考慮,這個過程比較緩慢,這樣符合比特幣生態應用的特點。
TrustlessSwap 是 TaprootAssets 協議很重要的一個初級功能,依託此功能已經能夠開發出比較複雜的比特幣原生應用。
在我們項目團隊的開發中,已經感受到了一些強大功能。例如,TrustlessSwap 已經可以完成比特幣與其上發行的資產進行比較複雜的功能設計。
今後的很長一段時間,在初步的資產發行穩定與成熟的情況下,TaprootAssets 協議的重點都會在 TAP-VM 的功能發展上。
題外話:我有個疑問?如果不斷發展下去,TAP-VM 是否可以發展成一個圖靈完備的虛擬機?我判斷如果發展時間足夠長,最終是可以實現圖靈完備的。那麼接著就有第二個問題,長期看,在 TaprootAssets 的協議下,是否需要一個圖靈完備的虛擬機?
4.4. 發展情況與總結
Taproot Assets 協議從 2021 年底誕生協議的初始文件,到 2023 年 Taro 的版本發布,完成了初始的探索階段。但 Taro 的版本還有很多設計上的不完善,導致上層的應用沒有得到很好的支持,應用的發展一度陷入停滯。到了 2024 年 tapd0.3.0 版本的發布,使得 Taproot Assets 協議有了比較好的探索發展,直到 2025 年的 6 月份之後,tapd0.6.0 版本的發布,協議進入穩定可用狀態。基於 Taproot Assets 協議開發更豐富應有了比較好的基礎。
對比 Taproot 技術之後產生的 Ordinals,銘文,BRC20,ARC 等協議,在 TaprootAssets 協議上產生的應用會比隔離見證第二版本產生的協議更加豐富,更加穩定,更加可用。
像 TA 資產的發行,TA 新資產的錢包,TrustlessSwap 這樣的應用,以及穩定幣,更複雜的 BTCFi 應用都已經成為可能,並且會逐漸實現。
TaprootAssets 協議初始階段是主要完成了比特幣的擴容,通過 Univese 理論上把比特幣可以使用的空間擴展到了無限。TAP 的 VM(Taproot Asset Script v1)也有了初步的模型,重要的是產生了一個隔離的,可以獨立發展的 VM。在可以預見的發展後期,比特幣都會在擴能方向上發展。
5.總結
通過比特幣發展史中的隔離見證技術的三次重大升級,使得比特幣的主網在擴容與擴能方面得到了極大的提升。在擴容上,Universe 從理論上已經可以把空間做到無限大,如果能夠結合閃電網路那麼應該可以把交易的 TPS 擴充到無限大;在擴能上,TAP-VM 如果可以發展到圖靈完備,那些也將擴能發展到極致。這些基礎設施成熟會需要很長的時間。
隔離見證三次重大升級形成了比特幣生態發展的強大協議與技術基礎。從 SegWit 到 Taproot,到 TaprootAsset 協議,幾乎完成了大部分應用需要的基礎設施。我相信 TaprootAssets 會迎來一波重要的產品生態爆發。
需要注意的是:三次隔離見證之後的腳本語言仍然是非圖靈完備的。
這三次隔離見證的版本升級使得比特幣的結構發生了徹底的變化,未來會發展到什麼階段?TaprootAsset 協議看起來有一點點像 Layer2 技術,但又不符合完全的 Layer2 標準。它與比特幣一層的特性與機制非常相同,又不完全是比特幣一層的直接發展。作者認為比特幣將會發展到了 BTC2.0 階段,期望今後能和更多的高手交流相關思想。如果可以梳理清楚思路,稍後找時間描述一下 BTC2.0 的具體發展可能性與理論基礎。
如果是 BTC2.0,那麼 TaprootAsset 協議的 7 個 BIP 是不是使用 BIP2 開頭來命名更好?BTC1.0 與 2.0 協議的審核標準,設計原則是不是能夠規劃的更清晰?而且開發資源是不是可以更好的分工與合作?原有的 BitcoinCore 團隊除了維護 BTC1.0 的比特幣主網,還可以加入到 BTC2.0 的發展中來持續做出貢獻?這樣 BTC2.0 是不是可以建設的更快與更好?……
相关阅读:
/n/327606
/n/327700
/n/327657
/n/327707
/n/327690
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论