??????? 我們平常的錢包中平時裝的錢或卡,而比特幣錢包裝的是私鑰,并不是我們的比特幣。用戶用這些私鑰來簽名交易,從而證明它們擁有交易的輸出(也就是其中的比特幣)。比特幣是以交易輸出的形式來儲存在區塊鏈中。也就是我們常說的UTXO,UTXO是比特幣使用的基本單位,未經使用的交易輸出。
一。錢包分為非確定性(隨機)錢包和確定性(種子)錢包。現在分別介紹下。
非確定性(隨機)錢包
在早期的一批比特幣客戶端中,錢包就是一堆隨機生成的私鑰的集合,所以也叫隨機錢包,舉個例子,比特幣核心客戶端預先生成100個隨機私鑰,從最開始就生成足夠多的私鑰并且每把鑰匙只使用一次。這種類型的錢包還有一個昵稱“Just Bunch Of Keys”簡稱JBOK。所以這種錢包的缺點就很明顯,因為你必須保存它們所有的副本。所以這個錢包必須經常性備份。每一把鑰匙都要備份,否則一旦錢包不可訪問時,錢包所控制的資金就付之東流。而且也與避免地址重復使用的原則相沖突---每個比特幣地址只能用一次交易。所以雖然比特幣核心客戶端包含這種非確定性錢包,但核心開發者并不想鼓勵大家使用。這種錢包現在也逐步被確定性錢包替換。
確定性(種子)錢包
確定性錢包與非確定性錢包不同的是,確定性錢包存儲的私鑰是由一個稱為“種子”的數字通過一個稱為“單項離散方程”的算法得出的。這個種子是隨機生成的數字。這個數字含有比如索引號碼或者可生成私鑰的“鏈碼”。
在確定性錢包中,只要有這個種子,就可以找回所有已經產生的私鑰,所以只要在創建錢包時將種子進行備份就夠了。所以這個種子也相當重要。
分層確定性錢包:(the hierarchical deterministic wallet )也叫HD錢包。是通過BIP0032(比特幣改進協議)標準生成的。這種錢包類似樹狀結構,有不同的分支,這種不同的分支可以被用在企業環境中,它讓你可以控制你的組織里誰可以控制哪些密鑰,和一個商業組織的組織結構類似。你也可以給你的組織里的每個分支部門創建密鑰,把私鑰交給這個分支部門,這個部門就可以花它的分支上的幣,而你,因為有主私鑰,所以你可以看到并花費整個樹上的幣。另一個好處就是離線存儲更安全。這是所有確定性錢包的好處,最重要的是你可以在不同交易中發行不同的密鑰地址。因為你可以通過種子分成不同分支的密鑰。
二.既然錢包是存儲私鑰的。所以只要是存儲比特幣私鑰的地方就可以稱為錢包。按存儲方式來分的話。可以分為:PC端錢包,移動端錢包,WEB錢包,硬件錢包,腦錢包和紙錢包。
PC端錢包:安裝在PC電腦上的錢包,完整的比特幣核心錢包需要同步區塊數據,對普通用戶不適用;有些其他的輕量級的錢包將區塊數據放在服務器上,保證了錢包的快速和簡單。
移動端錢包:安裝在手機上的錢包,從而可以隨身攜帶,這樣就可以方便在某些商店掃描二維碼或NFC來花費比特幣。所以這種錢包非常快捷方便的。
WEB錢包:這種錢包是以網頁形式展示給用戶的,目前比特幣交易所都內嵌了一個錢包的功能。
硬件錢包:硬件錢包可以理解成一種類似銀行U盾的東西或者是一個U盤。是采用硬件的方式存儲私鑰和驗證交易的。
腦錢包:因為怕丟失私鑰,所以記在了腦子里。
紙錢包:將私鑰記在紙上進行保管的方式。這張紙就是紙錢包了。
三.另外根據存儲介質的不同還可以分為冷錢包和熱錢包。
冷錢包就是像腦錢包和紙錢包這種不需要存儲在在線系統上的錢包。反之就是熱錢包了。
區塊鏈研習社比特幣源碼研讀班,black