【白話區塊鏈】關於地址、密碼、私鑰、助記詞、Keystore

區塊鏈老胡發表於2018-11-02

有些小夥伴雖然有了自己的數字資產了,並且把數字資產存到錢包了,但是對於自己錢包的安全性是怎麼實現的,也不是很瞭解,下面和老胡一起來看看和自己的數字資產密切相關的一些東西吧。

國內最常用的以太系錢包當屬 imToken,在後文我也會更新imToken和Plus Token的對比的文章。在使用錢包時,有幾個名詞必須深刻理解,不然就有可能造成區塊鏈資產的損失,這幾個名詞為地址、密碼、私鑰、助記詞、keystore。

為了方便大家理解,我們從現實世界抽象(銀行),這 5 個詞分別對應內容如下:

地址=銀行卡號

密碼=銀行卡密碼

私鑰=銀行卡號+銀行卡密碼

助記詞=銀行卡號+銀行卡密碼

Keystore+密碼=銀行卡號+銀行卡密碼

但是!Keystore ≠ 銀行卡號

 

一、地址

地址=銀行卡號

1.生成

建立錢包後會生成一個以 0x 開頭的 42 位字串,這個字串就是錢包地址,一個錢包對應一個錢包地址,地址唯一且不能修改(是一個儲存在區塊鏈網路的雜湊值),也就是說一個錢包中所有代幣的轉賬收款地址都是一樣的。例如,一個錢包中 ETH 的轉賬收款地址和 EOS 的轉賬收款地址是一樣。注意區別錢包中地址和交易所地址的區別,交易所中,不同代幣的地址是不同的,也就是說,同一個賬號,ETH的轉賬地址和EOS的轉賬地址是不同的,如果轉賬時地址填寫錯誤會造成轉賬失敗。

2.用途

錢包地址可以用於接收別人轉幣,也可以作為轉幣的憑證。

3.特徵

   錢包地址在全網是唯一的。

 

二、密碼

密碼=銀行卡密碼

1.設定

在建立錢包時,需要設定一個密碼,這個密碼要求不少於 8 個字元,為了安全,密碼最好設定複雜一點。密碼可以進行修改或重置,修改密碼有兩種方法,一是直接修改密碼,這需要輸入原密碼。如果原密碼忘記了,用助記詞或私鑰匯入錢包,同時設定新密碼。

2.用途

密碼的用途有兩個,一是轉賬時候的支付密碼,二是用 keystore 匯入錢包時的登入密碼。兩個密碼的用途不一樣。

3.特徵

在現實世界中,一個銀行卡只對應一個密碼,對密碼修改後,原密碼就失去作用。但是在 imToken 錢包中,就不一樣了,一個錢包在不同手機上可以用不同的密碼,彼此相互獨立,互不影響。例如,在 A 手機錢包中設定了一個密碼,在 B 手機匯入這個錢包並設定一個新密碼,並不影響 A 手機錢包的密碼使用。這涉及到錢包的備份,後文中會講到。

三、私鑰

私鑰=銀行卡號+銀行卡密碼

1.匯出

建立錢包後,輸入密碼可以匯出私鑰,這個私鑰屬於明文私鑰,由 64 位字串組成,一個錢包只有一個私鑰且不能修改。一個錢包只對應一個私鑰,私鑰可以用來在忘記密碼的情況下匯入錢包。

2.用途

在匯入錢包中,輸入私鑰並設定一個密碼(不用輸入原密碼),就能進入錢包並擁有這個錢包的掌控權,就可以把錢包中的代幣轉移走。

3.特徵

一個錢包只有一個私鑰,並且無法修改,私鑰可以用來恢復錢包。

 

 

四、助記詞

助記詞=銀行卡號+銀行卡密碼

助記詞=私鑰

1.備份

建立錢包後,會出現一個備份助記詞功能,選擇備份助記詞,輸入密碼,會出現 12 個單詞,每個單詞之間有一個空格,這個就是助記詞,一個錢包只有一個助記詞且不能修改。

2.用途

助記詞是私鑰的另一種表現形式,具有和私鑰同樣的功能,在匯入錢包中,輸入助記詞並設定一個密碼(不用輸入原密碼),就能進入錢包並擁有這個錢包的掌控權,就可以把錢包中的代幣轉移走。前面說到這個密碼不會影響到在另一個手機中使用該錢包。

3.特徵

助記詞只能備份一次,備份後,在錢包中再也不會顯示,因此在備份時一定要抄寫下來。

五、keystore

keystore+密碼=銀行卡號+銀行卡密碼

