《精通比特幣》學習:搞清楚公鑰私鑰、密鑰、地址、錢包

今天學習主要搞清楚有關密鑰、地址、錢包這幾個在比特幣網絡中經常出現的概念。

1、比特幣的所有權是通過數字密鑰、比特幣地址和數字簽名來確立的。——數字資產確權

2、密鑰相當於是你管理和控制比特幣的鑰匙,誰擁有密鑰就擁有打開這個比特幣寶庫的權力,誰就是這個寶庫的擁有者。密鑰由公鑰和私鑰組成,公鑰就像銀行的賬號,而私鑰就像控制賬戶的PIN碼或支票的簽名。

3、密鑰很重要,所以並不保存在網絡中,而是用戶自己存儲在一個文件或者本地數據庫中,就是錢包。錢包的用戶感知個人理解就是前面所介紹過的錢包客戶端,密鑰的生成和管理由錢包客戶端自動完成。

4、比特幣的用戶很少直接看到密鑰,密鑰由比特幣錢包軟件存儲和管理。但是當別人支付比特幣給你的時候,對方支付到哪裡去呢?實際上你給到對方的是一個比特幣地址,比特幣地址由公鑰通過哈希計算得出,而且是不可逆的,意思是可以由公鑰哈希計算出地址,但不能由地址反推得出公鑰。你的朋友就可以支付比特幣到你的這個地址。注意一個用戶可以擁有多個比特幣地址,這樣可以解決賬號隱私的問題,如果你是一個美女,總是有一個帥哥轉賬給你,讓所有人都知道就不好意思了,你就可以經常更換地址。

5、每個密鑰對包括一個私鑰和一個公鑰。私鑰就是一個隨機選出的256位的數字(應該是二進制數字),比如你可以拿一枚硬幣來拋,正面代表1,反面代表0,拋256次,把每次的結果記錄下來形成的256個數字組合就可以做成私鑰。私鑰用於生成支付比特幣所必需的簽名以證明資金的所有權。私鑰必須始終保持機密,因為一旦被洩露給第三方,相當於該私鑰保護之下的比特幣也拱手相讓了。私鑰還必須進行備份,以防意外丟失,因為私鑰一旦丟失就難以復原,其所保護的比特幣也將永遠丟失。

6、公鑰是採用橢圓曲線算法,以私鑰為基礎計算出來的,計算過程是單向不可逆的,就是說可以通過私鑰算出公鑰,不可以通過公鑰算出私鑰,結合之前的描述,私鑰,公鑰,比特幣地址的關係可以表達為下圖。

《精通比特幣》學習:搞清楚公鑰私鑰、密鑰、地址、錢包

私鑰公鑰和比特幣地址衍生關係

備註:橢圓曲線加密法是一種基於離散對數問題的非對稱(或公鑰)加密法,可以用對橢圓曲線上的點進行加法或乘法運算來表達。更多細節就不展開了,有興趣可以百度查閱詳細資料。

7、另外一種製作私鑰的途徑是 確定性密鑰生成。你可以用原先的私鑰,通過單向哈希函數來生成每一個新的私鑰,並將新生成的密鑰按順序連接。只要你可以重新創建這個序列,你只需要第一個私鑰(稱作種子、主私鑰)來生成它們。比特幣錢包只包含私鑰而不是比特幣,一個用戶錢包包含多個私鑰,用戶用這些私鑰來簽名交易,以證明他們擁有交易的輸出(交易輸出相關內容見第一篇學習筆記)。比特幣是存儲在區塊鏈中的,以交易輸出的形式。


分享到:


相關文章: