Public-Key

您可以在 P2TR 中使用未調整的公鑰嗎?

  • November 16, 2021

給定一些公鑰,是否將其轉換為有效的 P2TR 地址,然後從 P2TR 返回以獲得相同的公鑰?我已經閱讀了有關調整的資訊,但並沒有真正理解 - 你需要調整 pubkey 嗎?

這取決於您所說的公鑰是什麼意思。

P2TR 輸出編碼一個“僅 x 的公鑰”,即只有 X 座標的公鑰。Y 座標隱含地是偶數(在像 secp256k1 這樣的橢圓曲線上,每個 X 座標要麼正好有 2 個對應的 Y 座標,要麼沒有;這兩個座標中的一個總是奇數,一個是偶數)。

較舊的機制,例如較舊的比特幣腳本中使用的 ECDSA 簽名,使用精確辨識 Y 座標的公鑰。要麼全部發送,要麼只發送奇偶校驗。

因此,如果您直接使用公鑰而不進行調整,作為 P2TR 地址,那麼確實可以從中恢復公鑰的 X 座標。它將失去兩個 Y 座標中的哪一個。

這樣做安全嗎?在簡單的情況下,是的。BIP340 建議始終進行調整,即使不涉及腳本,因為與可以建構在頂部的某些其他協議的互動。但是,如果您要做的只是單密鑰簽名,那麼理論上您可以不使用未調整的密鑰。

引用自:https://bitcoin.stackexchange.com/questions/109716