什麼是支付腳本哈希? [P2SH]


P2SH 或Pay To Script Hash,是一種特定類型的支付,是比特幣腳本的一部分。

特別是,P2SH 在2012 年4 月1 日開采的第173,805 個區塊高度被引入比特幣。

這種類型的腳本允許將鏈接到輸出的比特幣花費到可以滿足其中指定哈希的腳本的那個。

例如,如果我們使用P2SH 向朋友發送1 BTC,我們必須包含能夠花費該比特幣所需的腳本哈希。

該腳本需要我們朋友的簽名,該簽名是從私鑰中獲得的,以及其他要求。

當我們的朋友想要使用他從我們那裡收到的BTC 時,他只需重建生成我們用來向他發送比特幣的哈希的腳本。此外,你必須使用與我們用於發送交易的公鑰相對應的私鑰簽署交易。

今天我們將看到它的功能和其他讓這種比特幣支付方式變得有趣的好奇心。

為什麼要創建P2SH?

在BIP 16(什麼是改進提案?)於2012 年在比特幣網絡上實施之前,P2SH 無法使用。

但一旦推出,它很快就獲得了用戶的支持,這些用戶想要其他類型的支付(如P2PK 或P2PKH)不提供的額外功能。後者是以前存在的可用支付類型,並且自比特幣網絡成立以來就一直存在。

在本文後面,我們將深入研究它的操作,但有趣的是,現在P2SH 使用腳本的哈希值以及其中的P2PKH 或P2PK 事務。

其創建背後的想法與允許用戶發送BTC 而不必擔心資金接收者如何解鎖它們有關。例如,交易可能需要一個或多個簽名。

P2SH 還提供了一種方法,允許向礦工支付額外佣金的責任不僅與發送者一起,而且與接收者一起。這方面的一個例子是孩子為父母買單。

在這種類型的支付可用之前,發件人沒有標準的方式來實現這樣的事情。

可以使用自定義腳本,但編寫起來非常複雜且耗時。特別是如果你不是在該領域具有一定經驗的人。

P2SH 不僅提供了一種方法,還通過易於使用的腳本哈希和可識別的比特幣錢包地址格式簡化了整個過程。

支付腳本哈希如何工作?

P2SH 交易的工作方式類似於P2PKH 交易的工作方式,在這兩種情況下,支付都會因特定哈希而被阻止。

對於那些不知道的人,散列是通過稱為加密貨幣散列函數的函數傳遞某些信息的結果。

此類函數的設計方式是,當它們接收到任何大小的信息輸入時,總是會產生固定長度的結果,例如256 字節。這意味著雖然輸入可以變化,但輸出始終具有相同的格式和長度。

P2PKH 和P2SH 的區別

在P2PKH 交易的情況下,輸入只是接收資金的人的公鑰。而該公鑰的輸出或散列是資金被鎖定的散列。

接收它的人需要生成正確的公鑰,以及從導出公鑰的私鑰中獲得的數字簽名。

然後,比特幣點對點網絡驗證公鑰的哈希值是否等於支付的哈希值。如果兩者都是,則資金將釋放給擁有該公鑰的用戶。

在P2SH 支付中,輸入比這更複雜。除了驗證簽名或公鑰之外,可能還有一些額外的要求。它可能需要一個數字簽名,該簽名是多個私鑰的結果。

這些需求可以用幾行腳本代碼來創建。在“支付腳本散列”交易中,什麼被散列以阻止支付。

一旦腳本被散列,然後將資金鎖定在區塊鏈上,使用這些加密貨幣的唯一方法是輸入最初用於創建散列的原始腳本。

這就是所謂的“贖回腳本”,其目的是驗證收款人在出錢前是否出示了正確的信息,即對應的腳本、腳本哈希和腳本簽名。

需要注意的是,該腳本可以包括數字簽名和公鑰驗證。

使用P2SH 進行交易的優缺點

由於P2SH 在比特幣腳本出現幾年後成為開發人員,因此開發人員能夠改進最初的設計並創建針對加密貨幣最常見限制的解決方案。

結果是P2SH 的優點多於缺點。讓我們看看它們都是什麼。

優點

1. 很多公司

P2SH 的主要用途與創建多重簽名交易的能力有關。

此功能非常重要,因為它為希望確保轉移資金的所有責任不落在一個人身上的個人或群體提供了額外的安全保障。

2. 安全

儘管P2SH 事務通常包含一組非常複雜的指令,但散列法確保此腳本與P2PKH 保持相同的安全級別。

3. 發件人容易

交易的創建者不再承擔代表接收者創建複雜腳本的全部責任。只需將P2SH 交易發送到以數字3 開頭的標準格式地址即可執行。

另一方面,由於腳本更複雜,創建者不必因存儲更多字節而支付額外費用。

4.兼容SegWit而不兼容SegWit

當使用私鑰創建P2SH 格式的錢包時,這被稱為“Nest SegWit”或“Nested SegWit”。

雖然不如原生SegWit (Bech 32) 全面,但P2SH 確實支持非SegWit (P2PKH) 或SegWit (Bech 32) 地址。

這允許將資金存儲在P2SH 錢包中的用戶輕鬆地將BTC 發送給他們中的任何一個。

5. 計算效率高

P2SH 腳本通常小於P2MS(Pay to Multi-Sig)腳本。這意味著UXTO 集的RAM 內存使用率較低,這有助於加快交易驗證速度。

缺點

1.信息量

如果我們具體來說,使用P2SH 腳本的2 of 3 方案的多重簽名腳本需要278 個字節。如果我們將它與P2MS 的253 字節進行比較,這個數字會更高。

儘管情況並非總是如此,但佔用更多空間會產生網絡擁塞問題。

2. 單簽交易

P2SH 最初的創建是為了提供多簽名錢包的解決方案。這意味著當涉及到單個簽名交易時,還有其他更常用的腳本。

大多數用戶的日常交易不需要復雜的腳本,因此P2SH 的採用受到了一定的限制。

今天使用P2SH 嗎?

如果我們使用區塊鏈瀏覽器,我們可以通過簡單的方法識別哪些是P2SH 交易。它們是那些以數字3 開頭的交易。

因此,我們可以看到比特幣區塊鏈上有大量的它們,這告訴我們它們的採用非常好。

據統計,有超過524 萬個BTC 存儲在P2SH 類型的網點中,約佔比特幣當前流通供應量的28%。

就其本身而言,P2SH 類型的出口數量已超過1450 萬。

資訊來源:由0x資訊編譯自CRIPTOTARIO。版權歸作者Criptotario所有,未經許可,不得轉載

Total
0
Shares
Related Posts