比特幣的私鑰【區塊鏈生存訓練】
投資比特幣,錢包和私鑰是非常重要的兩個概念,在這上面多花一些時間琢磨透是絕對值得的。千萬別忙忙活活幾個月,只因犯了一個低階錯誤,把買來的BTC拱手送人了。
我推薦新手一定要試試Bitcoin Core錢包,雖然這款錢包非常笨重,但非常適合理解比特幣和區塊鏈中的各種概念和基本原理。該軟體是一款全節點客戶端,當你同步完成了最新的交易資料後,斷網也可以執行。
加密錢包
安裝完Bitcoin Core錢包客戶端後,在接收第一筆BTC之前,一定要加密錢包,從“設定”選單中,找到“加密錢包...”,輸入密碼即可完成錢包加密的過程。務必牢記密碼、牢記密碼、牢記密碼,重要的事情說三遍,因為沒有取回密碼的選項。
背後原理:上述操作實際上是把你的wallet.dat錢包檔案用AES演算法(高階加密標準,Advanced Encryption Standard)進行了加密處理,這樣即使別人拿走了你的Wallet.dat檔案,沒有密碼也無法找到你的私鑰。
私鑰
比特幣裡的私鑰實際上是256位(32個位元組)的隨機數字,如果你認為機器產生的數還不夠隨機,可以自己扔上256次硬幣,正面為0,反面為1,生成的私鑰記為 k 。
私鑰經過非對稱加密處理,產生公鑰 K,因為是非對稱加密,所以無法從K反算出k。因為K還是太長、不容易辯認、可能還不夠安全,就又經過一次處理,變成了我們公佈給別人的比特幣地址A了。同樣,根據A,也不能反算出公鑰K,就更不能算出你的私鑰k了。
整個比特幣的安全體系就是建立這套加密演算法的基礎上的。
插圖摘自《精通比特幣》
進階操作
私鑰隱藏在錢包軟體中,你在支付比特幣時,需要輸入密碼,錢包軟體會自動把私鑰取出,進行數字簽名等操作,你根本看不見私鑰。如果很想看看私鑰長什麼樣子,可以這樣操作。
從“幫助”選單裡,開啟除錯視窗。
在控制檯視窗的底部的文字框中輸入這兩條命令,回車:
walletpassphrase "請換成你的錢包密碼" 60
dumpwallet wallet-priv.txt
這條命令中的60,表示密碼的過期時間,在60秒之內不用重複輸入密碼。
記住:在進行這些命令列操作時,千萬不要讓外人看到你的錢包密碼。如果操作正確,每個命令之後會返回null。再到Bitcoin Core的安裝資料夾下,可以找到wallet-priv.txt檔案,開啟後,內容是這樣的:
從第8行開始,左側的那一長串字元是私鑰,在addr=後面的是公開的比特幣地址。
看完這個wallet-priv.txt檔案之後,請把該檔案徹底刪除,以免落入外人之手。
小結:
- wallet.dat錢包一定要加密
- 牢記密碼
- 私鑰k產生公鑰K,再生成比特幣地址A
- dumpwallet可以匯出私鑰為文字檔案,如果你不知道正在幹什麼,就不要操作這條命令了