位元幣位址 錢包

2021-09-05 11:11:06 字數 1073 閱讀 1116

私鑰必須保密。私鑰的機密性需求事實情況是,在實踐中相當難以實現,因為該需求與同樣重要的安全物件可用性相互矛盾。當你需要為了避免私鑰丟失而儲存備份時,會發現維護私鑰私密性是一件相當困難的事情。通過密碼加密內有私鑰的錢包可能要安全一點,但那個錢包也需要備份。有時,例如使用者因為要公升級或重灌錢包軟體,而需要把金鑰從乙個錢包轉移到另乙個。私鑰備份也可能需要儲存在紙張上(參見「4.5.4 紙錢包」一節)或者外部儲存介質裡,比如u盤。但如果一旦備份檔案失竊或丟失呢?這些矛盾的安全目標推進了便攜、方便、可以被眾多不同錢包和位元幣客戶端理解的加密私鑰標準bip0038的出台。

bip0038提出了乙個通用標準,使用乙個口令加密私鑰並使用base58check對加密的私鑰進行編碼,這樣加密的私鑰就可以安全地儲存在備份介質裡,安全地在錢包間傳輸,保持金鑰在任何可能被暴露情況下的安全性。這個加密標準使用了aes,這個標準由nist建立,並廣泛應用於商業和軍事應用的資料加密。

我們知道位元幣協議的區塊鏈實際上是對交易的維護而不是對賬戶的維護,交易資料本身並不需要私鑰,因此對公鑰的封裝也就是位址就顯得格外重要,需要兼顧安全,效率和擴充套件。

公式中,k是公鑰,a是生成的位元幣位址。位元幣位址與公鑰不同。位元幣位址是由公鑰經過單向的雜湊函式生成的

以公鑰 k 為輸入,計算其sha256雜湊值,並以此結果計算ripemd160 雜湊值,得到乙個長度為160位元(20位元組)的數字後進行base58check編碼即可得到位元幣位址。從編碼資料結構的視角看,是下圖:

需要注意的是,從位址已經無法反推公鑰資訊,因此,需要將私鑰以及對應的公鑰、位址一起儲存。

位元幣錢包要解決的核心問題是私鑰管理,早期的方式是隨機生成私鑰池並一次一密,這當然是安全性很高的方案。但是對儲存,匯入匯出備份帶來了極大的挑戰,畢竟私鑰丟了誰也沒有辦法。改進的私鑰管理辦法將私鑰鏈式管理起來了,見下圖:

生成鏈式結構的過程如下:

位元幣的金鑰 位址 錢包

特幣的所有權是通過數字金鑰 特幣位址和數字簽名來確 的。數字金鑰實際上並不是儲存在 絡中,是由 成 並儲存在 個 件或簡單的資料庫中,稱為錢包。儲存在 錢包中的數字金鑰完全獨 於 特幣協議,可由 的錢包軟 件 成並管理,需區塊鏈或 絡連線。金鑰實現了 特幣的許多有趣特性,包括去中 化信任和控制 所有...

位元幣錢包 密碼 位址的關係

錢包是我們用來生產私鑰和位址 管理私鑰和位址 接收和傳送位元幣的工具。私鑰就類似於銀行賬戶密碼 位址就類似於銀行賬號。錢包來生成位元幣私鑰和位址的,它的生成過程本質上是計算乙個隨機數。位元幣的所有權是通過私鑰和位址來確立的。錢包位址的生成過程 私鑰 生成公鑰 生成公鑰 生成錢包位址 由於位元幣是去中...

位元幣挖礦 錢包

1 安裝 plain view plain copy apt get install bitcoind 2 修改配置檔案 plain view plain copy vi bitcoin.conf 內容如下 rpcuser abc rpcpassword 123 server 1 rpcallowi...