作者:ZIXUN / 來源:資訊
近期交易平臺安全事件不斷,讓很多幣圈用戶感到擔憂,不少人紛紛把幣從交易平臺提到錢包,但是對很多小白用戶來說,對于錢包并不是很了解,錢包這么多,怎么選、怎么用?
今天我們就請到了Cobo金庫負責人以及Cobo錢包資深產品經理為大家解答一下——對于小白用戶來說怎么選擇錢包?為了自己的數字貨幣安全,為什么每個人都需要一款錢包?
什么是錢包?
通俗地說,數字貨幣錢包類似于支付寶。支付寶處理的是你的人民幣,錢包處理的是你的數字貨幣。
錢包的分類?
提到錢包的分類,就不得不說私鑰這個概念。
私鑰就相當于你的銀行卡密碼,控制了私鑰就可以控制對應的數字貨幣。
然后,按照私鑰保管方式的不同,錢包分兩類——將私鑰托管在云端第三方的云端錢包,以及用戶自己保管私鑰的錢包(又細分成HD錢包和硬件錢包)。
云端錢包的優勢是:
1. 快速上手,手機號注冊即可,然后不用操心私鑰,私鑰由云端第三方托管。
2. 轉賬迅速方便。
3. 方便購買數字貨幣增益產品。
4. 有風控體系,進一步幫助小白用戶保護資產安全。
自己保管私鑰的錢包——那就是不依賴任何第三方,自己保管自己的數字貨幣。自己保管的話相應風險也自己承擔了。
你在剛才反復提到一個關鍵詞——私鑰。那私鑰是什么呢?
私鑰就相當于銀行密碼。但是光有銀行密碼是沒法“收錢”的,還需要有“地址”。地址相當于銀行卡賬號。但是地址與銀行卡賬號最大的區別是,銀行卡賬號是銀行派發給你的,但地址是從私鑰派生出來的。地址與私鑰一一對應,私鑰可以推導出地址,但是地址無法推導出私鑰。這里面的密碼學算法具體不展開,錢包都會替你代勞。
銀行卡賬號一定是唯一的,為了避免兩個人控制同一個賬號。那數字貨幣的“地址”,怎么保證這個唯一性呢?
因為地址是從私鑰派生而來的,所以地址的唯一性其實就是私鑰的唯一性。這里的邏輯可能有一點反直覺。這里的邏輯是——因為私鑰的可能性足夠多。大概有 2 的 256 次方這么多,所以,只要你隨機從里面選一把私鑰,別人跟你選中同一把私鑰的可能性為零。大家對 2 的 256 次方這個數字有多大可能沒概念,這個數字約等于宇宙中所有原子的數量。所以你從一個茫茫大的池子里面隨機選擇一個私鑰,那這個私鑰跟別人重合的概率就是零了。
這里又引入了一個重要概念——隨機。
這里私鑰的池子是足夠大了。但是你必須保證私鑰生成的隨機性,才能保證你與別人不會選擇同一把私鑰,或者你的私鑰不會被黑客暴力測試一個個試出來。
前面講了云端托管私鑰的云端錢包,以及私鑰的概念。如果我不信任任何第三方,想自己保管私鑰,那又該怎么做呢?
前面提過了,自己保管私鑰的話,一般有兩種方案,一種是 HD 錢包,一種是硬件錢包。硬件錢包屬于比較高階的玩法了。我們先聊一下 HD 錢包。
用最簡化的描述來解釋的話其實很簡單,HD 錢包最重要的功能就是幫你隨機生成一把私鑰,然后將這把私鑰保存在手機本地的安全區,私鑰不會被發送到任何第三方。然后在錢包內你就可以展示私鑰生成的地址向別人收取數字貨幣了。你也可以把交易平臺里面的數字貨幣轉到 HD 錢包里面去。當你要轉出一筆數字貨幣的時候,在 HD 錢包上輸入了你要發送到的地址(可以掃碼輸入),然后輸入要轉出的金額。如果金額沒有超過這個地址上的余額的話,HD 錢包就會用這個地址對應的私鑰對交易進行“簽名”。再把簽名結果廣播出去。
這里“簽名”是一個密碼學的概念,就是說通過密碼學的算法,證明你擁有私鑰,也就是擁有對應地址上的數字貨幣的支配權。
另外,很多人可能對 HD 這兩個字母感到非常陌生,其實這兩個字母代表了 HD 錢包除了生成私鑰,保管私鑰,私鑰簽名之外,一個非常重要的特性。就是“分層確定性”。英文是Hierarchical Deterministic。中英文都很拗口和不好理解,其實含義很簡單。因為現在大家擁有的幣種和每個幣種下的地址都越來越多,如果一把私鑰對應一個幣種下的一個地址的話,那可能有些用戶手里會有幾十把甚至上百把私鑰。這是很不利于私鑰管理的。所以就有天才開發者提出了,其實可以用一把母私鑰,按照約定的規則,生成子私鑰。然后用這些子私鑰還能分層,比方說兒子那一層就管不同幣種,孫子那一層就管這個幣種下不同的地址。這樣就有了“分層確定”的概念。一把私鑰就能管好多好多幣種和地址啦!
好清晰!那我追問一個問題,自己管私鑰,用手機里面的 HD 錢包管,那手機壞了咋辦?私鑰不就丟了?資產不就丟了?
好問題!所以這就引出了自己管私鑰最重要的部分了!私鑰你一定要備份!即使手機壞了,再下載一個 HD 錢包,就能用備份的私鑰重新掌控你的資產了。
而且,因為所有 HD 錢包幾乎都遵循同一套分層確定的規則,所以其實你換一個 HD 錢包,用同樣的私鑰導入,得到的結果都是一樣一樣的。
明白了!用 HD 錢包一定要備份私鑰!可是前面說私鑰的可能性約等于宇宙中原子的數量,那私鑰肯定很多吧。私鑰應該很長吧?
其實私鑰備份的方法也有好多種,不一定是要把私鑰完整的抄下來或者記錄在哪里。在數字貨幣的早期,就有人想出一個辦法——腦錢包。腦錢包的意思就是我用一句我能記住的話,比方說“I Love You”,這句話是可以通過密碼學算法(也就是哈希),生成一個 256 位的字符串作為你的私鑰。
但是!大家注意,前面講到了“隨機性”。私鑰一定要隨機才安全,但是這樣的腦錢包,其實隨機性是很差很差的,或者說隨機性幾乎是零。
舉例來說,中本聰的英文名是“satoshi nakamoto”,用這個名字作為腦錢包的話,
私鑰是
5K7EWwEuJu9wPi4q7HmWQ7xgv8GxZ2KqkFbjYMGvTCXmY22oCbr
對應的地址是
1Q7f2rL2irjpvsKVys5W2cmKJYss82rNCy
用區塊鏈瀏覽器查看這個地址的轉賬記錄:
www.blockchain.com/btc/address/1Q7f2rL2irjpvsKVys5W2cmKJYss82rNCy
你會看到:
大家注意,這里每次轉入和轉出幾乎都是發生在同時。這其實是有黑客寫了監控這個地址的自動程序,一旦有人用了這個腦錢包,并且一打錢進去,黑客的程序就會立即自動把錢轉走。
所以再強調一下,隨機性非常重要!一定要保證自己的私鑰是隨機生成的!
回到備份私鑰這個話題。除了腦錢包這種不靠譜的方式之外,還有一種現在被廣泛采用的備份方式叫做助記詞備份。
同樣的,也是在數字貨幣發展過程中,有一些天才程序員提出了助記詞的概念。其實這個概念也不復雜,就是他們創建了一個 2048 個詞的助記詞表。私鑰大家可以理解成一個很長的隨機數,我們可以把這個隨機數切分成幾段,每一段相當于是一個對應助記詞表中的一個詞(準確地說對應的是詞表中那個詞的序號)。這樣,大家就不用記憶長長的私鑰了,可以用一組助記詞來做記憶。這里助記詞跟私鑰之間其實是等價的。
同時,現在幾乎市面上所有的 HD 錢包或者硬件錢包,你在錢包內都看不到你的私鑰了,都是通過記錄助記詞的形式來做錢包的備份。
用過 HD 錢包的用戶可能記得,創建 HD 錢包的時候錢包內會展示一系列的助記詞然后叫你保存。如果手機出了問題,就另下載一個 HD 錢包,用助記詞恢復出你的錢包。于是你又能控制你的資產了。
所以,這里強調今天的第二個重要概念——如果用 HD 錢包或者硬件錢包的話,一定要好好保管你的助記詞!
第一個重要概念是——如果你是小白,就從一個云端錢包開始你的錢包之旅。
看來助記詞真的是非常重要!那如何安全保存助記詞?
首先,先告訴大家一定不要使用的方法!不要用任何形式保存在手機!不要截圖,不要保存在手機記事本,更不要上傳到云盤!如果你認真對待你的資產的話,不要保存在手機。手機里面的助記詞非常容易被竊取。
比較原始的保存方法,就是把助記詞抄在紙上,然后把紙片保存在安全的地方,比如保險箱。
更安全的方法是使用 Cobo 金鋼匣這樣的金屬助記板。再強調一下——如果你用 HD 錢包,一定要備份好助記詞,并且保存好。很多 HD 錢包都允許用戶不備份就直接使用,但大家不要怕麻煩,一定備份好!
可是,還有一個問題。前面說到助記詞存在手機里面不安全,但是 HD 錢包是把私鑰放在手里面做簽名,這樣就安全了嗎?
好問題!首先,HD 錢包保存私鑰,跟助記詞放在手機記事本,安全性是差很多的。因為 HD錢包 保存私鑰是保存在手機安全區。你可以理解成你的私鑰是跟你的指紋解鎖信息之類的保存在一塊兒。所以安全性上比相冊會高很多很多。
但是,相對于 HD 錢包,的確有更安全的方案——那就是硬件錢包。
硬件錢包有很多種,大家選擇硬件錢包一定要注意幾點:
1. 硬件錢包一定要用加密芯片。如果硬件錢包依舊是把私鑰放在系統的安全區,那其實跟你用軟件錢包沒有太大的區別。安全區容易遭受側信道攻擊,或者叫旁路攻擊。這里不展開了。
a. 加密芯片的好處是,隨機數也就是私鑰,不是算法隨機生成的。而是物理振蕩器隨機生成的。物理振蕩器生成隨機數或者私鑰,是被相關機構認證過的真隨機。HD 錢包都是用隨機算法實現的隨機,是一種偽隨機。這里可能會出現 bug 導致隨機性不足。歷史上也出現過因為算法隨機的隨機性不足,導致 HD錢包生成的私鑰被暴力試出來并發生資產被盜。再強調一下前面的知識點:因為私鑰的可能性足夠多(宇宙中原子的數量),所以是充分隨機選出來的私鑰,是不可能被暴力試出來。
a. 加密芯片的另外一個好處,是能夠抵御各種攻擊。比如手機安全區最怕的側信道攻擊或者旁路攻擊,冷啟動攻擊等。
硬件錢包一定要脫網。這里的脫網最好是真脫網。我們不建議大家使用用數據線或者藍牙或者 NFC 連接的硬件錢包。Cobo 金庫是通過二維碼與外界做數據交換。用戶可以驗證每一個二維碼里面都是合法信息,不會導致私鑰泄露等問題。