當前位置:首頁 > 知識 >

聊聊錢包、私匙、公匙和地址?

自從比特幣誕生伊始,與此相關的私鑰、公鑰、地址等名詞概念就不斷出現在大眾眼前,那麼這四個概念之間是什麼樣的關係呢?今天就給大家簡單聊一些相關的專業名詞和背後的邏輯。

1 這些名詞的關係是什麼樣的?

如果用一句話說明這幾個名詞的關係,那就是: 錢包生成私鑰 →森塵枯 私鑰生成公鑰 → 公鑰生成公鑰哈希 → 公鑰哈希生成地址 → 地址用來接受比特幣 ,簡單吧,能聽懂吧。

2 這幾個名詞究竟是什麼東西?

還是一句話概括, 除了錢包是軟件以外,剩下的四個都是長度不一的字符串 ,比如私鑰是52位的字符串,地址是34位的字符串。

3 這四個字符串分別從哪裏來的?

私鑰 由錢包軟件隨機生成,隨後用密碼算法生成公鑰和地址,如果用等式表示的話,可寫成如下形式:

公鑰=算法1(私鑰)

公鑰哈希=算法2(公鑰)

地址=算法3(公鑰哈希)

所以, 地址此洞 =算法3(算法2(算法1(私鑰兄慧)))

其中,算法1,算法2,算法3都是公開的算法。

4 這幾個字符串哪個必須保密,哪個可以公開?

私鑰絕對不能公開 ,因為有了它本質上就取得了對應比特幣的所有權。

地址可以公開 ,因為它是用來接受比特幣的, 公鑰和公鑰哈希也可以公開 ,不過一般情況下你看不到。

5 為什麼地址和公鑰可以公開?

因為 即使被別人知道了地址和公鑰,對方也推算不出你的私鑰,也就掌握不了你的比特幣 。

為什麼推算不出?

舉個例子。電影《模仿遊戲》中,英軍即使在得到了engima密碼機(算法)後仍然無法破解德軍的密碼,原因就是德軍每次發信息都會用一個新的口令(私鑰)作為起始點。在不知道口令的前提下,進行反向暴力破解大概需要幾千萬年,不過最後因為刻板的德國人每次都用同一個口令作為起點,而這個口令還是自然語言,導致密碼被破解。

所以,每次交易的時候才會要求生成一個新的私鑰,然後得到一個新的地址,這樣你的交易安全性就有了很大的保障。

6 做自己開心的事

從上麵的描述我們可以推出,私鑰的本質是一個複雜數學問題的解,當有人向公開地址發送比特幣時,其實是在向全網所有比特幣客戶端發出了一道數學題,而這道題目的正確解,就是你的私鑰。因為那道題是用你的私鑰生成的呀,所以隻有你能在第一時間回答出答案,於是比特幣就歸你了,因此 私鑰千萬不能告訴別人。

如何找到私鑰並妥善保管?

在bitcoin-qt軟件中,進入windows debug或者調試窗口,在命令行下輸入 getaddressbyaccount 命令可以查看所有已經生成的錢包地址。選取其中一個地址,然後用 dumpprivkey “地址”命令就能看到私鑰了(54位字符串)。

下圖是用getaddressbyaccount “”命令查看地址列表,用dumpprivkey查看私鑰的截圖,注意第一張圖中由於錢包是加密的,所以直接打dumpprivkey命令是看不到私鑰的。

輸入錢包密碼後才能用dumpprivkey命令看到私鑰。

剛已經說了私鑰非常的重要,它是真正決定比特幣歸誰的證明。私鑰在bitcoin-qt客戶端裏,實際上是存在於一個叫wallet.dat的文件裏的,而且剛安裝的bitcoin-qt客戶端是不設密碼的。萬一電腦落入不法分子手中或被黑客攻擊,導致私鑰丟失,就狠尷尬了,所以一定要設置密碼,且密碼一定要遵守隨機複雜大小寫字符數字都有的規則。建議用專門的密碼生成軟件生成,關於密碼軟件,找機會專門說一下。

特別注意,千萬千萬千萬記住了,一定不要把密碼給忘了!因為你 忘了密碼就打不開錢包 wallet.dat 文件了,也就找不到私鑰了 ,然後,就沒有然後了。

我就發生過剛開始倒騰錢包把密碼搞錯了,然後打不開錢包的尷尬,最後隻好怒刪wallet.dat文件,讓係統再自己生成一個,這時候的感覺大約相當於把一筆錢埋在了宇宙某顆星球上,然後把坐標圖搞丟了,因為比特世界隻認私鑰不認身份證,你掉了就是掉了,再也找不回來了。

不過正因為比特幣的所有權是依靠私鑰確認的,也就有個最狠的保存辦法,老貓也提過,那就是,找到私鑰後記在紙上,然後把紙鎖在保險櫃裏,或者幹脆記在腦子裏,不過54位的字符串誰特麼能記住?然後把電腦上的客戶端連同錢包文件一起刪除。

好了,關於錢包客戶端,大概就說這些吧,相關知識我也是剛開始了解,隨著了解信息的增加,可能會有更新的認識,到時候會再寫出來。

千萬注意,千萬注意,千萬注意不要搞丟了私鑰。

猜你喜歡

微信二維碼

微信二維碼