從保險櫃到網絡:重新思考比特幣的保管

作者:Buck Perley

來源:https://www.unchained.com/blog/from-vaults-to-networks-rethinking-bitcoin-custody

在比特幣世界裡,我們常常認為自己正在打造一個全新的金融世界、釋放可編程貨幣的力量。但真正觀察當前建立在比特幣基礎上的商業,我們會不禁自問:這究竟是一場技術革命,亦或只是已有模式的演化?我想說的是,我們不該把這種可編程的、自治的貨幣,理解成僅僅是給我們機會在另一種資產上建立完全一樣的商業模式。

真正的技術革命,發生在人們和企業開始創造新的習慣、以全新的方式運用這種技術的時候。打造比特幣原生的基礎設施,意味著要提高新的辦法,讓客戶可以利用金融服務。這反過來意味著,你要創造的不僅是新的經濟活動(全新的業務),還應該是以往甚至無法想象的業務和商業關係。

密鑰的演化

為了捕捉這些可能性,我們先從密鑰的演化講起。

最開始的時候,比特幣錢包是一些毫無關聯的公私鑰對 …… 用起來就是不方便。很難備份,也很難復原。你只能直接訪問這些原始數據,無法以可編程的方式與它們打交道。

(譯者注:作者這裡指的是 Bitcoin/Bitcoin Core 軟件最早的錢包實現方式 —— 以一個 wallet.dat 文件,包含許多毫無關聯的公私鑰對。這一模式也被稱為 “keypool(密鑰池)”。)

https://www.unchained.com/features/the-braid-model

後來,出現了 “確定性層級式錢包(HD Wallets)” 和 “擴展公鑰(xpub)”,在一段時間內,算起來不錯。用人類可以直接閱讀的詞組作為錢包的備份,從此成為可能。你可以將需要安全保管的信息(私鑰)隔離在專門的地方,並且,一定程度上允許公開的數據(公鑰),也變得更容易遷移。計算機代碼也可以用更有創意的方式,跟密鑰打交道。

(譯者注:在 HD 錢包中,錢包內的私鑰都是從同一個秘密種子確定地派生而來,所以只需要備份這個秘密種子。一個拓展公鑰可以生成一組公鑰,進而形成一組地址。)

P2SH(支付到腳本哈希值)地址,給了我們與密鑰互動的新方法,其中最重要的就是 “多簽名”。在 HD 錢包的基礎上, 我們形成了新的心智模型來理解多個密鑰的交叉作用,從而創造出邏輯更加複雜的錢包。

最新一代的行業標準,比如 miniscript 和 “描述符”, 以更加穩健的方式幫助解鎖了比特幣腳本先要操作碼的力量,又讓更加複雜的密鑰間關係成為可能,比如說,不僅包括種子,還包括時間因素。

隨著我們對保護比特幣的 公鑰/私鑰 的理解發生變化,自然而然地,我們對如何利用這些技術來保管比特幣的期待,也一併改變。

保管模式的演化

在最開始,所有東西都是自己動手的,而且有一段時間,情況非常理想。這曾經是,現在也依然是最高級別的監護形式。但是,力量伴隨著責任。如果你所有的比特幣都由一個 wallet.dat 文件保護,你就要自己負責保護這份數據的安全。確實,這就沒有人能沒收你的比特幣了(除非拷打你),但也讓丟失的風險升高了(我們這些在垃圾堆裡找硬盤的人,確有經驗)。

完全自己保管比特幣密鑰的風險和複雜性,導致了全面託管服務商的興起。這樣也容易吸引哪些不太懂技術的信任,也確實讓風險大大集中在沒有經驗和不負責任的人,導致了非常慘痛的教訓

但是,市場滾滾向前,隨著比特幣保管服務市場的演化,服務供應商也變得成熟。在大型的受監管的交易所,因為盜竊或軟件錯誤而產生的資金損失日益罕見,許多時候,可以把你的比特幣託付給他們。安全性的最佳實踐因為更好的內部安全協議和麵向客戶的安全協議而得到提升,並且也被推向市場。消費者甚至可以購買這樣的保險。

但是,在這種模式中,單點故障依然普遍存在。從互聯網賬戶盜竊、政府沒收到社會工程學攻擊,江湖險惡。此外,不管一個託管商如何保護其真正的私鑰數據,這種託管模式在根本上依然是單簽名保管:可以說,你的登錄方法和賬戶訪問權就是私鑰 —— 它完全控制著資金。