Keystore ≠ 銀行卡號

keystore=加密私鑰

keystore+密碼=私鑰

1.備份

錢包裡有一個備份keystore 功能,選擇備份keystore,輸入密碼,會出現一大段字元,這個就是keystore。

2.用途

在匯入錢包中,選擇官方錢包,輸入keystore 和密碼,就能進入錢包了。需要說明的是,這個密碼是本手機原來設定的本錢包密碼, 這一點和用私鑰或助記詞匯入錢包不一樣,用私鑰或助記詞匯入錢包,不需要知道原密碼,直接重置密碼。

3.特徵

keystore 屬於加密私鑰,和錢包密碼有很大關聯,錢包密碼修改後,keystore 也就相應變化,在用keystore 匯入錢包時,需要輸入密碼,這個密碼是備份 keystore 時的錢包密碼,與後來密碼的修改無關。

六、結語

在現實世界中,如果你的銀行卡丟了,密碼忘了,可以去銀行幫你找回,你的錢還是你的錢,丟不了,這是中心化的優勢。

但是在區塊鏈世界中,除了你自己,沒有人儲存你的錢包資訊,錢包資訊要是丟了,沒人能夠幫你找回,錢包公司也不能。因此,只要你保護好錢包資訊,錢包裡面的財產只屬於你自己,誰也搶不走,這是去中心化的優勢。

1.忘記

你若把錢包資訊忘了,會有什麼後果呢?分這麼幾種情況:

(1)地址忘了,可以用私鑰、助記詞、keystore+密碼,匯入錢包找回。

(2)密碼忘了,可以用私鑰、助記詞,匯入錢包重置密碼。

(3)注意!密碼忘了,私鑰、助記詞又沒有備份,就無法重置密碼,就不能對代幣進行轉賬,等於失去了對錢包的控制權。

(4)密碼忘了,keystore 就失去了作用。keystore是加密的私鑰,和密碼密切相關,隨密碼的更改而變化。

(5)私鑰忘了,只要你錢包沒有刪除,並且密碼沒忘,可以匯出私鑰。

(6)私鑰忘了,還可以用助記詞、keystore+密碼,匯入錢包找回。

(7)助記詞忘了,可以通過私鑰、keystore+密碼,匯入錢包重新備份助記詞。

(8)keystore 忘了,只要你錢包沒有刪除,密碼沒忘,可以重新備份keystore。

(9)keystore 忘了,可以通過私鑰、助記詞,匯入錢包重新備份keystore。

從上可以看出,只要「私鑰、助記詞、Keystore+密碼」有一個資訊在,錢包就在。因此,備份好「私鑰、助記詞、Keystore+密碼」最關鍵。

2.洩露

自己備份好錢包資訊很重要,同時防止錢包資訊洩漏,也很重要。若把錢包資訊洩漏出去了,會有什麼後果呢?分這麼幾種情況:這部分內容有點繞,需要好好理解。

(1)地址洩漏了,沒有關係。

(2)密碼洩漏了,沒有關係。

(3)地址+密碼洩漏了,只要手機不丟,也沒有關係。

(4)keystore洩漏了,密碼沒有洩漏,沒有關係。

(5)keystore+密碼洩漏了,別人就能進入錢包,把幣轉走。

(6)私鑰洩漏了,別人就能進入錢包,把幣轉走。

(7)助記詞洩漏了,別人就能進入錢包,把幣轉走。

從上可以看出,只要「私鑰、助記詞、Keystore+密碼」有一個資訊洩漏出去,別人就擁有了你錢包的控制權,你錢包中的幣就會被別人轉移走。因此,「私鑰、助記詞、Keystore+密碼」絕不能洩漏出去,一旦發現有洩漏的可能,就要立刻把裡面的幣轉移走。這裡不要存在僥倖心理,一旦洩漏,立馬將幣轉移到安全的錢包,避免損失。

3.備份

既然私鑰、助記詞、Keystore+密碼」如此重要,那麼如何進行儲存呢,最安全的方法就是:

手抄紙上

由於 Keystore 內容較多,手抄不方便,儲存在電腦上也不安全,因此可以不對Keystore 進行備份,隻手抄私鑰、助記詞就足夠了,手抄備份要注意以下幾點:

(1)多抄幾份,分別放在不同的安全區域,並告訴家人。

(2)對手抄內容進行驗證,匯入錢包看能不能成功,防止抄寫錯誤。

(3)備份資訊不要在聯網裝置上進行傳播,包括郵箱、QQ、微信等。

(4)教會家人操作錢包。

 

相關文章