今天我們以目前被廣泛使用的

以太系錢包「 imToken」

舉例。

區塊鏈

中常提起的地址、密碼、私鑰、助記詞、keystore分別代表著什麼呢?我們將其與我們熟悉的銀行卡類比一下:

錢包地址=銀行卡號

錢包密碼=銀行卡密碼

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

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

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

Keystore ≠ 銀行卡號

具體解析:

一、地址

建立錢包後會生成以0x 開頭的 42 位的

雜湊值

(16 進位制) 字串串,這就是錢包地址,一個錢包對應一個錢包地址,地址唯一且不能修改,也就是說一個錢包中所有

代幣

的轉賬收款地址都是一樣的。例如,一個錢包中 ETH 的轉賬收款地址和 EOS 的轉賬收款地址是一樣。

這一點和交易平臺上的不一樣,平臺上不同代幣的轉賬收款地址一般都不同,因此,轉幣到交易平臺前一定要確認好地址。

錢包地址可以用於接收別人轉幣

,也可以作為轉幣的憑證(也

僅僅是個憑證

!千萬別抱僥倖心理,去中心化的

數字貨幣

一旦轉出去是不可能有任何滾回操作的,這點和銀行卡的區別是,中心化的銀行是可以透過操作追回你因各種原因轉出去的錢)。

二、密碼

在建立錢包時,需要設定一個密碼,這個密碼要求不少於 8 個字元,為了安全,密碼最好設定複雜一點。密碼可以進行修改或重置。

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

在現實世界中,一個銀行卡只對應一個密碼,對密碼修改後,原密碼就失去作用。但是在

imToken 錢包

中,不一樣,

一個錢包在不同手機上可以用不同的密碼,彼此相互獨立

,互不影響。例如,在 A

手機錢包

中設定了一個密碼,在 B 手機匯入這個錢包並設定一個新密碼,並不影響 A 手機錢包的密碼使用。

三、私鑰

建立錢包後,輸入密碼可以匯出私鑰,這個私鑰屬於明文私鑰,由 64 位

字串

組成,一個錢包只有一個私鑰且不能修改。

這裡要鄭重強調下

"誰掌握了私鑰, 誰就掌握了該錢包的使用權!"

同樣, 如果他人得到了你的明文私鑰, 不需要任何密碼就可以輕而易舉的轉移你的資產。 在去中心化的錢包裡,私鑰是由自己保管, 同樣資產也是儲存在區塊鏈上, 而不是錢包伺服器上, 更不可能存在裝置上!

四、助記詞

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

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

如果他人得到了你的助記詞, 不需要任何密碼就可以輕而易舉的轉移你的資產。

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

不要以任何截圖的形式將助記詞儲存在手機,網盤,微信收藏等線上工具裡,老老實實抄在本子上!

)。

五、keystore(加密私鑰)

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

在匯入錢包中,選擇官方錢包,輸入 keystore 和密碼,就能進入錢包了。需要說明的是,

這個密碼是本手機原來設定的本錢包密碼

, 這一點和用私鑰或助記詞匯入錢包不一樣,用私鑰或助記詞匯入錢包,不需要知道原密碼,直接重置密碼。

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

避免大力出悲劇,區塊鏈數字錢包必懂知識點

錢包管理基礎知識:

錢包的防丟策略:

可以說防丟策略和防盜策略是整個錢包安全知識的重中之重, 建議在建立完錢包之後, 立即備份錢包, 採用雙重備份和多次備份兩種策略。雙重備份是指 Keystore 備份和助記詞備份, 多次備份是指在備份完 Keystore 和助記詞之後, 要驗證備份是否正確, 反覆驗證, 確認無誤即可。

忘記了 Keystore 密碼。我建議使用強度較高的密碼加密 Keystore, 這個密碼最好是隨機生成, 不常用的密碼。這樣提高了 Keystore 的安全性, 但是也對保管密碼帶來了巨大的挑戰, 推薦使用 1password 或者 lastpass 等密碼管理工具, 妥善保管好自己的密碼, 以防遺忘。