在賬戶控制的地址和餘額之外,出現了建立在 “合作式保管” 基礎上的保險櫃。如果你讀到了這篇文章,可能也就在使用這種保管模式。跟一個密鑰代理合作,既能利用多簽名錢包的安全性,又能獲得由保管夥伴帶來的便利性。許多商業產品的框架(也包含 Unchained 的)會讓一個受信任的參與者持有少於閾值的密鑰,從而建立一種實現安全性、可復原性和企業級防護的夥伴關係。

雖然賬戶自身不再是一種單點故障,因為登錄的能力不能直接移動資金,阻止登錄也不能阻止移動;但是,賬戶持有者自身依然是一種單點故障。社會工程學攻擊依然是一種嚴重的威脅,就跟因為忽視密鑰材料的存儲而導致損失一樣(這是一種在傳統的託管模式中並不存在的風險)。

通過網絡實現可以組合的安全性

當我們靜態的保險櫃走出、進入開放標準和網絡的動態領域,合作保管模式的強大之處才會真正體現出來。一個建立在網絡(也就是獨立而分散的節點之間的關係)之上的系統,是更容易遷移、組合的,最終來說也更健壯。

在這個語境下,所謂 “為一場技術革命開發基礎設施” ,是什麼意思呢?就像使用互聯網進行聯網通信,為個人和企業帶來了全新的交互方式;在比特幣的保管中,我們可以讓平臺不僅是資金安全的保障者,還能按你的需要啟用安全性。

現在,來看看哪一些在比特幣世界長期存在的技術和標準,能夠幫助我們開發出這種全新的商業模式。

親友:信任的力量

img

“信任” 常常被比特幣人當成一個負面詞。但它並不必然是人們想的那樣。網絡的其中一個強大之處在於它能帶來冗餘。你的安全性不再取決於你的防護裝置中最薄弱的環節。當你通過建立密鑰持有者的網絡來利用信任,因為這些密鑰持有者各有安全防護裝置,風險就被分散、安全性會倍增。

接入一個保管密鑰的網絡,你就可以消除存在於賬戶持有者層面的風險。認為自己可能遭遇社會工程學攻擊的人,可以添加一個家庭成員(或者可靠的密友)作為其中一個密鑰持有人。家庭成員的安全性可能不像一家保管了價值數十億美元的比特幣的企業那麼強,而且,需要對這個人有一定程度的信任,但在一個 2-of-3 的安排中,需要同時攻克多個點才能形成一次成功的攻擊。由於社會工程學攻擊通常大大依賴於人為製造的緊張感或者精心打造的長期信任,想要同時在多個人、多種社會背景下實施,難度會上升一個量級。

https://en.wikipedia.org/wiki/Swiss_cheese_model

也許更加重要的是,從這種網絡的視角來觀察比特幣的保管,讓我們可以全面反思現有的商業模式、以及如何打造一種可以利用網絡的平臺。 設想有一種建議用途的慈善基金(DAF) ,你不是直接信任他們會妥善使用你的資金,而是加入一個網絡、公開你的公鑰,以幫助分發資金,不僅可以作出慈善捐贈,還能支付各種費用。這個網絡讓你成為一個主動的成員,而不是你的捐贈的被動觀察者。

適合你的安全需要的靈活閾值

通過可組合性來實現安全性不僅僅跟你的網絡中有 “誰” 有關,還跟你的網絡的形狀有關。在設計多簽名錢包的閾值時,“少” 常常勝過 “多”。在大多數情況下,2-of-3 閾值就足夠了,而多個代理分享密鑰可以讓這種模式更加安全。不管,也有另外一些場景,別的閾值設置是更合理的。

我們可以將這種權衡視為在 “訪問權自治”(可以 獨立移動資金)和 “代理人容錯”(一個密鑰代理人可以獨自行動)之間作出取捨。有時候,一種閾值設置既有訪問權自治,又有代理人容錯,比如 2-of-4 閾值,你可以無需第三方的協助、獨立復原資金,但密鑰代理人合作也能復原出資金;這種模式也有它的好處。

可對接的標準的力量

與傳統的銀行系統不同,比特幣原生的金融服務意味著在開放的標準和開源代碼上開發一個平臺。平臺不該要求你進入他們圈起來的花園,因為你要使用的資金屬於你自己。你跟資金的交互方式越是容易移植,你的網絡就可以越廣大、越健壯,激勵因素也越兼容。

