原文標題:How to hard-fork to save most users’ funds in a quantum emergency 作者:Vitalik Buterin
原文來源:ETH Research 編譯:Odaily 星球日報 Azuma
3 月 9 日,以太坊聯合創始人 Vitalik Buterin 於以太坊研究論壇(ethresear.ch)以《如何通過硬分叉從突然到來的量子攻擊中解救用戶資金》為題發布了一篇短文。
文中,Vitalik 概述了如果量子攻擊明天就會到來,以太坊如何在緊急情況下儘量減少用戶資金損失,又應該通過哪些程序來轉向抗量子形態,繼而恢復正常運轉。
以下為 Vitalik 全文內容。
假設量子計算機明天就能實現,且不法分子已通過某種方式獲取了它的訪問權限,並想要利用它來竊取用戶資金,我們該怎麼辦?
諸如 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 證明。
原則上,明天我們就可以開始對實現此恢復性分叉所需的基礎設施進行開發,從而使以太坊生態系統能夠在突發的量子攻擊中做好準備。
(以上內容獲合作夥伴 MarsBit 授權節錄及轉載,連結 | 原文出處:Odaily 星球日報)
聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。