一、引言
比特幣錢包與傳統貨幣的錢包類似,允許用戶安全地管理比特幣資產,是一種用於存儲和接收比特幣的工具。本文章將圍繞比特錢包展開進行討論。
二、比特幣錢包介紹
比特幣錢包用於存儲發送和接收比特幣的工具,類似於傳統的錢包但不是實體的物品,是一個數字檔。比特幣錢包中會包含一對密鑰也就是公鑰和私鑰。兩個密鑰的作用截然不同,公鑰用於接收比特幣的支付地址,私鑰是訪問和控制比特幣的關鍵。比特幣錢包使用時很方便的,那麼它是由什麼技術達成的呢?
三、比特幣錢包技術
比特幣的錢包技術已經基本成熟,甚至出現了一些常見的行業標準,使得比特幣錢包具備廣泛互操作,易於使用,安全和靈活的特性。這些常用的標準是:助記碼,基於BIP-39;HD錢包,基於BIP-32;多用途HD錢包結構,基於BIP-43;多幣種和多帳戶錢包,基於BIP-44。
關於比特幣的錢包標準可能會隨著發展而改變或過時,但是它形成了一套互鎖技術,而這技術已成為比特幣的事實上的錢包標準。這些標準已被廣泛的軟體和硬體比特幣錢包採用,使所有這些錢包互相操作。用戶可以導出在其中一個錢包上生成的助記符,並將其導入進另一個錢包,恢復所有交易、密鑰和地址。通過技術方面的完善,錢包的種類也豐富了起來。
四、比特幣錢包的種類及功能
截止到現在,錢包種類包含:簽名錢包、離線錢包、硬體錢包、分發錢包、軟體錢包、線上錢包
(1)簽名錢包
簽名錢包中的私鑰可以保存在一個在更安全環境中的單獨的錢包程式中來提高安全性,這些簽名錢包和可以與peer-to-peer網路交互的聯網錢包配合使用。它通常由確定性密鑰(deterministic key)創建,用來創建可以生成子公私鑰的父公私鑰。第一次運行時,簽名錢包創建一個父私鑰,並將對應的公鑰傳輸給聯網錢包。聯網錢包使用父公鑰派生出子公鑰,幫助分發他們(可選的),監控支付給這些公鑰的outputs,創建沒有簽名的支付交易,並把沒有簽名的支付交易傳輸給簽名錢包。
(2)離線錢包
離線錢包的幾個full-service wallets可以當作兩個獨立的錢包使用:一個程式實例當作簽名錢包(通常稱為“離線錢包”),另一個程式實例當作聯網錢包(通常稱作線上錢包或者監控錢包)。它在不聯網的設備上運行,減少供給量。
離線錢包優點在於同完整功能的錢包相比,大大的提告了安全性。只要脫機錢包沒有被破壞(或者有缺陷),用戶在簽名之前會檢查所有支付的交易,即使線上錢包被破壞,用戶的比特幣也是安全的。
離線錢包缺點是麻煩,為了最大的安全性,要求用戶必須離線操作。任何時候要支付比特幣,都必須啟動離線設備,用戶必須從線上設備物理拷貝數據到離線設備並再從離線設備拷貝數據回線上設備。
(3)硬體錢包
硬體錢包是一種硬體設備,通常採用 USB 介面,用戶可以存儲自己的數字貨幣和私鑰。由於比特幣是一種去中心化的貨幣,而錢包是唯一的授權和訪問的工具,所以硬體錢包通常被認為是最安全的一種錢包。它們不僅很難被駭客攻破,更難以被病毒、惡意軟體等攻擊。
(4)分發錢包
分發錢包的運行在很難保證安全的環境中(比如web伺服器)的錢包程式,只能設計成分發公鑰而不能有其他功能。有兩種常見的設計方法:1、把大量的公鑰或者地址保存到資料庫中,然後根據請求分發一條資料庫內的條目比如一個公鑰或者地址。為了避免重複使用密鑰,web伺服器應該追蹤使用過的密鑰,並且永遠不要用盡資料庫中的公鑰。2、使用父公鑰創建子公鑰。為了避免重複使用密鑰,必須使用一種方法確保一個公鑰不會被分發兩次。
(5)軟體錢包
軟體錢包是運行在用戶的電腦或智能手機上的應用程式。用戶可以下載錢包軟體並進行設置,可以存儲私鑰和數字貨幣。軟體錢包的安全性通常比線上錢包略高,但仍存在一定程度的虛擬攻擊風險。
(6)線上錢包
線上錢包是由第三方提供和維護的服務,用戶不需要將數字貨幣和私鑰存儲在自己的設備上,而是將其儲存在雲端伺服器上。這使得比特幣更加便攜和易於訪問,但由於需要信任第三方企業,因此線上錢包的安全性存在風險。
五、小結
錢包首要要求是安全,但是世界上沒有絕對的安全。絕對的安全意味著絕對的高成本和絕對的不好用。絕對的安全是沒有必要的,用戶選擇錢包需要的是滿足自己需求的相對安全。同一類錢包中的不同產品,差異也是很大。需要用戶在感興趣的產品中親自試用一番,切身感受一下哪種錢包更加適合自己。