原文標題:《小科普:密碼賬戶是什麼》
原文來源:bitpieteam
一、什麼是密碼賬戶?
隨着助記詞錢包的普及,幾乎人人都知道了「助記詞是掌控自己資產的唯一方式」。助記詞賬戶大家已經是非常熟悉了,那什麼是密碼賬戶呢?
密碼賬戶,是助記詞賬戶在應用上的一種延伸。
在常見的助記詞賬戶裏,
我們都知道,如果你的 12 個助記詞不小心泄漏了。對方可以直接把你的資產恢復並且轉走。
而在密碼賬戶裏,
即使你的助記詞不小心泄露了,如果對方無法獲得你的自定義密碼,他依然無法恢復你的真正賬戶,也就對你的資產束手無策。
在助記詞賬戶裏,12 個助記詞=掌控資產
而在密碼賬戶裏,12 個助記詞+自定義密碼=掌控資產
舉個例子:派派我有一個賬戶,助記詞是:
fruit blanket abuse detail
pattern dinosaur monkey loop
coast abstract tortoise blind
(錯誤示範,請勿模仿,助記詞一定要私密的保管好)
如果這是一個普通的助記詞賬戶,你得到了這 12 個單詞,就可以把這個賬戶上的資產都轉走。
但是派派我既然敢把助記詞放出來,就保證你絕對轉不走!
這當然是因爲(我沒錢)我開啓了密碼賬戶。
在你不知道我自定義密碼的情況下,你是拿我一點辦法也沒有的。
當然,除非你知道了上面的助記詞,並且又千方百計地從我嘴裏套出了我的自定義密碼是:piepiezuishuai
那麼你纔能有權限動用賬戶的資產。
*BITHD 密碼賬戶功能
二、密碼賬戶的技術原理是什麼?
我們先來白話科普一遍普通助記詞賬戶的原理,12 個助記詞也叫種子,我們把種子通過哈希運算,以及根據 BIP 協議調整不同幣種的參數來就可以計算出不同幣種的私鑰和地址。
密碼賬戶其實跟助記詞的賬戶的原理幾乎一模一樣,唯一的變動是把 12 個單詞+自定義密碼看作是種子,然後完成計算。
換一種思維更好理解,普通助記詞賬戶其實可以看成是「自定義密碼爲空的密碼賬戶」
附上一段代碼,新手可直接無視
seed = 'one two three four five six seven eight nine ten eleven twelve'
m = BIP32Key.fromEntropy(Mnemonic.to_seed(seed))
master_xprv = m.ExtendedKey(private=True, encoded=True)
m = m.ChildKey(44 + BIP32_HARDEN)
m = m.ChildKey(0 + BIP32_HARDEN)
m = m.ChildKey(0 + BIP32_HARDEN)
m0 = m.ChildKey(0)
for x in xrange(20):
t = m0.ChildKey(x)
print 'Address:' + t.Address()
print 'Private Key:' + t.WalletImportFormat()
(這是我們在幾年前做科普時寫的幾行 Python 代碼,有代碼基礎的小夥伴基本一眼就能看懂了)
三、密碼賬戶能有多安全?
在當今這個「看到陌生的 12 個單詞就忍不住往錢包裏輸的年代」密碼賬戶的出現尤爲重要。
儘管所有的錢包商、業內的 KOL 都在不停地進行科普:助記詞一定要離線存儲,可還是會有很多懵懂的用戶,會把助記詞不小心保存在雲盤上、郵箱裏。黑客在獲取到他的雲盤郵箱登錄權限後,可以很輕鬆的轉移助記詞上的資產,而如果你此時用的一個密碼賬戶,黑客恢復你賬戶後,發現沒有資產,你也就躲過了一截。
再舉一個例子,假如你的助記詞是老老實實抄寫在小本本上的,做到了離線存儲。但是有一天,你不在家的時候,隔壁老王去你家做客(就是單純的去看你助記詞的,你別多想),他悄悄把你助記詞拍照帶走,在用錢包恢復助記詞之後,發現賬戶上根本沒有任何資產,他除了可能會罵你窮鬼之外,你不會有任何(資產上的)損失。
還有一個小技巧,你在啓用了密碼賬戶之後,還可以在 12 個助記詞對應的普通助記詞賬戶上存一丟丟的幣,可以把它僞裝成「普通賬戶」,而實際上它是替你監控的「哨兵賬戶」,如果哪天發現普通賬戶上面的幣丟了,那就說明您的助記詞泄露了,您可以換一套助記詞,然後把密碼賬戶裏的大額資產轉到新的密碼賬戶裏,萬無一失。在這個方案中,哨兵賬戶就可以起到助記詞安全的預警作用。
啓用了密碼賬戶之後,不帶密碼的那個普通助記詞賬戶您可以把它當成是「哨兵賬戶」來使用,也就是說,在上面存一點點幣,如果哪天發現上面的幣丟了,那就說明您的助記詞泄露了,您可以換一套助記詞,然後把密碼賬戶裏的大額資產轉到新的賬戶裏,確保安全。在這個方案中,哨兵賬戶就可以起到助記詞安全的預警作用。
總之,默默保存好的密碼,密碼賬戶吊打一切花裏胡哨的攻擊。
四、怎樣開啓密碼賬戶?
把 BITHD 硬件錢包連接比特派 APP,在 BITHD 設置裏開始密碼賬戶。
2、千萬不要把密碼賬戶的助記詞和密碼備份在一起。
3、密碼賬戶支持 6-53 位的密碼(數字、大小寫字母、部分特殊字符)密碼的設置一定不要太簡單,當然過於複雜也有可能忘記,這個自己衡量吧,我傾向使用 piepiezuishuai 這種既好記又忘不掉的密碼。
4、目前除了 BITHD 之外,還有部分錢包比如 Trezor 等支持密碼賬戶的恢復,我們後面會在比特派裏添加恢復的入口以及會開源【密碼賬戶助記詞+自定義密碼 轉換成 普通助記詞】的工具,以便大家在特殊情況可以更快的恢復密碼賬戶裏的資產。
5、一定要用開源錢包內的密碼賬戶功能,如果是 BITHD 就再好不過啦。瞭解了密碼賬戶的原理之後,您就應該能理解爲什麼我們一直強調「開源」是硬件錢包的前提條件了,因爲經常有一些傳統廠商會去宣傳「安全芯片」之類的概念,但其實密碼賬戶就已經能夠完美的解決物理攻擊(也就是助記詞被盜)的問題了,僅僅是爲了這一點而放棄開源這一前提,對於硬件錢包架構來說邏輯上是說不過去的。
來源鏈接:weixin.qq.com
歡迎加入律動 BlockBeats 官方社群:
Telegram 訂閱群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方帳號:https://twitter.com/BlockBeatsAsia