🍀 Spring Date with Fortune, Prizes with Raffle! Growth Value Phase 1️⃣ 7️⃣ Spring Raffle Carnival Begins!
Seize Spring's Good Luck! 👉 https://www.gate.com/activities/pointprize?now_period=17
🌟 How to Participate?
1️⃣ Enter [Square] personal homepage, click the points icon next to your avatar to enter [Community Center]
2️⃣ Complete Square or Hot Chat tasks such as posting, commenting, liking, speaking to earn growth value
🎁 Every 300 points can raffle once, 10g gold bars, Gate Red Bull gift box, VIP experience card and more prizes waiting for you to win!
Details 👉 https://www.gate.com/ann
了解 TXHASH:比特幣的高級契約協議
TXHASH 代表比特幣契約技術的一次重大演進,建立在早期提案的基礎上,使開發者能夠以前所未有的彈性設計複雜的交易結構。由 Steven Roose 和 Brandon Black 提出,作為新興契約創新浪潮的一部分,該協議提供了一種可被描述為精煉的交易驗證方法,讓開發者能夠精確指定哪些交易元素必須保持固定,哪些可以在花費時保持可變。
這次對 txhash 的探索是系列中第三個詳細分析,旨在檢視成熟的契約提案。與較簡單的契約機制不同,txhash 透過一個彈性的框架運作,允許腳本撰寫者「挑選」哪些特定的交易組件被鎖定,哪些則在花費時可以進行後續修改。
交易架構:理解比特幣的構建模塊
在深入了解 txhash 的運作方式之前,首先必須理解構成任何比特幣交易的基本資料組件。
每筆交易都包含控制其整體結構的全域參數。版本欄位標識交易類型,而標記(marker)與旗標(flag)欄位則指示是否採用 SegWit 格式。交易還會指定其包含的輸入與輸出數量,以及通過 nLocktime 欄位設定的關鍵時間鎖參數。
每個輸入都提供特定資訊,引用前一筆交易的 TXID,並通過 VOUT 索引指示正在花費的特定輸出。輸入還包含一個序列號,具有雙重用途——標示是否允許以 RBF(Replace-by-Fee)取代,以及控制相對時間鎖限制。
輸出則有其獨立結構。每個輸出會指定一個特定的 satoshi 金額給收款人,包含鎖定腳本(ScriptPubkey)的大小規格,以及實際的加密謎題(密碼學拼圖),未來的花費者必須解開才能存取這些資金。
證人欄位(witness)或較舊非 SegWit 交易中的 ScriptSig,包含花費簽名,但與 txhash 的驗證關係較少。這一點的理解對於掌握 txhash 提供如此彈性交易檢視的原因非常重要。
TXHASH 機制如何實現交易內省
txhash 的核心創新在於用細粒度控制取代 CTV(CHECKTEMPLATEVERIFY)的一刀切方式。CTV 通過單一哈希承諾整個預定交易結構,而 txhash 引入了 TxFieldSelector——一個傳達哪些交易組件被哈希承諾、哪些保持不受限制的機制。
可以將 TxFieldSelector 想像成一個精密的遮罩,應用於交易資料。這個可變長的位元組序列中的每一位都對應特定的交易欄位——版本號、nLocktime、序列參數等等。在輸入層面,開發者可以選擇是否承諾前一個輸出 ID、序列號或 taproot 附錄。在輸出層面,則決定是否限制 ScriptPubkey、金額值、兩者或都不限制。
這種粒度不僅限於單一欄位的選擇。該協議允許開發者明確指定這些限制適用於哪些輸入與輸出,實現非對稱約束,使不同的交易參與者面對不同的花費需求。開發者可以確保其資金遵循特定的花費路徑,同時對其他參與者如何使用其資金保持無所謂。
TxFieldSelector 的組合技術複雜度反映了這種彈性——提案中的 BIP 文件詳細列出多種欄位組合與排序選項。關鍵在於,txhash 將交易驗證從全然承諾(全都或全不)轉變為一個根據協議需求量身定制的範圍。
為何 TXHASH 超越早期契約方法
TXHASH 保留了 CTV 所有的能力——能夠實現所有現有的預簽名交易優化,且協調成本更低。但該協議在此基礎上進行了大幅擴展,帶來多個實務上的優勢。
第二層支付通道能從更佳的費用管理中受益。目前,錨定輸出(anchor outputs)必須專門創建,以便在第二層結算交易需要更快確認時啟用 Child Pays For Parent(CPFP)費用提升。使用 txhash,多方交易中的對手方輸出可以獨立指定,參與者也能靈活調整自己的輸出金額——包括略微降低以 RBF(用於交易重放)同時保持協議安全。
多方協議設計也變得更為精細。不同的交易參與者現在可以獲得個別的擔保,關於其特定資金的花費方式,而不需要就所有其他參與者的資金使用達成共識。一方接受 txhash 承諾,確保其資金遵循已批准的路徑,同時完全不在意其他十個參與者如何結構交易。
結合 CHECKSIGFROMSTACK(CSFS),txhash 使開發者能在腳本內構建一個完全通用的 SIGHASH 系統。比特幣現有的 SIGHASH 標誌仍有限制——SIGHASH_ALL 簽署所有輸入與輸出,SIGHASH_NONE 不簽署任何輸出,SIGHASH_SINGLE 簽署匹配的輸入輸出對。這些都不允許在不使簽名失效的情況下新增輸入。ANYONECANPAY 變體則將範圍縮小到單一輸入,但仍限制輸出彈性。
透過「側載」自訂的 TxFieldSelectors(用於 CSFS),開發者可以模擬簽名承諾特定交易組件的 SIGHASH 系統,而不必接受傳統 SIGHASH 方法的僵硬限制。
TXHASH 也使得在交易輸入與輸出之間實現值相等約束成為可能。開發者可以部署僅承諾某個輸入或輸出中的 satoshi 金額欄位的 TxFieldSelector,然後驗證多個此類哈希在堆疊上的一致性。這種能力接近危險領域——它使得無信任的交換邏輯成為可能,支援鏈上自動化市場。
探討二階影響與協議風險
使 txhash 強大且合法的彈性,同時也打開了廣大的設計空間,可能帶來系統性後果。能夠在輸入與輸出之間強制金額相等,已經逼近於在比特幣上實現無信任自動交換機制的邊緣。
這點很重要,因為在其他區塊鏈上類似的能力已成為礦工可提取價值(MEV)的重要來源——礦工可以重新排序交易、插入自己的交易,或用「三明治」策略來提取價值。MEV 已被證明是多個區塊鏈生態系統中的中心化壓力與激勵問題。
TXHASH 不應被輕視或低估為一個開發工具。它提供的原始技術能實現極具表達力的協議設計,可能為比特幣應用層解鎖大量新能力。然而,開發者基於這些原始技術所構建的應用,也值得認真考量其潛在風險與協議的長遠影響。這種以高精度檢視交易的能力,雖然對許多用例有益,但也引入了可能改變比特幣底層激勵結構的全新設計可能性。
在此提案邁向潛在實施的過程中,對 txhash 的二階影響進行審慎分析仍然至關重要。