背景
如果建成量子計算機,它可以實現Shor演算法和Grover演算法。這些演算法可以完全破解ECDSA/ECDH,並將雜湊函式(和密碼)的強度從2^n2n降低到2^\frac{n}{2}2n2
ETH中還有一些不太明顯的部分需要升級。
仍然可以的部分
- bip39 (pbkdf2-sha512)似乎沒有問題
不可以的部分
- bip32 hdkey派生
- 應該被一種後量子和更好的方案取代(沒有"非硬化"金鑰)
- 新方案可以基於HKDF(如EIP-2333),但不是HKDF-SHA256
- 另一種KDF是上下文模式的Blake3(後量子安全性不明確)
- 擬議的方案應該同時支援ECC和新的後量子模式
- 交易簽名
- 應該被基於格的Falcon(FN-DSA/FIPS-206)或基於雜湊的Sphincs-plus(SLH-DSA/FIPS-205)取代
- 新的金鑰和簽名將佔用更多空間
- Falcon-1024有1.75KB的金鑰和1.25KB的簽名
- SLH-DSA-256有128B的金鑰和17KB-50KB的簽名
- 傳送者地址恢復
- 這是ECDSA的一個特性(Schnorr等演算法中沒有)
- 也許交易(而不是簽名)應該編碼傳送者地址
- 地址格式
- 目前是40個十六進位制字元,keccak256(公鑰)
- keccak256應該被keccak512/sha3-512/sha512/blake3-512取代
- Grover演算法如何影響地址的暴力破解?是否應該將40個字元增加到80-128個?
- 更長的地址格式可能應該使用類似bech32的東西進行校驗和和人性化
- 新地址如何與舊地址/EVM互操作?
- 加密錢包
- 應該從AES-128升級到AES-256或chacha20
- HMAC-SHA256應該升級到HMAC-SHA512或KMAC/blake3-512(金鑰模式)
- KZG EIP-4844驗證
- 應該被一種後量子方案取代
- 目前演算法還不清楚,有什麼建議嗎?
- EVM 0x20操作碼(KECCAK256)
- 應該被keccak512/sha3-512/sha512/blake3-512取代
- EVM預編譯的ECRECOVER
- 見上面的地址恢復
- EVM預編譯的BN/BLS/KZG
- 應該被新的方案取代(不清楚用哪些?)
- 共識層簽名聚合
- 目前每個時期(6分鐘)聚合所有驗證者的簽名
- 現在已經超過100萬個簽名了?
- 目前演算法還不清楚,有什麼建議嗎?
- 還有其他什麼嗎?
最後的想法
我相信這些問題都可以在有限的時間內解決。讓我們開始解決它們吧。
如果這種計算機很快就出現,可以嘗試Vitalik的方法(《如何硬分叉以拯救大多數使用者的資金》):凍結所有賬戶,利用BIP39和ZK-證明將資金恢復到新的後量子方案。