比特幣錢包詳解

買賣虛擬貨幣

作者:比太錢包CEO文浩

對於一個新進入比特幣世界的人來說,瞭解比特幣的基本原理、甚至讀懂中本聰的白皮書可能都算不上“難”,但要搞明白比特幣錢包,那可就真難了。官方 比特幣錢包、輕錢包、手機錢包、線上錢包、紙錢包、腦錢包、硬體錢包、多重簽名錢包、HD錢包......這一大堆亂七八糟的到底都是些什麼?再加上這段 時間被業內人士經常提及的ON-CHAIN錢包、OFF-CHAIN錢包,OMG,還能再複雜點兒不?

那麼,到底什麼是比特幣錢包呢?顧名思義,比特幣錢包就是儲存和使用比特幣的工具,定義本身清晰而簡單,只不過是被大家搞複雜了而已。今天,我將透過這篇文章,儘可能的讓“比特幣錢包”迴歸簡單。

三個基本概念:私鑰、公鑰和地址

繼續本文之前,我們需要了解比特幣的三個最為基本的概念:私鑰、公鑰和地址。關於這三個概念,已經有很多文章專業的從密碼學等領域進行過剖析,在這裡我就不再贅述了,我將盡可能的用通俗易懂的語言給大家說說。


私鑰(private key)

聽起來很高階,其實就是個隨機數(概率空間為2^256,注:私鑰的範圍其實要小於這個數),我們一般會用計算機來生成這個隨機數(生成過程被稱為 “密碼學安全的偽隨機數生成器PRNG”)。你可以想象著比特幣世界裡有2^256個抽屜,隨便抽出一個抽屜來存放比特幣,抽屜的編號就是私鑰,因為只有 你知道這個編號,所以也就只有你才能花費這個抽屜裡的比特幣,這很簡單。

公鑰(public key)

公鑰與私鑰一一對應,是由私鑰推算出來的(透過橢圓曲線演算法),我們花費比特幣的過程其實就是“使用私鑰來簽名比特幣交易,其他人則可以使用公鑰來驗證籤 名,驗證透過,花費也就完成了”。私鑰能推算出公鑰,但公鑰不能反推出私鑰,該過程是不可逆的,這就是比特幣的密碼學根基。

地址(bitcoin address)

地址是由公鑰轉換而來(摘要+校驗),地址被用於接收比特幣(公鑰其實也可以收幣,只不過大部分人不這麼做而已),一個地址上收到比特幣後,只有使用該地址所對應的私鑰才能花費這個地址上的錢。

好了,從上面的論述中,你就能看出,對於比特幣來說,最重要的就是私鑰,私鑰決定了比特幣的產權歸屬,公鑰和地址均能透過私鑰推算出來,因此通常意義上的比特幣安全其實就是私鑰的安全,一個比特幣錢包是不是安全的也要看它能否安全的管理私鑰。

比特幣錢包的分類

現在,在瞭解了這些內容之後,我們終於可以開始對比特幣錢包分類了(我們應該進行正確的分類,而不是本文最開始的那種含混不清的分類方式),分類的依據就是根據私鑰的管理方式。

按私鑰生成的方式分,我們可以將比特幣錢包分為兩類:

