確保比特幣安全具有挑戰性,因為比特幣不是抽象的價值參考,就像銀行帳戶的餘額。比特幣非常像數位現金或黃金。你可能聽到過這樣的表達:“佔有是法律的十分之九”。那麼,在比特幣中,佔有是法律的十分之一。擁有解鎖比特幣的金鑰相當於擁有現金或貴重金屬。你可能會失去它,放錯位置,被盜,或者不小心把錯誤的數字給別人。在每一種情況下,使用者都沒有追索權,就好像他們在公共人行道上放棄了現金一樣。
但是,比特幣具有現金,黃金和銀行帳戶不具備的能力。包含您的金鑰的比特幣錢包可以像任何檔案一樣備份。它可以儲存在多個副本中,甚至可以列印在紙張上進行硬拷貝備份。您不能“備份”現金,黃金或銀行帳戶。比特幣與之前的任何東西都不相同,我們需要以一種新穎的方式來思考比特幣安全。
比特幣的核心原則是去中心化,它對安全性有重要影響。傳統的銀行或支付網路等集中模式依賴於訪問控制和審查,以防止不良行為者。相比之下,像比特幣這樣的分散系統將責任和控制交給了使用者。由於網路的安全性基於工作量證明,而不是訪問控制,因此網路可以公開,並且比特幣流量不需要加密。
在諸如信用卡系統的傳統支付網路中,支付是開放式的,因為它包含使用者的私人識別符號(信用卡號碼)。在初始收費後,任何可以使用該識別符號的人都可以“拉取”資金並一次又一次地向擁有者收費。因此,支付網路必須透過加密進行端對端的安全保護,必須確保沒有竊聽者或中間人可以危害付款流量,包括傳輸中或儲存時(靜止時)。如果一個不良行為者獲得了訪問系統的許可權,他可以危害當前的交易,以及 可用於建立新交易的支付令牌。更糟糕的是,當客戶資料遭到破壞時,客戶面臨身份盜用的風險,必須採取措施防止被盜帳戶的欺詐性使用。
比特幣有很大的不同。比特幣交易僅向特定收件人授予特定的價值,不能偽造或修改。它不會透露任何隱私資訊,例如當事人的身份,也不能用於授權額外付款。因此,比特幣支付網路不需要加密或防止竊聽。事實上,您可以透過開放的公共頻道(例如不安全的WiFi或藍芽)來廣播比特幣交易,同時不會降低安全性。
比特幣的去中心化安全模式將大量權力交給使用者。有了這個權力就有責任對金鑰進行保密。對於大多數使用者來說,這並不容易,特別是在通用計算裝置上,例如連線網際網路的智慧型手機或筆記型電腦。雖然比特幣的去中心化模式可以防止向信用卡那樣出現大規模危機,但許多使用者無法充分保護他們的金鑰,並一個接一個地被黑客入侵。
比特幣開發者最重要的原則是去中心化。大多數開發人員都熟悉集中式安全模型,並可能試圖將這些模型應用到他們的比特幣應用程式中,從而帶來災難性後果。
比特幣的安全性依賴於對金鑰的去中心化控制以及礦工的獨立交易驗證。如果你想利用比特幣的安全性,你需要確保你保持在比特幣安全模型中。簡而言之:不要將金鑰從使用者手中接管,也不要將交易從區塊鏈中移除。
例如,許多早期的比特幣交易所將所有使用者資金集中在單個“熱”錢包中,金鑰儲存在單個伺服器上。這種設計消除了使用者的控制權,並集中控制單個系統中的金鑰。許多此類別系統已被黑客入侵,對客戶造成災難性後果。
另一個常見的錯誤是,為了減少交易費用或加速交易處理,錯誤地將交易“脫離區塊鏈”。一個“離線的區塊鏈”系統將在內部的集中式帳簿上記錄交易,並且偶爾將它們同步到比特幣區塊鏈上。這種做法再次以專有和集中的方式取代了去中心化的比特幣安全性。當交易離開區塊鏈時,安全措施不當的集中帳簿可能被偽造,導致資金流失和儲備枯竭,而不被人注意到。
除非您準備在運營安全,多層訪問控制和審計(如傳統銀行所做的那樣)上投入大量資金,否則在將資金用於比特幣的去中心化環境外之前,應該仔細考慮。即使你有足夠的資金和規則來實施強大的安全模式,這樣的設計也只是複製了傳統金融網路的脆弱模式,這種模式受到身份盜用,腐敗和貪汙的困擾。為了利用比特幣獨特的去中心化安全模式,您必須避免可能會感到熟悉但最終顛覆比特幣安全性的集中式體系結構的誘惑。
傳統的安全體系結構基於一個稱為 信任根 root of trust 的概念,它是一個可信的核心,用作整個系統或應用程式安全的基礎。安全架構是圍繞信任根發展起來的,是一系列同心圓,如洋蔥中的層,從中心向外擴充套件信任。每層使用訪問控制,數位簽章,加密和其他安全基元建構更可信的內層。隨著軟體系統變得越來越複雜,它們更容易包含錯誤,這使得它們容易受到安全危害。結果,軟體系統越複雜,就越難保證安全。信任根的概念可以確保大多數信任被放置在系統中最不複雜的部分,系統中最不易受影響的部分,更複雜的軟體則圍繞著它。這種安全體系結構在不同規模上重複出現,首先在單個系統的硬體中建立信任根,然後透過作業系統將信任根擴充套件到更進階的系統服務,最後跨越多個伺服器減少信任。
比特幣安全架構不同。在比特幣中,共識系統建立了一個完全分散的可信公共帳簿。經過正確驗證的區塊鏈使用創世區塊作為信任根,建立一個直至當前區塊的信任鏈。比特幣系統可以也應該使用區塊鏈作為他們的信任根。在設計由許多不同系統上的服務組成的複雜比特幣應用程式時,您應仔細檢查安全架構,以確定信任的位置。最終,唯一應該明確信任的是完全驗證的區塊鏈。如果您的應用程式明確或隱含地信任除區塊鏈之外的任何其他資訊,那麼應該引起關注,因為它會引入漏洞。評估應用程式的安全體系結構的一個好方法是考慮每個單獨的元件並評估一個假想的場景,其中該元件完全受到攻擊並處於惡意行為者的控制之下。依次評估應用程式的每個元件受到危害時對整體安全性的影響。如果您的應用程式在元件受損時不再安全,則表明您錯誤地信任這些元件。一個沒有漏洞的比特幣應用程式應該只會損害比特幣共識機制,這意味著它的信任根源是比特幣安全架構中最強大的部分。
眾多被黑客入侵的比特幣交易所的例子有助於強調這一點,因為即使在最偶然的審查下,其安全架構和設計也會失敗。這些集中式實施已經將信任明確地投入到比特幣區塊鏈以外的眾多元件中,比如熱錢包,集中化帳簿資料庫,易受攻擊的加密金鑰以及類似的模式。
人類已經使用了數千年的物理安全控制。相比之下,我們在數字安全方面的經驗還不到50年。現代通用作業系統並不是非常安全,並不適合儲存數位貨幣。我們的電腦透過永遠線上的網際網路連線不斷暴露於外部威脅下。他們執行數百個作者的數千個軟體元件,通常無限制地訪問使用者的檔案。在您的計算機上安裝的數千個軟體中,一個流氓軟體,可能會危及您的鍵盤和檔案,竊取儲存在錢包應用程式中的任何比特幣。保持計算機無病毒和無木馬所需的計算機維護技能超出了大多數計算機使用者的水平。
儘管有數十年來資訊保安方面的研究和進步,但數字資產仍然很容易受到堅定的對手的攻擊。即使是在金融服務公司,情報機構和國防承包商中受到高度保護和限制的系統也經常遭到侵犯。比特幣創造的數字資產具有內在價值,可以被盜取,並立即不可撤銷地轉移給新的擁有者。這為黑客創造了一個巨大的誘因。到目前為止,黑客在入侵之後不得不將身份資訊或帳戶令牌(如信用卡和銀行帳戶)轉換為價值。儘管銷贓和洗錢很困難,但我們發現盜竊案日益增多。比特幣升級了這個問題,因為它不需要被銷贓或洗錢;這是數字資產的內在價值。
幸運的是,比特幣也創造了提高電腦保安性的動力。之前計算機被入侵的風險是模糊和間接的,比特幣使這些風險變得清晰明瞭。在計算機上持有比特幣有助於將使用者的注意力集中在提高電腦保安性的需求上。作為比特幣和其他數位貨幣的激增和採用的直接結果,我們看到了黑客技術和安全解決方案的升級。簡而言之,黑客現在有了一個非常肥美的目標,而使用者也有了明確的動機來保護自己。
在過去的三年中,作為比特幣應用的直接結果,我們看到了以硬體加密,金鑰儲存和硬體錢包,多重簽名技術以及數字託管等形式在資訊保安領域的巨大創新。在下面的章節中,我們將研究實際使用者安全的各種最佳實踐。
從長遠來看,比特幣安全越來越多地採取硬體防篡改錢包的形式。與智慧型手機或桌上型電腦不同,比特幣硬體錢包只有一個目的:安全地持有比特幣。沒有通用軟體的危害並且介面有限,硬體錢包可以為非專業使用者提供幾乎萬無一失的安全級別。我期望看到硬體錢包成為比特幣儲存的主要方法。有關這種硬體錢包的範例,請參閱 Trezor。
雖然大多數使用者都對比特幣失竊有正確的擔憂,但風險更大。資料檔案一直在遺失。如果他們包含比特幣,損失會更加痛苦。為了保證他們的比特幣錢包的安全,使用者必須非常小心,不要太過分,而最終會失去比特幣。2011年7月,一個眾所周知的比特幣意識和教育專案損失了近7,000比特幣。為了防止盜竊,擁有者們實施了一系列複雜的加密備份。最後,他們意外地遺失了加密金鑰,使得備份毫無價值並且失去了一筆財富。就像把錢埋在沙漠中一樣,如果你過於仔細地保護你的比特幣,你可能無法再找到它。
你會把你的全部資產以現金形式放入你的錢包嗎?大多數人會認為魯莽,但比特幣使用者經常把所有的比特幣放在一個錢包裡。相反,使用者應該將風險分散到多種多樣的比特幣錢包中。謹慎的使用者將比特幣的一小部分,或許不到5%的比特幣保留在線上或移動錢包中作為“零錢”。剩下的應該分成幾種不同的機制儲存,比如桌面錢包和離線(冷儲存)。
每當公司或個人儲存大量比特幣時,他們應該考慮使用多重簽名比特幣地址。多重簽名透過要求多個簽名進行付款來解決資金安全問題。簽名金鑰應儲存在多個不同位置,並由不同人員控制。例如,在公司環境中,金鑰應該由多個公司管理人員獨立產生並儲存,以確保任何人都不會損害資金。多重簽名地址也可以提供冗餘,即一個人擁有多個儲存在不同位置的金鑰。
比特幣是一種全新的,前所未有的複雜技術。隨著時間的推移,我們將開發更好的安全工具和實踐,使非專業人員更容易使用。目前,比特幣使用者可以使用這裡討論的許多技巧來享受安全且無故障的比特幣體驗。