網上看到一個對比,很形象,可以用來加強理解:
- 地址 = 銀行卡卡號
- 密碼 = 銀行卡密碼
- keystore = 銀行卡
- 助記詞 = 私鑰 = 銀行卡 + 銀行卡密碼
- Keystore + 密碼 = 銀行卡 + 銀行卡密碼
什么是錢包地址
錢包地址是我們最常見的,它們是一串數字和字母的組合,看起來有點像亂碼。錢包地址就像銀行卡號,代表了你的比特幣賬戶。通過交易所、比特幣客戶端和在線錢包都可以獲得錢包地址。
- 錢包地址可以看成是銀行卡賬號
- 不會重復
- 不會反推出私鑰
通過拋硬幣將正面向上計為0,反面向上計為1,連續拋256次,就隨機得到一個256位的二進制數字,這個數字就是私鑰,然后通過加密函數來生成地址,以16進制顯示。
什么是私鑰/助記詞
- 助記詞 = 私鑰 = 銀行卡 + 密碼
- 助記詞 = 用人類語言描述的私鑰
這兩者都是最高權限,任何人拿到,就可以直接轉走你錢包里的一切財產,就像拿着你的銀行卡和密碼直接去atm取錢一樣。
舉個形象的例子:
私鑰:x12Nedx3edsrEdfh
助記詞:love can play games tomorrow money
私鑰完全沒有意義,而助記詞則是由一個個單詞組成,雖然意義也不大,但記憶難度小了很多,且不容易錯。
什么是KEYSTORE/錢包密碼
因為對於數字貨幣的錢包來說,地址和keystore職責分開了,地址只負責轉賬,keystore則負責安全。
因此,只有keystore需要配合密碼使用,而助記詞和私鑰都不需要密碼,這是和銀行卡在安全性方面極大不同。
- Keystore = 銀行卡
- keystore = 加密的私鑰
- keystore+密碼 = 銀行卡+銀行卡密碼 = 私鑰/助記詞
從技術上說,keystore是一段結構化的內容,里面包含了非常多的信息,例如地址、密碼、id、編碼、加密方式等等,和銀行卡比較類似。拿着銀行卡,沒有密碼也是用處不大的。
關於備份
建議備份優先級
- 最好是備份keystore,因為錢包密碼存在用戶腦子里,不存在直接的隱患問題。
- 其次是備份助記詞,建議抄在物理介質上,比如紙上,並放在安全的地方。千萬不要放在例如微信、郵箱里,這等於是給別人送錢。
- 最次是備份私鑰,同樣也應該備份在物理介質上。
養個好習慣
- 如果3組信息全部丟失,錢包絕對不可能找回!
- 備份完,自己驗證一下有效性,然后再找地方保存,血的教訓。
關於信息泄露
- 地址泄露,完全無影響。
- 錢包密碼泄露,只要手機不丟失,無影響。(keystore存儲在手機上)
- 地址+密碼,只要手機不丟,無影響。(keystore存儲在手機上)
- keystore泄露,只要密碼不丟,無影響。(密碼存儲在用戶腦子里)
- keystore+密碼泄露,趕快把資產轉到其他錢包,並重新生成keystore+密碼,原先的賬戶不再使用。(錢包地址還可以使用)
- 助記詞、私鑰泄露,同上面,轉移資產,並不再使用泄露的錢包。(錢包地址還可以使用)
獲取錢包私鑰算法