1、使用密碼學安全的偽隨機數生成器(PRNG)生成私鑰的錢包:由於真隨機數生成器需要採集環境中的熵,需要額外的“成本”,主要的比特幣錢包都採用了 密碼學安全的偽隨機數生成器來產生私鑰,無論是電腦端的Bitcoin-core(之前被稱為Bitcoin-qt)、MultiBit、Armory, 手機端的Bitcoin-Wallet,還是諸如Blockchain.info這樣的線上錢包,都要依賴於核心態或應用態的偽隨機數生成器,這些隨機數 生成器被確認為密碼學安全的,我們基本上可以放心使用。由於應用態隨機數生成器通常要基於核心態的進行更高階別的封裝,而這種封裝往往有可能會引入新的問 題,總體來講,核心態的要更安全一些。歷史上很多次隨機數問題(比特幣相關的、無關的)基本上都發生在應用態的隨機數生成器上,因此,安全專家通常會建議 開發者使用核心態的隨機數生成器。(這部分內容可參閱我之前寫過的一篇關於隨機的文章 http://blog.sina.com.cn/s/blog_12ce70a430102uxhx.html )

2、使用真隨機數生成器(TRNG)生成私鑰的錢包:受“成本”和使用者體驗方面的限制,當前我只見過兩種採用真隨機數生成私鑰的錢包解決方案,一種就是在 電腦端採集使用者滑鼠和鍵盤操作的BitAddress網頁程式(可離線執行生成私鑰),另一種則是比太錢包的極隨機(XRANDOM)解決方案。由於智慧 手機的感應裝置非常多(如:相機、麥克風、重力感應、地磁感應、光線感應等),能夠採集豐富的、高品質的環境噪聲(熵),這使得廉價的、方便的真隨機數解 決方案成為可能,在這一點上,我們必須得感謝移動網際網路的高速發展。

毫無疑問,以隨機的角度來看比特幣安全性,“真隨機”優於“核心態偽隨機”,更優於“應用態偽隨機”。

按私鑰的儲存方式來劃分,我們同樣也可以將比特幣錢包分為兩類:

1、冷錢包:冷即離線、斷網,也就是說私鑰儲存的位置不能被網路所訪問(無論是否對私鑰進行了加密),既有在“冷”電 腦上儲存私鑰的錢包如Armory,也有在“冷”手機上存放私鑰的錢包如比太冷錢包,還有將私鑰列印或手抄在紙張上的紙錢包,以及設計專門硬體來單獨儲存 私鑰的硬體錢包(這裡要特別說明一下,Trezor的私鑰備份好像是儲存在專門的網站上,如果真是這樣,那它從嚴格意義上講其實並不能算是冷錢包)。

冷錢包通常意味著私鑰與交易的分離(因為交易是在比特幣P2P網路上傳播的,不分離則無法做到私鑰和網路的隔離),如果需要監控和花費上面的比特幣資產, 則需要額外的輔助手段,無論這種手段是去中心化的、還是中心化的,都不影響“冷”這個本質。比如說,如果要花費Armory冷錢包上的比特幣,需要透過U 盤複製檔案的方式來在冷熱錢包間進行通訊;如果要花費比太冷錢包上的比特幣,則需要在比太冷熱錢包間透過掃描二維碼來完成交易的簽名和釋出;對於紙錢包來 說,可能需要將私鑰匯入到其它錢包中,再開始使用,不過在完成私鑰匯入之後,該私鑰就可能不能再算是“冷”的了。

2、熱錢包:熱即聯網,也就是私鑰儲存在能被網路訪問的位置(無論是否對私鑰進行了加密),比如在“熱”電腦上儲存私 鑰的Bitcoin-core、MultiBit等(私鑰與交易在一起),在“熱”手機上儲存私鑰的Bitcoin-Wallet(私鑰與交易在一起)和 比太熱錢包,以及在網站上儲存加密後私鑰的Blockchain.info等線上錢包。雖然這些錢包從技術的實現方式有很大差別,比如Bitcoin- core是完整節點的錢包,需要同步全部的區塊鏈資料;MultiBit、Bitcoin-Wallet和比太熱錢包則是SPV輕錢包,只需快取部分割槽塊 鏈的頭,並且只儲存與本錢包相關的交易;Blockchain.info則是中心化的線上錢包網站,由於錢包內的相關交易可直接從網站獲得,無需進行區塊 鏈同步。雖然有著實現方式上的不同,而且會導致安全性和易用性上的差異,但從私鑰的儲存方式上來看,它們都屬於熱錢包的類別。

從安全的角度,冷優於熱,但從易用的角度,熱顯然優於冷,到底該如何選擇錢包,就需要使用者自己在易用與安全之間尋找平衡,挑選滿足自己需求的比特幣錢包了。

透過上面的討論,我們可以給挑選比特幣錢包的使用者提出如下建議(這些建議對於個人和企業均有效):

1、隨機數很重要,甚至可以說,隨機數是比特幣密碼學安全之本,短短几年的比特幣歷史中,有過多次因隨機數問題導致的損失,切不可掉以輕心;

2、用於日常支付的小額比特幣可以儲存在熱錢包地址上,熱錢包的安全要依賴於其執行的環境,比如電腦錢包要依賴於電腦作業系統(Windows、 Linux、MacOS等)的安全,手機錢包要依賴於移動作業系統(iOS、Android等)的安全,線上錢包除依賴於作業系統的安全外,還要依賴於瀏 覽器的安全。保護熱錢包,其實就是保護其執行環境,防止木馬、病毒、駭客入侵和釣魚郵件,使用者可綜合考慮選擇滿足自己需求的熱錢包;

3、大額比特幣應儲存在冷錢包地址上,確保安全,並且應考慮適當的監控和驗證方案;

4、私鑰應該進行合理的備份,對於冷錢包來說,如果儲存的幣量大,甚至還應考慮異地災備,以確保即便是在特殊情況發生時,比特幣資產仍然安全(當看到有比特幣礦工因火災或其它災難丟失大額比特幣資產的新聞時,您就知道備份和災備的意義了);

說完了比特幣錢包的冷熱分類,我再補充說一說近來“大熱”的兩個概念:多重簽名(MultiSig)和確定性錢包(HD-Wallet)。這兩個概 念雖然經常被稱為錢包,其實它們只是錢包軟體需要考慮是否予以支援的兩個功能而已。Bitcointalk論壇上經常會有國外的使用者詢問比太錢包何時支援 這兩個功能,其實它們從技術的角度上來講並不複雜,但由於很難找到一種簡單明瞭的方式讓使用者使用,而且過於複雜的邏輯反而容易導致使用者的誤操作甚至資產損 失,因此過去我們一直未予以考慮。

ON-CHAIN和OFF-CHAIN

最後再說說ON-CHAIN和OFF-CHAIN,業內人士經常一開口就問“你這個錢包是ON-CHAIN的還是OFF-CHAIN的?”,或者還會有人 說“大額比特幣交易由ON-CHAIN來解決,小額支付由OFF-CHAIN來實現”,聽起來就好像這世上有兩種比特幣交易,一種叫ON-CHAIN、另 一種叫OFF-CHAIN,這毫無疑問也是很多新人一開始接觸比特幣是搞不懂的地方。

既然我們說的是比特幣交易,那當然是ON-CHAIN的,對應的儲存和管理比特幣的錢包當然也必須是ON-CHAIN的。對於OFF-CHAIN的解決方 案,我們可以稱之為比特幣銀行或比特幣託管平臺,對應的OFF-CHAIN“交易”,也不應稱為比特幣交易,而可以稱為銀行內部賬戶間轉賬或平臺內使用者間 轉賬,因為它的確不是比特幣交易,它的產權不由比特幣去中心化網路確定,它的產權轉移也不由比特幣網路負責。

總之,過於複雜和混淆的分類方式反而成了新使用者開始接觸比特幣的最大門檻,我們應更努力讓比特幣更簡單、更容易理解的同時更安全、更易用,而不是用那些更復雜的、更含混不清的概念來把新使用者嚇跑,這才是比特幣未來的希望之所在。

比特幣應該簡單,比特幣錢包也應該簡單!

特別鳴謝比太錢包CEO 文浩先生先生的幫助。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;