Wallets
是否可以不斷創建新錢包,直到您“創建”一個已經存在的錢包?
這個問題是在閱讀了乙太坊地址是如何生成的?
這是感興趣的部分
從私有 -> 地址獲取主要分為三個步驟:
- 創建一個隨機私鑰(64(十六進制)字元/256 位/32 字節)
- 從此私鑰派生公鑰(128(十六進制)字元/512 位/64 字節)
- 從此公鑰派生地址。(40(十六進制)字元 / 160 位 / 20 字節)
從這個簡化的解釋看來,如果您創建一個某人先前生成的隨機私鑰,您將能夠訪問他們的帳戶。顯然情況並非如此,因為已經創建了許多帳戶,而我從未聽說過這種情況。那麼,我到底錯過了什麼?
一切都是關於可能發生的碰撞。快速回答,不,你不能偶然發現碰撞(現有的隨機生成的私鑰),因為機率太小了。
請參閱此Reddit 執行緒,其中人們比較了數字和偶然找到一個的機率。
整個密碼世界,幾乎所有用電腦程式碼編寫的強大密碼算法,都依賴於純粹的機會來避免密鑰衝突。關鍵空間被簡單地選擇為足夠大,以使在宇宙熱寂之前不太可能發生碰撞。但不太可能不等於不可能。這根本不是我擔心的事情,但我一直覺得它很吸引人。
一篇有趣的非技術文章可能是https://www.wired.com/story/blockchain-bandit-ethereum-weak-private-keys/
猜測隨機生成的乙太坊私鑰的機率是 115 quattuorvigintillion 中的 1。(或者,作為分數:1/2256。)這個分母非常粗略地圍繞著宇宙中的原子數。Bednarek 將辨識隨機乙太坊密鑰的任務比作在海灘上選擇一粒沙子,然後讓朋友在“十億”海灘中找到相同的沙粒。
但是請注意,即使不是偶然,即使您努力尋找一個,您也會花費很多時間,以至於您甚至在找到一個機會之前就死了,而不是整個人類找到一個中獎彩票號碼同時。