作者 | 老牛 出品|白話區塊鏈(ID:hellobtc)
對於存儲區塊鏈資產的錢包,還有不少人沒搞懂,尤其是地址、公鑰、密碼、私鑰、助記詞、Keystore 等專有名詞,讓人一頭霧水。可是,如果不搞清楚這些概念,很可能會造成區塊鏈資產的損失。
今天,我們就把這些讓人看得雲裡霧裡的概念一次性講明白。
01
公鑰 = 銀行帳戶,地址 = 銀行卡號

爲了方便理解,我們還是採用《比特幣的安全性到底有多高?》的比喻:「公鑰」就像你的銀行帳戶,「地址」就像你的銀行卡號碼。
以以太坊錢包爲例,創建一個以太坊錢包後,會生成一個以“0x”開頭的字符串,這個字符串就是錢包「地址」。
錢包的「地址」是由「公鑰」通過計算得來,就像銀行先給你開戶,後給你銀行卡卡號。
錢包「地址」的主要用途是收款,當然也可以作爲轉賬的憑證,就像別人打錢給你時你需要告訴人家銀行卡卡號一樣。
02
密碼 = 銀行卡密碼

在創建錢包時,需要自己設定一個「密碼」,通常這個「密碼」要求不少於 8 個字符。爲了安全,「密碼」最好設置複雜一點。
這個「密碼」的用途有兩個,一是轉帳時需要輸入「密碼」,類似於你用銀行卡給別人轉賬需要輸入密碼;二是用 Keystore 導入錢包時,必須輸入這個「密碼」。
這個「密碼」是可以進行修改或重置的。輸入原「密碼」後,就可以直接修改「密碼」了;但如果原「密碼」忘記了,可以用「私鑰」或是「助記詞」導入錢包,同時設置新的「密碼」。
在現實世界中,一個銀行卡只對應一個密碼,密碼修改後,原密碼就失效了。但是區塊鏈錢包中,一個錢包在不同手機上可以用不同的「密碼」,彼此相互獨立,互不影響。
03
私鑰 = 銀行卡號+銀行卡密碼

創建錢包後,輸入「密碼」可以導出「私鑰」。這個「私鑰」是由 64 個字符組成的字符串,當然有的錢包採用的編碼不一樣,字符數可能更少。一個錢包「地址」只有一個私鑰且不能修改。
只要輸入「私鑰」並設置一個「密碼」(不用輸入原「密碼」),就能進入錢包並擁有這個錢包的掌控權,就可以把錢包中的幣轉移走。
所以,私鑰就相當於是“銀行卡號+銀行卡密碼”,非常重要,一定要妥善保存。
**
**
04
助記詞 = 私鑰 =銀行卡號+銀行卡密碼

前面提到,「私鑰」由 64 位字符串組成,所以非常容易抄錯,於是就出現了「助記詞」。
「助記詞」,顧名思義,就是幫助你記錄、記憶。「助記詞」由 12 個單詞組成,每個單詞之間有一個空格,和「私鑰」一樣,一個錢包只有一套「助記詞」且不能修改。
「助記詞」和「私鑰」具有同樣的功能:只要輸入「助記詞」並設置一個「密碼」(不用輸入原「密碼」),就能進入錢包並擁有這個錢包的掌控權,就可以把錢包中的幣轉移走。
「助記詞」只能備份一次,備份後,在錢包中便不會再顯示。因此,在備份時一定要抄寫下來。
05
Keystore+密碼 = 私鑰

錢包裡有一個備份「Keystore」的功能,選擇備份「Keystore」,輸入「密碼」,會出現一大段代碼,這個就是「Keystore」。
在導入錢包時,只要輸入「Keystore」 和「密碼」,就能進入錢包了。這一點和用「私鑰」或「助記詞」導入錢包不一樣,後兩者不需要知道原「密碼」,而是直接重置「密碼」。
「Keystore」可以理解爲 加密後的「私鑰」,和錢包的「密碼」有關,錢包的「密碼」修改後,「Keystore」也發生相應變化。
需要特別注意的是,在用「Keystore」導入錢包時,需要輸入「密碼」,這個「密碼」是備份「Keystore」時的錢包「密碼」,與後來「密碼」是否有修改無關。
06
結語

在現實世界中,如果你的銀行卡丟了,密碼忘了,可以去銀行幫你找回,你的錢還是你的錢,丟不了,這是中心化的優勢。
但是在區塊鏈世界中,錢包信息要是丟了,就沒人能夠幫你找回。因此,只要你保護好錢包信息,錢包裏面的財產只屬於你自己,誰也搶不走,這是去中心化的優勢。
看了今天的文章,如果出現下面這 7 種泄漏情況,你知道哪幾種情況沒有關係,哪幾種情況幣會被盜走嗎?歡迎在文末留下你的答案。
1、「地址」泄漏了;
2、「密碼」泄漏了;
3、「地址」+「密碼」泄漏了;
4、「Keystore」泄漏了,「密碼」沒有泄漏;
5、「Keystore」和「密碼」都泄漏了;
6、「私鑰」泄漏了;
7、「助記詞」泄漏了。
本文爲舊文重發,內容略作調整
原文網址:想要安全地保管資產,先要知道錢包的這些知識