一個例子是在 “地址描述符” 這樣的標準上開發,這讓用戶可以隨時遷移到使用相同標準的軟件上。能夠跟自己的資金交互、無需進入某個平臺圈起來的領域,意味著你可以:

  • 在你自己的節點上管理自己的錢包
  • 與從未在你所在平臺上建立過賬戶的密鑰持有人合作
  • 直接跟你的錢包交互,無需經過帶有網關的 API(應用程序接口)
  • 利用密鑰網絡的安全性,但不會綁定在主觀色彩濃烈、缺乏功能的使用體驗
  • 允許其他企業也免信任地加入密鑰網絡

img

PSBT(格式),全稱為 “部分簽名的比特幣交易”,就是一個例子。如果交易的數據(即交易的輸入、 輸出,還有簽名)可以使用一種公開的序列化標準來傳輸,而不是依賴於專有的 API,它就進一步拓寬了你可以在比特幣保管中運用的方法。我們最近開發的基於上傳 PSBT 的交易創建功能(僅在申請後可用),意味著你不僅在任何地方都可以使用你的錢包,而且在任何地方都能製作交易。它讓你在空氣隔離的設備上也能創建交易和簽名交易、可以通過電子郵件發送交易,甚至在別的軟件中創建和簽名交易後還能向基於某個平臺的密鑰代理網絡請求籤名。這些新標準給比特幣帶來的基礎設施,就像 TCP/IP 協議給互聯網帶來的東西。現在我們可以有了標準化的方法,讓比特幣原生的企業連成網絡,因此個人也可以在自己的保管裝置中利用企業級的安全性。

新的網絡,新的業務

所有這一切背後的重要思路是:一個真正比特幣原生的金融服務平臺是建立在開放的標準上的,而且不應該強迫用戶選擇某一種模式或某一個平臺。真正開放的基礎設施的終局狀態是用戶體驗的百花齊放,以及以往無法存在的新型商業。

提醒一句,這並非法律建議,只是純粹的假設:我們來設想一下沒有比特幣原生的解決方案就無法存在的業務和客戶關係。

假設你要開一家公司,提供由客戶自己控制的、比特幣為支撐的意料儲蓄賬戶(HSA)。你認為,對於你的目標客戶群體(他們都不懂技術)來說,最安全的選擇就是 2-of-4 閾值的多簽名保管。你希望提供自主訪問權,這樣客戶就總是能獨自花費;但也想提供一種代理人容錯機制,不會因為客戶的私鑰材料出了什麼事就無法再使用自己的資金。你還希望卸除因為能夠單方面轉移資金而帶來的負擔,於是你將密鑰代理人的責任與平臺供應商分享(比如 Unchained,我們在 DAF 中就是這樣做的)。

建立這個賬戶的過程,需要你(作為服務供應商)向一位客戶要求分享兩個公鑰。因為公鑰本身是可以公開分享的,客戶可以將實際上由其他人(或機構)控制的公鑰分享給你。客戶可以決定將其中一個甚至兩個密鑰委託給其他人,然後將拓展公鑰分享給你。一旦你拿到這些公鑰,你就可以獨自創建這個保險櫃並管理注資策略了。

但是,客戶要怎麼跟你的企業打交道呢?你可以將自己限制在服務供應商的平臺上(比如 unchained.com),但也覺得,如果能為日常使用提供更加個性化的體驗,會更好。所以你要求自己信得過的 AI 編程助手,幫你開發一個能夠導入 JSON 格式的錢包配置文件的 app 。你希望這個讓這個 app 通過 RPC 連接你自己的 bitcoind 節點,而不是信任其他人的節點。它將能生成新的地址,並且可以在年末根據餘額的變化生成稅務報告。

當你需要跟一個沒有進入這個系統的供應商合作簽名的時候,該怎麼辦呢?這就要用到 PSBT 了。PSBT 可以由任何能夠訪問可用 UTXO 的人創建。你開發的系統可能要負責創建待簽名的交易,甚至要收集到第一個簽名,然後才能向 Unchained 系統請求另一個簽名。

你還需要做很多事,比如提供別的閾值選項、不綁定設備的 xpub 分享(將客戶與密鑰分享進一步解耦),甚至是讓企業分享公鑰給客戶,從而增強客戶的隱私性。網絡和公開標準的威力是顯而易見的。 比特幣徹底改變了貨幣權力競爭的格局。比特幣用戶的網絡也同樣可以改變我們的金融系統。

(完)

相关赛道:
來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論