Hash
隔離見證中的 SHA256 與 RIPEMD160
在 Pay-To-Witness-Public-Key-Hash (P2WPKH) 中,RIPEMD160 散列函式用於對鎖定腳本中接收者的公鑰進行散列。相反,Pay-To-Witness-Script-Hash (P2WSH) 使用 SHA256 對贖回腳本進行雜湊處理。為什麼會產生這種差異?只是為了區分這兩種見證程序?
P2WPKH
實際上使用的是散列HASH160
算法,也就是RIPEMD160(SHA256(pubkey))
.BIP141中提到了使用SHA256的原因:
增加的大小提高了對可能的碰撞攻擊的安全性,因為 2^80 的工作不再是不可行的(到 2015 年底,自比特幣創建以來,比特幣挖礦中已經計算了 2^84 個雜湊值)。- BIP141
是的,就像你說的,見證程序不僅取決於版本
0x00
字節,還取決於程序的長度。見BIP141 - P2SH