遺失了私鑰。這裡的私鑰包括助記詞、Keystore 和明文私鑰, 有些小白在備份助記 詞時, 抄寫過後並沒有做驗證, 或者字跡過於潦草, 導致後期很難辨識, 這些都會導致無法再找到自己的錢包。所以我們在備份錢包時要仔細認真, 在後期保管錢包時, 要善於使用一些安全的管理工具, 確保自己可以隨時找到私鑰。

防盜策略:

防盜的實質是防止我們的私鑰洩露, 或者被駭客盜取。而在防盜策略上, Keystore 和助記詞(或者明文私鑰) 的側重點有所不同。

Keystore 防盜策略: 由於 Keystore 是被加密過後的私鑰, 並且一般是以 JSON 檔案形式存在, 採用“抄寫”這種策略明顯是不科學的, 所以可以儲存在 U 盤裡或者密碼管理工具裡。

儲存 Keystore 時要和密碼分開儲存

, 這樣只要密碼強度足夠高, 即使被駭客盜取了 Keystore , 也很難破解, 備份 Keystore 時也要多處儲存, 比如你只存在 U 盤裡, 如果 U 盤丟失, 那麼也相當於丟失了錢包。

助記詞防盜策略:

在儲存助記詞時, 就需要更加謹慎一些, 因為助記詞毫無安全性可言, 一旦被第三方竊取, 那麼我們的資產將面臨巨大的威脅, 所以建議採用物理介質備份,

抄寫在一張紙上, 並且妥善保管, 抄寫時要注意準確性, 也要注意長久儲存, 不要出現字跡看不清楚等問題。

分享三個錢包被盜案例:

1: A同學將 Keystore 儲存在自己的微信收藏裡, 而 Keystore 的密碼和微信密碼是一致的, 結果錢包被盜……

2: B同學將自己的 Keystore 透過郵件進行傳輸, Keystore 密碼和郵件密碼是一致的, 結果郵件被駭客攔截, 錢包被盜……

3: C同學因為怕自己遺忘備份的助記詞, 所以將助記詞告訴身邊的親朋好友, 幫忙記住, 結果被其親友盜取……

資訊洩露:

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

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

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

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

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

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

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

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

「私鑰、助記詞、Keystore+密碼」絕不能洩漏出去

,一旦發現有洩漏的可能,就要立刻把裡面的幣轉移走。

區塊鏈基本知識點:

去中心化:

因為整個網路沒有中心統治者。系統依靠的是網路上多個參與者的公平約束,所以任意每幾個節點的權利和義務都是均等的,而且

每一個節點都會儲存這個區塊鏈上所有資料

。即使該節點被損壞或遭受攻擊,仍然不會對賬簿造成任何威脅。

不可逆:

區塊鏈上的資訊必須不可撤銷,不能隨意銷燬

。系統是開源的,整個系統都必須是公開透明的,因此某筆交易被全網廣播以後,達到 6 個確認以上就安全記錄在案了,且不可逆轉不可撤銷。(注: imToken 是 12 個區塊確認)

不可篡改:

確保資訊或合約無法偽造。賬簿在某個人或某幾人手上,造假的可能性就非常高,但每個人手裡都有一本賬簿,除非整個遊戲裡超過 51% 的人都更改某一筆賬目,否則任何的篡改都是無效的,這也是集體維護和監督的優越性。

匿名性:

各區塊節點的身份資訊不需要公告或驗證, 資訊傳遞可以匿名進行。舉個簡單的例子, 就是你在區塊鏈上向一個錢包地址發起交易, 但是卻無法知道這個地址背後確切對應的是那一個人, 或者

你的私鑰被某一個駭客盜竊了, 無法從一個錢包地址中得知駭客是誰

錢包只是金鑰 (公鑰和私鑰) 的管理工具。

它只包含金鑰而不是確切的某一個代幣。錢包中包含成對的私鑰和公鑰。使用者用私鑰來簽名交易, 從而證明該使用者擁有交易的輸出權。而輸出的交易資訊則儲存在區塊鏈中。

一旦發現自己錢包出現不是自己操作的轉出交易, 或者意識到自己的私鑰已經洩露, 那麼立即停止使用該錢包 (不要再向該錢包轉賬), 新建錢包 (當然要做好新錢包的備份) 然後立即將資產轉移至新錢包。

更多知識請關注專欄(區塊學社)