帳戶抽象是長線答案,但如果攻擊比預想中來得更早,我們該怎麼辦?
原文:How to hard-fork to save most users' funds in a quantum emergency(ethresear.ch)
編譯:Azuma,Odaily 星球日報
3 月 9 日,乙太坊聯合創始人 VitalikButerin 於乙太坊研究論壇(ethresear.ch)以《如何通過硬分叉從突然到來的量子攻擊中解救用戶資金》為題發佈了一篇短文。
文中,Vitalik 概述了如果量子攻擊明天就會到來,乙太坊如何在緊急情況下盡量減少用戶資金損失,又應該通過哪些程式來轉向抗量子形態,繼而恢復正常運轉。
以下為 Vitalik 全文內容,由 Odaily 星球日報編譯。
假設量子計算機明天就能實現,且不法分子已通過某種方式獲取了它的訪問許可權,並想要利用它來竊取使用者資金,我們該怎麼辦?
諸如 Winternitz 簽名、STARKs 等抗量子(quantum-resistant)技術的開發正是為了防止這種情況的發生,一旦帳戶抽象準備就緒,任何使用者都可以隨機切換至具備量子抗性的簽名方案。 但如果我們沒有那麼多時間,如果量子攻擊的到來比所有人設想的都更加突然,我們該怎麼辦?
我認為,實際上我們目前已具備了通過一個相對簡單的恢復性分叉(recovery fork)來解決該問題的充足條件。 通過該解決方案,乙太坊網路將不得不進行硬分叉,使用者也將不得不下載新的錢包軟體,但只有少數使用者可能會丟失他們的資金。
量子攻擊的主要威脅如下。 乙太坊地址是通過運算 keccak(priv_to_pub(k))[ 12:] 而函數得出的,其中 k 對應的是私鑰,priv_to_pub 對應的是一個橢圓曲線乘法,用於將私鑰轉換為公鑰。
當量子計算實現后,上述橢圓曲線乘法將變得可逆(因為這其實就是離散對數問題的求解),不過哈希運算依舊是安全的。 如果用戶沒有過進行任何交易,那麼被公開的只有地址資訊,這種情況下他們依舊會是安全的; 但是只要使用者曾進行過哪怕一次交易,交易簽名就會暴露出公鑰,這在量子計算機的面前就存在暴露私鑰的可能性。 所以在這種情況下,大多數使用者將會面臨風險。
但我們其實有辦法緩解這一威脅,這其中的關鍵點在於,實踐中大多數使用者的私鑰都是通過一系列哈希運算產生的。 比如許多私鑰是使用 BIP-32 規範而生成的,它是根據一組助記詞,通過一連串哈希運算而生成; 很多非 BIP-32 的私鑰生成方法也差不多類似,比如如果使用者使用的是腦錢包,它通常也是由某個密碼經過了一系列哈希運算(或者是中等難度的密鑰派生函數)而生成。
這意味著,通過恢復性分叉來應對突發量子攻擊的解決方案將採取以下步驟:
- 第一,將大規模攻擊發生之後的所有區塊回滾;
- 第二,禁用基於 EOA 位址的傳統交易模式;
- 第三,(如果那時還沒有落地的話)添加一種新的交易類型來允許通過智慧合約錢包(比如 RIP-7560 中的部分內容)進行交易;
- 第四,添加新的交易類型或操作碼,通過它使用者可提供 STARK 證明,如果證明通過,使用者位址的代碼將切切換至全新的已驗證代碼,之後使用者可以將新代碼位址作為智慧合約錢包使用。
- 第五,出於節省 Gas 考慮,由於 STARK 證明的數據量較大,我們將支援批量 STARK 證明,以同時進行多筆上述類型的 STARK 證明。
原則上,明天我們就可以開始對實現此恢復性分叉所需的基礎設施進行開發,從而使乙太坊生態系統能夠在突發的量子攻擊中做好準備。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。