🔥 Gate Alpha 限時賞金活動第三期上線!
在 Alpha 區交易熱門代幣,瓜分 $30,000 獎池!
💰 獎勵規則:
1️⃣ 連續2日每日交易滿 128 USDT,即可參與共享 $20,000 美金盲盒獎勵
2️⃣ 累計買入 ≥1,024 USDT,交易量前100名可直領獎勵 100美金盲盒
⏰ 活動時間:8月29日 16:00 — 8月31日 16:00 (UTC+8)
👉 立即參與交易: https://www.gate.com/announcements/article/46841
#GateAlpha # #GateAlphaPoints # #onchain#
科普: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交易就可以定義出更複雜的花費條件,比特幣的可程式設計性就更豐富了。