A. 什麼是助記詞
助記詞是明文私鑰的另一種表現形式,最早是由 BIP39 提案提出,其目的是為了幫助用戶記憶復雜的私鑰 ( 64 位的哈希值)。助記詞一般由12、15、18、21個單詞構成,這些單詞都取自一個固定詞庫,其生成順序也是按照一定演算法而來,所以用戶沒必要擔心隨便輸入 12 個單詞就會生成一個地址。雖然助記詞和 Keystore 都可以作為私鑰的另一種表現形式,但與 Keystore 不同的是,助記詞是未經加密的私鑰,任何人得到了你的助記詞,可以不費吹灰之力的奪走你的資產控制權。所以在用戶在備份助記詞之後,一定要注意三點:
1. 盡可能採用物理介質備份,例如用筆抄在紙上等,盡可能不要採用截屏或者拍照之後放在聯網的設備里,以防被黑客竊取;
2. 多次驗證備份的助記詞是否正確,一旦抄錯一兩個單詞,那麼將對後續找回正確的助記詞帶來巨大的困難;
3. 將備份後的助記詞妥善保管,做好防盜防丟措施。
PS:用戶可以使用備份的助記詞,重新導入 imToken,用新的密碼生成一個新的 Keystore,用這種方法來修改錢包密碼。
B. 2048個助記詞,能不能破解一下算完讓我崩潰
文:財神下山 / ID:caishen-wdd
這是財神下山的第(6)篇
使用過數字錢包的人,應該都會遇到助記詞,用一句話來解釋助記詞就是: 它是私鑰的明文顯示。
意如其名,幫助你記憶私鑰的單詞。因為,一串長長的字元總沒有幾個單詞好記憶。
在寫完《比特幣里的私鑰,公鑰,地址是如何產生的?》文章後,其實財神還是有點迷惑的,就是當時在寫助記詞的時候,只是順帶一句話,並不知道它的真實產生過程。
好在,最近又看了精通以太坊這本書的介紹。
回顧一下私鑰空間,比特幣,以太坊的私人密鑰空間的大小(2^256)是一個難以置信的大數目。十進制大約是10^77。可見宇宙估計含有10^80原子。
要從這么大的空間里找到一個私鑰,它剛好是V神的錢包,這概率……比大海撈針,而且是不能藉助任何工具,還難。
後來,財神了解到,所有的助記詞字典,其實只有2048個單詞。
通過下面這個連接就可以訪問:
https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
今天,學一學助記詞是怎麼計算出來的。
教學開始!
1. 先從熵開始,熵的長度是32的整數倍,分別為 128, 160, 192, 224, 256,也就是我們私鑰的長度。
2. 熵的長度再加上校驗和的長度。為熵的長度/32 位, 所以校驗和長度可為 4,5,6,7,8 位;
3. 一共有2048個助記詞,用二進製表示的話需要11位。 2的11次方等於2048。所以,上面助記詞的個數分別是12,15,18,21,24。
例如: 128位的熵,加上 4位校驗和,等於132位長度的二進制,每11個切割成一組,那需要12組。
(128+4)/11 =12, 也即128長度的熵需要12個助記詞
(256+8)/11 =24, 也即256長度的熵需要24個助記詞
畫張流程圖就是
每個單詞有唯一一個碼,好了,上面就是助記詞生成的整個過程。
12個助記詞安全嗎?
我們的錢包只有12-24個單詞,從表面看上去,假如全球用戶的所有帳戶加起來有10億個錢包,那我從2048個字典里隨機挑出12個單詞,這個好像有機會瞎貓碰到死耗子一樣,再不行,我拿計算機一直嘗試12個單詞的隨機組合,然後看看是不是一個錢包的私鑰……
哈哈……哈哈……
直到財神求值了一下……不算不知道,一算嚇我一跳。
下面分別是2個單詞 到 24個單詞的隨機組合個數,到第4個單詞時已經17萬億了,再往上就不知道怎麼讀了。
4194304
8589934592
17592186044416
36028797018963968
73786976294838206464
151115727451828646838272
309485009821345068724781056
(已經40位數了,除以10億,還有31位)
繼續13個單詞
104
1204992
1187823616
真相竟然那麼殘酷,啥也不要想了,還是好好研究搬磚吧。
參考資料: 《精通以太坊》,初學者,如有疏略,還請指教。
如果這篇文章對你有幫助,
就分享給朋友吧!
C. 關於錢包助記詞
昨天發生了用戶在eostea注冊賬號後私鑰被盜的事件,原因據說是eostea為用戶提供了助記詞功能,用戶可以自己選擇助記詞,如果用戶不輸入助記詞,就會生成一個默認的私鑰。這樣的私鑰誰都算得出來,用戶的賬號當然就很容易被控制了。
如果這事屬實,說明eostea乾的活太不專業了:助記詞不該由用戶輸入。實際上,錢包提供助記詞功能是有一套標準的,那就是比特幣的BIP39。讓用戶輸入助記詞,很容易產生碰撞,就是說不同的賬號使用同樣的私鑰,這是必須避免的。解決的方法是,助記詞必須來自一個標準的2048個單詞的詞庫( https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt ),給用戶提供的12個助記詞(也可以是24個)是系統用強隨機函數生成,以保證每個賬戶取得的助記詞都不相同。當用戶導入助記詞時,錢包要檢查用戶輸入的12個單詞是否來自2048詞庫,不是則拒絕生成私鑰。
對於人類來說,記住那一長串私鑰太難了,記助記詞相對簡單些,很多人喜歡用助記詞。從 助記詞 到 種子 再到 最終的私鑰 也是有一套標準的,那就是BIP44(HD錢包)。簡單點說,BIP44的關鍵是私鑰的推導路徑(derived path),不同幣種按照不同的路徑生成自己的私鑰,BIP44規定比特幣的路徑是m/44'/0'/0'/0,以太幣是m/44'/60'/0'/0,EOS是m/44'/194'/0'/0。只要錢包遵守BIP44,那麼相同的助記詞在不同的錢包APP里會算出相同的私鑰,保證了錢包的兼容性。而且如果用戶有多個幣種的話,記住一套助記詞就可以了,錢包隨時隨地能為用戶生成相應的私鑰。
GREATWALLET錢包嚴格遵循BIP44、BIP39標准為用戶生成助記詞,記住一套助記詞,省去記多個幣種私鑰的麻煩,非常方便實用。歡迎使用GREATWALLET錢包,訪問 http://greatwallet.io 或者 https://greatwallet.io .目前它對手機瀏覽器支持得還不夠好,請使用桌面瀏覽器。
關於GREATWALLET錢包, 這里 有一篇簡單的介紹。
(文中如有錯誤請同行指正)
D. imtoken錢包私鑰導入格式64進16什麼意思
私鑰=銀行卡+銀行卡密碼。
私鑰是一個長度為64位的字元串,一個錢包只能擁有一個私鑰並且不能修改。為什麼說私鑰=銀行卡+銀行卡密碼呢?因為在imToken中直接導入私鑰可以生成新的密碼,將所有的區塊鏈資產全部轉移走。私鑰作為最高保密級別,應該妥善保管在物理設備上,例如抄在紙上,備份多份並且存放在安全的地方,萬萬不可將私鑰在聯網設備上進行傳輸,避免被黑客截取。
助記詞=私鑰。
助記詞又是什麼東西呢?助記詞既然等於私鑰,那麼其應該是私鑰的另外一種表現形式,並且具有私鑰同等的功能。在imToken中創建錢包,會出來一個助記詞,助記詞的個數一般為12、15、18、21個單詞構成。這些詞都取自一個固定詞庫,其生成順序也是按照一定的演算法得到,且助記詞不能修改。助記詞的主要作用是幫助用戶記憶繁瑣的私鑰。同樣助記詞也要妥善保管好,切勿在聯網設備中傳輸,任何人得到了你的助記詞都可以輕松的轉移你的區塊鏈資產。
keystore+密碼=私鑰。
keyStore文件是以太坊錢包存儲私鑰的一種文件格式(JSON格式)。它使用用戶自定義密碼對私鑰進行加密,在一定程度上keystore=加密後的私鑰,拿到keystore和密碼後照樣可以轉移走所有的區塊鏈資產。keystore密碼是唯一不可修改的,那麼錢包密碼修改之後,keystore也會相應修改。一定要記住加密keystore的密碼,一旦忘記密碼,就相當於遺失了該錢包所有的區塊鏈資產。
————————————————
版權聲明:本文為CSDN博主「懶區塊」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/lanqukuai/article/details/81035995
E. 【概念】私鑰、助記詞和keystore到底是什麼關系
使用了很久的錢包,用得有點誠惶誠恐,錢包除了用於轉賬外,都不怎麼敢動它,怕誤操作搞不好就空了,所以大部分都在交易所,不敢提。這也間接印證了李笑來老師的一句話:
在申請錢包時,當然看過不少資料,老老實實地記下了私鑰、助記詞,備份了keystore,還放在兩個U盤里備份。但對私鑰、助記詞和keystore是一知半解的,也不知道他們到底什麼關系。如果不是要了解EOS映射,我可能一直不會動錢包,也不會去了解它們。
下面就一個個來好好學習一下這些概念。
私鑰是由64位十六進制的字元組成,每個私鑰是隨機生成的,隨機生成這樣的字元串有2的256次方種可能,這個數字已經超過了宇宙中原子的個數,用「暴力破解」的方式逐一遍歷可能的私鑰,幻想能碰到一個有效的且有幣的私鑰,可以說是不可能,就算是量子計算機也沒用。
一個錢包只有一個私鑰且不能修改。
在導入錢包中,輸入私鑰並設置一個密碼(不用輸入原密碼),就能進入錢包並擁有這個錢包的掌控權,就可以把錢包中的代幣轉移走。
由於私鑰64位,長得太難看,沒有可讀性,而私鑰的備份在電腦上復制起來容易,手抄下來就比較麻煩,但私鑰保存在聯網的電腦上不安全,有被其他人看到的風險,於是有了助記詞工具。
助記詞是明文私鑰的另一種表現形式,最早是由BIP39提案提出,其目的是為了幫助用戶記憶復雜的私鑰 (64位的哈希值)。助記詞一般由12、15、18、21個單詞構成,這些單詞都取自一個固定詞庫, 其生成順序也是按照一定演算法而來,所以用戶沒必要擔心隨便輸入12個單詞就會生成一個地址。助記詞是未經加密的私鑰, 沒有任何安全性可言,任何人得到了你的助記詞,可以不費吹灰之力的奪走你的資產。所以在用戶在備份助記詞之後,一定要注意三點:
助記詞一般會在你創建新錢包的時候出現一次,後面就再也不會出現了,所以創建新錢包時一定要把助記詞抄下來,想辦法備份。最好不要用屏幕截圖或保存在電腦里,因為只要泄露,獲取了你的助記詞就等於獲取了私鑰,你的錢包就成了別人的錢包。
簡而言之:助記詞等於私鑰,絕對不能泄露。
keystore常見於以太坊錢包,是你獨有的、用於簽署交易的以太坊私鑰的加密文件。keystore是一串Json格式的字元串,可以用任何以太坊錢包打開它。keystore必須配合你的錢包密碼來使用,備份了keystore同時別忘了備份錢包的密碼。
用戶可以使用備份的助記詞,重新導入imToken之類的錢包工具,用新的密碼生成一個新的Keystore,可以用這種方法來修改錢包密碼。
助記詞=密鑰=keystore+密碼 !保管好私鑰或者助記詞不被泄露,或是保存好keystore+記住密碼,你才真正擁有了虛擬資產。
再來一個比較形象的比喻。
概念清楚之後,瞬間感覺輕松多了。再也不用擔心因為不明白而擔心操作失誤的問題。最重要的是將私鑰、助記詞和keystore備份好,盡量離線備份多份,這樣才能保證賬號的安全。
1、 科普 | 什麼是以太坊私鑰儲存(Keystore)文件?
2、 如何妥善備份你的以太坊錢包?
3、 幣圈名詞:地址、密碼、私鑰、助記詞,你真的分清楚了嗎
4、 「地址、密碼、私鑰、助記詞、Keystore 」那些事