科普:Taproot交易是什麼

好久沒有認真研究比特幣的腳本了,最近想搞明白Taproot assets,發現繞不開Taproot交易,只好把Taproot的幾個BIP都讀完了。

P2PKH

最常見的比特幣交易叫支付到公鑰哈希,Pay-to-Publick-Key-Hash(P2PKH),它是將比特幣鎖定到公鑰的哈希上,公鑰哈希就是我們的比特幣位址,即1開頭的那種位址。

如果Alice想通過P2PKH交易向Bob支付1btc,這個過程可以按如下解釋。

P2PKH交易的技術過程:

位址和公鑰哈希:Bob給Alice提供了一個比特幣位址,這個地址實際上是他的公鑰的哈希值。

解鎖和鎖定:Alice要發送1 BTC給Bob,她需要從自己的錢包中解鎖這筆資金。 然後,她在創建交易時將這1 BTC鎖定到Bob的公鑰哈希上。

Bob的簽名和解鎖:當Bob想要花費這1 BTC時,他需要用自己的私鑰簽名來證明他是這個地址的擁有者。 這樣他就可以解鎖這筆資金並將其用於新的交易。

通俗的解釋:

Bob給Alice一個開著的帶鎖盒子(這裡的鎖就是Bob的比特幣位址)。

Alice把1 BTC放進這個盒子,然後把盒子鎖上,這樣就只有擁有正確鑰匙(即Bob的私鑰)的人才能打開。

當Bob想使用這1 BTC時,他就用自己的鑰匙(私鑰)打開盒子,取出比特幣,並可以選擇將其放入另一個人的盒子(進行另一筆交易)。

P2SH系列

第二常見的比特幣交易叫支付到腳本哈希,我們常用這種交易格式來實現多重簽名。

如果Alice想通過P2SH交易格式向Bob發送1BTC,可以按如下來解釋:

P2SH交易的技術過程:

腳本哈希而非公鑰哈希:在P2SH交易中,資金被鎖定到一個腳本哈希而不是一個公鑰哈希。

這個腳本通常包含多個條件,比如需要多個簽名(多重簽名)或滿足其他特定條件。

創建和發送交易:發送方(比如Alice)會將比特幣發送到這個腳本哈希位址。 這個位址是由接收方(比如Bob)提供的,而這個位址背後隱藏的腳本包含瞭解鎖這些資金所需的條件。

即這個腳本哈希的原始腳本是Bob擁有的,但Bob不會將這個腳本公開,而只是公開這個腳本的哈希值。 (這對應上面P2PKH的是公鑰哈希)

解鎖資金:當Bob(收款方)想要花費這些比特幣時,他就會提供原始的腳本(這就是解鎖腳本,或稱贖回腳本),礦工拿到這個原始腳本就可以驗證這筆交易。

通俗的解釋:

其實P2SH和上面的P2PKH的差別就是在那個盒子上的鎖不同,P2SH的鎖是允許Bob自定義,可以構建非常複雜的鎖。

比如最常見的多重簽名,就是Bob自定義了多把解鎖的鑰匙,並定義了要多少把鑰匙來解鎖。

使用P2SH這種交易機制,把腳本哈希當成鎖,把原始腳本當成是私鑰,就可以自定義各種解鎖條件。 這讓比特幣的可程式設計性大大提高了。

現在來解釋P2TR(Pay to Taproot)

P2PKH是支付到公鑰哈希,花費條件是提供公鑰對應的私鑰簽名。

P2SH是支付到腳本哈希,花費條件是提供原始腳本。

P2TR是一種結合了支付到公鑰哈希和支付到腳本哈希,因此它有兩條花費路徑,即可以是直接的私鑰簽名,也可以是提供原始腳本。

並且,P2TR的腳本是一顆包含了n個腳本的二叉樹,花費時提供樹的一個葉子節點腳本和樹路徑就可以花費。

這樣,P2TR交易就可以定義出更複雜的花費條件,比特幣的可程式設計性就更豐富了。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)