個人通常將比特幣存儲在單一的私人密鑰下。簡而言之,這意味著移動所有者的比特幣只需要一個比特幣密鑰。但對于存儲大量比特幣機構來說,這種方法并不安全。
相反,對比特幣組織的控制應該分散在多人身上,以確保在支出時存在制衡,同時確保沒有人成為盜竊(或更糟)的目標。
要將控制權分配給多個參與方,常用的方法有三種:
· 比特幣多重簽名交易(multisig)
· Shamir的秘密共享計劃(SSSS)
· 專用硬件安全模塊(HSM)
毫無疑問,比特幣multisig將是大多數實體比特幣投資機構的最佳選擇。它經過良好的測試,部署成本低,靈活、可審計,并且支持常規交易。然而,SSSS今天仍然被一些組織使用,并且在利基環境中占有一席之地,所以兩種方法是值得的討論,可以幫助那些正在探索存儲選擇的組織。
關于SSSS和multisig之間的差異
私鑰基礎知識
私鑰可以看作是汽車的鑰匙。車鑰匙是唯一可以移動你的車工具,每輛車都有獨一無二的鑰匙。在比特幣中,私鑰用于移動存儲在公開可見地址中的比特幣。每個地址都有自己唯一的密鑰。
“錢包”是一個個人或組織擁有的地址集合。地址和地址的密鑰由一個主私鑰生成。
誰控制了主私鑰,誰就控制了錢包。如果密鑰永久丟失或銷毀,則與主私鑰關聯的比特幣可以被視為永久丟失。
主私鑰存儲問題
當一個組織決定用一個主私鑰存儲比特幣時,他們只有兩種選擇:
1. 把鑰匙給一個人:這個人可能會犯“胖手指”式的錯誤,丟失設備,忘記密碼,受到小偷的威脅,甚至屈服于為自己拿走一些資金的誘惑。如果他們是度假或生病,這樣只有等他們回來才能使用比特幣。如果他們在沒有告訴任何人密碼的情況下去世了……比特幣就變成了一項非常長期的“投資”。
2. 與多人共享同一密鑰: 如果一個人丟失了密鑰,或者一個人無法使用,比特幣仍然可以移動。然而,每個密鑰持有者仍然具有上述相同的風險。無法驗證每筆交易中誰的密鑰被使用,這意味著在發生盜竊時幾乎沒有責任。它還為每個鑰匙持有人提供了鐵質合理的推卸責任,除非他們想從事內幕交易——三個人拿著鑰匙,代幣在移動,你怎么知道這三個人中誰在移動它們?
Shamir的秘密共享計劃
一種解決方案是Shamir的秘密共享方案(SSSS),該方案允許公司將其主私鑰分割給多個用戶。
背景
早于比特幣(1979年發現),SSSS是一種密碼方案,用于將一小段數據(如私鑰)分割成多個部分。該方案完全可定制,允許用戶定義部件總數(m)和重新創建整個部件所需的部件數(n)。
在SSSS下,持有一個部件不會顯示部分數據。此外,任何n個部分的組合都可以——它們不需要以任何特定的順序組合。
一個常見的例子是2 / 3拆分,它將數據拆分為三個部分,其中任何兩個部分都是恢復數據所必需的。但幾乎任何m-of-n組合都是可能的,比如4 / 6或15 / 15。
Shamir的秘密共享方案2:3:每個參與者收到同一個錢包的一個密鑰部分。重建整體需要兩部分。
比特幣的SSSS
應用于比特幣,一個組織可以使用SSSS將主私鑰分割成不同的部分,只有當m (n)個部分組合在一起時,主私鑰才會顯示出來。然后,這些單獨的部分可以分發給該組織的多個成員,這些成員需要合作才能使用該組織的比特幣。
SSSS可以被認為是加密的,更靈活的版本有Ledger的“冗余”種子短語備份
優點
· 比標準的單一密鑰更好: 只要安全生成SSSS(參見下面的設置風險),那么它就可以為組織提供保護,防止長期比特幣投資被盜、丟失和內幕交易。為了訪問存儲的比特幣,必須對多個部分進行破解(其他參與者不會發現)。
· 支持山寨幣: 對于任何投資山寨幣的人,SSSS可以用來分割任何私鑰。
缺點
· 設置風險:當涉及到生成單獨的部件時,必須首先生成私鑰,然后使用SSSS軟件進行分割。如果在設置過程中涉及到一個壞參與者,SSSS不會保護私鑰不被竊取或錯誤處理。
· 單獨使用: SSSS方案僅適用于特定條件下的單獨使用。一旦使用mof n部件重新構造了私鑰,私鑰就不再安全。
· 不可審計:SSSS的參與者無法驗證他們的部分是否需要使用存儲的比特幣。私鑰的多個完整副本可以創建并存儲在其他地方。
· 技術: 自己建立SSSS需要一些技術知識。
外部的SSSS
Coinbase托管聲稱在內部使用類似SSSS的方案(或SSSS本身)來保護客戶的代幣,以便成為“鏈不可知論者”。也有跡象表明,Winkelvoss twins可能正在使用SSSS來持有比特幣。
SSSS的解決方案
建立自己的SSSS可能有點棘手,需要一些實際的技術經驗。我們不支持或推薦以下任何一種解決方案,但推薦了一個列表,供人們做自己的研究:伊恩科爾曼的SSSS工具;point-at-infinity;KPN-CISO。記住,當涉及到處理您的私鑰時:不要信任任何人,請做好充分驗證!
比特幣Multisig
背景
比特幣本身支持多種智能合約。最常用的智能合約之一是multisig。與SSSS非常類似,用戶可以創建比特幣地址,直到有m / n的人使用他們的私鑰簽署合約,才能使用這些地址。
在比特幣多重簽名中,每個參與者都有自己的私鑰。要創建一個新的multisig錢包,每個參與者只需要向其他參與者公開他們的公鑰,以確保他們自己的私鑰安全。
從那時起,任何發送到multisig錢包的比特幣都需要n個密鑰才能再次移動。
Multisig 2-of-3:每個參與者都有自己的密鑰,用于創建一個總是需要兩個密鑰才能使用的新錢包
優點
· 最小化設置風險:與SSSS不同,無論是在設置中,還是在進行交易時,都不需要向其他參與者公開單獨的私鑰。
· 多用途:由于私鑰從來不會透露給一個人,比特幣multisig使用多次是安全的。
· 可審計: multisig的參與者可以通過密碼驗證比特幣是否保存在multisig中,以及multisig的參數。與SSSS不同的是,他們可以確信,除了multisig之外,沒有其他人能夠訪問比特幣。
· 更容易處理密鑰丟失: 如果任何參與者丟失了一個私鑰,剩下的m個參與者可以輕松地將比特幣轉移到一個新的多簽名地址,并生成一個新的密鑰來替換丟失的密鑰。
· 現成的解決方案: 許多初創公司已經使建立和管理一個多團體的技術過程變得非常用戶友好(參見下面的多團體解決方案)。
缺點
· 對山寨幣的支持有限:多簽名合同是比特幣的固有特性,這意味著山寨幣不一定能以同樣的方式運行,2017年的以太坊Parity黑客攻擊就證明了這一點。只有一小部分基于比特幣代碼庫的山寨幣支持比特幣風格的multisig,例如Litecoin和Dogecoin。
· 不要丟失公鑰:除了保管好自己的私鑰外,每個參與者還應該保存一份其他參與者公鑰的副本,以便在丟失的情況下重建錢包。
· 隱私: 多簽名交易作為一種特殊的交易類型在區塊鏈上清晰地顯示。交易對手方(可能還有區塊鏈情報公司)將能夠識別您的比特幣被保存在一個多簽名錢包中,以及需要多少密鑰才能使用。
Multisig解決方案
作為安全比特幣存儲的黃金標準,越來越多的多重簽名解決方案將允許組織在其團隊中分發密鑰: Electrum、Casa、BitGo、Blockstream Green、Unchained Capital,當然還有Clavestone!
結語
何時使用Multisig
絕大多數情況下,組織需要可靠地分配對其比特幣持有量的控制權。
何時使用SSSS
· 當您絕對必須分配控制altcoin控股。
· 當您需要確保第三方無法觀察到對比特幣的控制已被分發。
· 由于建立SSSS的人需要信任,因此更適合個人持股而不是組織持股。
· 當您需要分發一個或所有多簽名的私鑰時(SSSS可以與多簽名一起使用)。
評論
查看更多