比特幣改進提案 BIP 360 引入 P2MR 輸出類型,拿掉 Taproot 最易受量子攻擊的密鑰路徑,以最小改動為未來整合後量子簽名鋪路。 (前情提要: 量子威脅下,隱私幣即將破解「最後一舞」魔咒?) (背景補充: 比特幣社群警告:量子防禦升級可能需要五到十年因應 ) 比特幣抵禦量子攻擊腳步持續前進,由 Hunter Beast、Ethan Heilman 和 Isabel Foxen Duke 共同撰寫的改進提案 BIP 360 昨日進行更新,提出一種名為 P2MR(Pay-to-Merkle-Root)的新輸出類型,透過軟分叉,在不強制所有人遷移的前提下,為比特幣增加一層抗量子防護。 核心概念其實很直觀:現行的 Taproot(P2TR)有兩條花費路徑,其中「密鑰路徑」依賴橢圓曲線密碼學(ECC),而這正是量子電腦理論上能用 Shor 演算法攻破的部分。P2MR 的做法是直接把這條量子脆弱的路徑拆掉,只保留腳本樹路徑。 面對量子攻擊的潛在威脅。BIP 360 不是恐慌式的全面改造,而是一次「有備無患」的最小改動,它甚至不包含後量子簽名方案(如 ML-DSA、SLH-DSA),而是先搭好框架,為未來整合這些方案鋪路。以下動區為您做該提案的內容翻譯: 摘要 本提案透過軟分叉引入一種名為 Pay-to-Merkle-Root(P2MR)的新輸出類型。P2MR 的運作方式類似於 P2TR(Pay-to-Taproot),但移除了量子脆弱的密鑰路徑花費。 本提案使開發者能夠以下列方式使用腳本樹和 tapscript: 抵禦具備密碼學破解能力的量子電腦(CRQC)發動的長期暴露攻擊 抵禦未來可能破解橢圓曲線密碼學的密碼分析方法 重要說明: P2MR 輸出僅提供對「長期暴露攻擊」的抵禦能力——即針對長時間暴露的密鑰進行的攻擊。對「短期暴露攻擊」(即交易在記憶池等待確認期間的攻擊)的防護,可能需要未來實作後量子簽名方案。 本文件在術語表中對「長期暴露」和「短期暴露」攻擊進行了定義和補充說明。 動機 量子運算對比特幣的主要威脅來自於其可能破解數位簽名安全性的能力。具體而言,Shor 演算法使 CRQC 能以指數級加速求解離散對數問題(Discrete Logarithm Problem),從而從公鑰推導出私鑰——這稱為「量子密鑰恢復」(quantum key recovery)。 儘管 CRQC 的可行性時間表仍不確定,多個機構已表達關切: 美國商業國家安全演算法套件(CNSA)2.0 要求在 2030 年前完成後量子方案升級,瀏覽器和作業系統須在 2033 年前全面升級 NIST IR 8547 計畫在 2035 年後禁止美國聯邦政府使用橢圓曲線密碼學(混合加密方案例外) 使用者對量子技術進展的焦慮影響了比特幣的採用和信心 即使在最樂觀的情況下——量子電腦永遠不會威脅到 ECC——回應使用者對量子風險的擔憂也可能強化網路的採用。 P2MR 代表一個保守的第一步——在不強制所有人參與的前提下,啟用抗量子的比特幣使用方式。 長期暴露攻擊 vs 短期暴露攻擊 長期暴露攻擊(Long Exposure Attack): 針對已暴露在區塊鏈上的資料(公鑰、已花費輸出的腳本)進行的攻擊。攻擊者有充足的時間進行量子密鑰恢復。這很可能是量子電腦對比特幣最早的威脅。 短期暴露攻擊(Short Exposure Attack): 需要更快的量子電腦,必須在交易於記憶池中等待確認的短暫窗口內完成。由於大多數比特幣交易在花費時需要揭露公鑰,輸出通常都是脆弱的。 由於針對公鑰的長期暴露攻擊很可能是最早的量子威脅,P2MR 提出一種抵禦此類攻擊的腳本樹輸出類型,作為初步的安全強化措施。 輸出類型脆弱性對照表 類型 脆弱 前綴 範例 P2PK 是 不定 02103203b768…eac P2PKH 否* 1 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa P2MS 是 不定 52410496ec45… P2SH 否* 3 3FkhZo7sGNue153xhgqPBcUaBsYvJW6tTx P2WPKH 否* bc1q bc1qsnh5ktku9ztqeqfr89yrqjd05eh58nah884mku P2WSH 否* bc1q bc1qvhu3557twysq2ldn6dut6rmaj3qk04p60h9l79wk4lzgy0ca8mfsnffz65 P2TR 是 bc1p bc1p92aslsnseq786wxfk3ekra90ds9ku47qttupfjsqmmj4z82xdq4q3rr58u P2MR 否* bc1z bc1zzmv50jjgxxhww6ve4g5zpewrkjqhr06fyujpm20tuezdlxmfphcqfc80ve *P2PKH、P2SH、P2WPKH、P2WSH 和 P2MR 中的資金,在腳本揭露公鑰時,仍可能受到長期暴露量子攻擊。 根本性脆弱的輸出類型: P2PK 輸出 重複使用的輸出 Taproot 輸出(bc1p) 注意:擴展公鑰(xpub)和錢包描述符也會揭露量子脆弱的公鑰資訊。 設計 P2MR 承諾至腳本樹的 Merkle 根,而不承諾至內部密鑰——移除了量子脆弱的密鑰路徑花費,同時保留腳本樹和 tapscript 功能。 P2MR 不使用 P2TR 的調整內部密鑰(tweaked internal key)方法,而是將 BIP 341 中定義的 32 位元組腳本樹根,以「TapBranch」標籤進行雜湊。 腳本樹建構 D = tagged_hash("TapLeaf", bytes([leaf_version]) + ser_script(script)) CD = tagged_hash("TapBranch", C + D) CDE = tagged_hash("TapBranch", CD + E) ABCDE = tagged_...


