私鑰必須保密。私鑰的機密性需求事實情況是,在實踐中相當難以實現,因為該需求與同樣重要的安全對象可用性相互矛盾。當你需要為了避免私鑰丟失而存儲備份時,會發現維護私鑰私密性是一件相當困難的事情。通過密碼加密內有私鑰的錢包可能要安全一點,但那個錢包也需要備份。有時,例如用戶因為要升級或重裝錢包軟件,而需要把密鑰從一個錢包轉移到另一個。私鑰備份也可能需要存儲在紙張上(參見“ 紙錢包”一節)或者外部存儲介質里,比如 U 盤。但如果一旦備份文件失竊或丟失呢?這些矛盾的安全目標推進了便攜、方便、可以被眾多不同錢包和比特幣客戶端理解的加密私鑰標準 BIP0038 的出臺。
BIP0038 提出了一個通用標準,使用一個口令加密私鑰并使用 base58Check 對加密的私鑰進行編碼,這樣加密的私鑰就可以安全地保存在備份介質里,安全地
在錢包間傳輸,保持密鑰在任何可能被暴露情況下的安全性。這個加密標準使用
了 AES,這個標準由 NIST 建立,并廣泛應用于商業和軍事應用的數據加密。
BIP0038 加密方案是:輸入一個比特幣私鑰,通常使用 WIF 編碼過,base58chek字符串的前綴“5”。此外 BIP0038 加密方案需要一個長密碼作為口令,通常由多個單詞或一段復雜的數字字母字符串組成。BIP0038 加密方案的結果是一個由base58check 編碼過的加密私鑰,前綴為 6P。如果你看到一個 6P 開頭的的密鑰,這就意味著該密鑰是被加密過,并需要一個口令來轉換(解碼)該密鑰回到可被用在任何錢包 WIT 格式的私鑰(前綴為 5)。許多錢包 APP 現在能夠識別BIP0038 加密過的私鑰,會要求用戶提供口令解碼并導入密鑰。第三方 APP,諸如非常好用基于瀏覽器的 Bit Address,可以被用來解碼 BIP00038 的密鑰。最通常使用 BIP0038 加密的密鑰用例是紙錢包——一張紙張上備份私鑰。只要用戶選擇了強口令,使用 BIP0038 加密的私鑰紙錢包就無比的安全,是一種很棒的線下比特幣存儲途徑(也被稱作“冷庫”)。
在 bitaddress.org 上測試表 4-10 中加密密鑰,看看你如何得到輸入口令的加密
密鑰。
BIP0038 加密私鑰例子
私鑰(WIF
密碼 MyTestPassphrase
加密私鑰(BIP0038)
6PRTHL6mWa48xSopbU1cKrVjpKbBZxcLRRCdctLJ3z5yxE87M
obKoXdTsJ








