tBTC被設計為人們在以太坊上使用比特幣的安全方式。不同的專案採用不同的安全性方法。以下是tBTC的安全模型及其如何為使用者和簽名者實現高階別安全性的概述。
最小化信任的比特幣側鏈
側鏈的發明是為了嘗試釋放其他鏈上的比特幣潛力的方法。這個想法很簡單-將BTC鎖定在主比特幣區塊鏈上,然後將其解鎖以供另一個區塊鏈使用,從而建立一種與BTC掛鉤的新貨幣。實際上,在沒有可信中介的情況下構建雙向鉚釘是非常困難的。Blockstream的流動性是依賴可靠中介的生產中比特幣側鏈的一個例子。
儘管流動性可行,但它缺乏BTC的開放性和安全性。流動性依靠一個受信任的簽名者聯合會來託管“鎖定”的比特幣。如果簽名者願意的話,他們可以審查取款或帶走資金。此外在簽名人惡意破壞的情況下,使用者無權追索-使用者必須完全依賴於信任流動性網路及其底層技術。
tBTC是一種信任最小化的替代模型。名人被超額抵押至其託管押金的150%,如果簽名人欺詐,使用者將獲得全部補償。簽名者是從一個開放的,分散的節點網路中選擇的,這些節點執行Keep協議,所有節點都繫結在以太坊上。
在以太坊上鑄造1 tBTC比特幣的基本操作如下:
1. 從Keep網路請求繫結的ECDSA保持以簽署1個BTC。
2. 一個簽名者組形成並在以太坊中抵押150%價值的1個BTC。
3. 簽名者組使用閾值ECDSA協議生成一個比特幣錢包。
4. 使用者向比特幣錢包傳送1個BTC。
5. 使用者生成其存款交易的SPV證明,並將其傳送到以太坊鏈。
6. 使用者鑄造tBTC。
將tBTC兌換回BTC的過程與上述過程完全相反:
1. 使用者銷燬tBTC並提供接收比特幣地址以開始兌換。
2. 簽名者組生成併發布用於比特幣交易的簽名,以將比特幣傳送到使用者請求的比特幣地址。
3. 使用者將該交易和生成的簽名廣播到比特幣網路。
簽名者生成該交易的SPV證明,將其釋出到以太坊鏈,然後收回他們的抵押。
此操作中有三個系統在起作用:
1. Keep網路,它為每一筆存款建立簽名者聯盟,以託管比特幣。
2. 比特幣喂價,用於確定以太坊主機鏈上簽名者的擔保。
3. 比特幣中繼,驗證BTC交易,以造幣和兌換TBTC
分散的簽名者網路
tBTC使用Keep網路來提供一個始終線上、分散的簽名者網路。託管比特幣存款的每個簽名者組均由3個節點組成。這些節點是使用Keep隨機信標從大型池中隨機選擇的。KEEP令牌的抵押模型減少了操縱簽名者集的任何機會,該模型提供了Sybil抵抗。
為了確保使用者在失敗或欺詐的情況下得到補償,簽名者將以比特幣存款價值150%的比例超額收取以太幣。tBTC處理簽名失敗和簽名欺詐,在tBTC中對簽名者進行懲罰並全額補償使用者,同時使簽名者沒有資格繼續成為簽名者。
簽名人失敗
簽名人未及時響應兌換請求,則構成簽名人失敗。簽名者失敗可能包括未能產生用於贖回的簽名,以及未能產生在SPV包含在比特幣區塊中以進行贖回的證明。
將所有失敗視為協議中止,並啟動中止清算流程。扣押簽署人債券並將其拍賣給TBTC,以便為使用者償還無法使用的資金,其餘一半的簽署人債券(最多為原始債券的1/6)退還給簽署人。
為了彌補清算帶來的損失,簽署方可以選擇在中止開始後收回BTC。參考客戶端將離線協調留給每個簽名者。
簽名人欺詐
簽名欺詐是tBTC系統中唯一導致全面、懲罰性削減的行為。任何未經tBTC協議授權擅自移動比特幣的簽名者都將被削減,燒燬其工作令牌並奪取其全部債券以供使用者追索。
透過在鏈上提供未經授權的簽名作為欺詐證據可以證明欺詐。任何人都可以出示欺詐證明,並在拍賣簽署人債券後獲得剩餘的ETH。
在tBTC和Keep ECDSA協議中,簽名者欺詐都會受到懲罰。
1. 在tBTC層,制定了欺詐清算流程,並使用債券購買了TBTC。除非存款支援當前流通的TBTC,否則tBTC存款令牌的持有人將在TBTC中得到補償。在這種情況下,將TBTC燃燒以維持1:1的供應鉚定。
2. 在Keep層,簽名者被削減,其KEEP令牌被燒燬,有可能將其從候選池中刪除。大幅削減的簽署人不僅會損失其資本,而且還失去了未來收取費用的機會。
強大的喂價系統
簽名者共同將其保管的高達1.5倍的比特幣繫結在一起,以激勵上述誠實行為。這些債券是以太坊的固有資產ETH,這就需要比特幣的喂價系統。這樣喂價系統的安全性對於系統是必不可少的。
tBTC v1依賴於生態系統參與者運營的可信賴的ETH/BTC價格。由MakerDAO操作的主要依靠Binance,HitBTC,Coinbase,Poloniex,Huobi和Bitfinex的價格。如果主要喂價中斷了提供,則系統可以退回到輔助喂價系統。
喂價資訊會引入一類會損害簽名人的攻擊-由於系統設計的原因,但是它不會影響存款人。如果喂價的價格過高或受操縱的喂價會將存款推入清算池,但是由於清算池是高起點的下跌價格拍賣,因此可以以很少的滑點出售簽字人債券,且價格高於任何操縱的報告價格。短期提價操作不會威脅到存款人的資金,但對簽名人來說是一個風險。
隨著時間的推移,一個惡意喂價者不斷向系統提供錯誤資訊。使用者應當立即贖回其存款並退出系統。但值得注意的是,惡意喂價者不會干擾使用者的兌換。
一個被操縱的喂價者不會讓惡意簽名者免於被消減,但它可以降低存款人追索權的水平,以防出現不當行為。在這方面,喂價系統是一種縱深防禦措施-禁用喂價系統會退回到一個更脆弱的安全模型。
比特幣交易中繼
證明以太坊上的比特幣鏈狀態需要一種跨鏈通訊形式。tBTC依靠Summa構建的開源中繼來使用SPV證明來實現這一目標。儘管中繼器跟蹤比特幣鏈的狀態,但它仍然依賴於“ SPV假設”,這是一種安全形式,比對執行完整節點的完整驗證要弱。
SPV證明的使用確保了TBTC與真實BTC相關掛鉤,同樣證明也不依賴於一個誠實的聯盟,因為比特幣的狀態已在智慧合約中得到驗證。
治理問題
tBTC的第一個版本是在沒有任何升級智慧合約能力的情況下構建的,只是遵循了比特幣啟發的不可篡改性和選擇參與治理的理念。將來的任何版本的tBTC都將是新系統,並且需要社會協調才能“升級”,類似於對比特幣進行硬分叉的方式。
儘管如此,開發團隊在釋出時維護了一個特權金鑰,它具有4種不同的功能。這些功能僅適用於新存款,防止團隊干擾現有存款或長期持有的資金。
1. 更新簽名者費用費率(Updating the signer fee rate)。特權金鑰可以修改簽名者對以後的存款收取的費用。修改僅影響一段時間後開啟的新存款。可以設定的最高費用為10%,最低為5bps(0.05%),以防止此功能導致意外的kill-switch。
2. 支援附加批次(Supporting additional lot sizes)。特權金鑰可以修改並增加新存款的可用批次。此修改僅影響一段時間後開啟的新存款。可用的批次必須始終至少包括1個BTC批次,並且批次不能大於10 BTC或小於0.0005 BTC(50,000飽和),以防止意外的kill-switch。
3. 修改抵押閾值(Modifying collateralization thresholds)。特權金鑰可以調整系統強制執行的三個抵押閾值。此修改僅會影響一段時間後開啟的新存款,從而防止此呼叫迫使現有存款清算。最低閾值是100%,最高閾值是300%,防止此呼叫充當意外kill-switch。
4. 新增後備喂價系統(Adding a fallback price feed.)。特權鍵可以將新的喂價合約地址追加到查詢的喂價列表中。因為喂價是按新增順序查詢的,並且使用第一個報告沒有錯誤的喂價,因此只有在現有的喂價失敗並停止報告時,才能使用此特權來影響報告的價格。此修改不能在沒有喂價操作員串通的情況下禁用主喂價系統,並且只有經過一段時間延遲後才有效。
5. 暫停新存款(Pausing new deposits.)。特權金鑰可以一次暫停10天的新存款,而不會造成時間延遲。當這個能力被使用後,它就不能再使用了。與kill switch或其他控制機制相比,這種方法更適合於讓開發人員在發生當天漏洞攻擊時通知使用者,從而允許使用者在發生災難性故障時從掛鉤中提取存款。與所有其他特權金鑰功能一樣,這不影響未結存款,可繼續贖回或正常使用。
儘管tBTC的治理被設計成在面對惡意開發者或被盜金鑰時具有限制性和抵抗性,但對於任何聲稱具有審查審查抗性的專案,開發團隊的持續作用和所有程式碼都應受到使用者和外部的嚴格審查。
其他攻擊
已知的針對tBTC側鏈機制的最強攻擊需要勾結三個角色-喂價維護者,大量簽名者和新的存款者。
首先,喂價維護者操縱報告的價格,例如ETH相對於BTC被高估了100%。這種操縱需要長期保持。
新的存款人現在可以看到,他們所存的任何比特幣現在只有75%的追索權,以防欺詐,並應避免使用該系統。
無論追索權抵押是什麼,誠實的簽署人都將繼續保管BTC。如果簽名集中有大量惡意簽名者,則這是在低抵押品存款中與BTC勾結和潛逃的機會。這些簽名者將被清算,每盜取一個BTC,就會損失75%的BTC,並且會被從網路中大量驅逐出去,以備將來的簽名。
對於從系統中移除的每1個BTC,ETH中1個BTC的75%將被拍賣,或者相同的剩餘物可供拍賣;任何未被拍賣的押金都將打破供應限制,直到TBTC價值與拍賣債券價值相等。
這種攻擊很困難,需要大量資金和協調。最有效的緩解措施是Keep的隨機信標,它需要在有風險的候選者池中有大量惡意簽名者,否則攻擊者會感到非常幸運。
替代安全模型(BTCB,RenBTC)
鉚釘比特幣有許多替代模型,每種模型都有不同的安全級別。像幣安(Binance)的BTCB這樣的集中式比特幣銀行提供了一種簡單的解決方案-它們處理與BTC掛鉤的問題,但是您必須信任它們。諸如Liquid和Wrapped Bitcoin這樣的公司的受許可聯盟是具有不同利益相關者的相同模型。
相比之下,開放式聯盟更適合比特幣的去中心化性質。為此,一些專案選擇了不同的安全權衡。
Ren是開放式聯盟的一個示例,它在自定義共識層上實現了固定的BTC。Ren的模型類似於Keep的模型-Ren上的驗證者將本機工作令牌REN押注以參與協議。但是,Ren僅要求驗證者抵押一定數量的REN來保管比特幣,這在發生欺詐時不會為儲戶提供追索權。相比之下,在ETH和KEEP中,tBTC要求籤名人始終要超額抵押。Ren還使用較少的聯盟,將其驗證程式集分片,安全閾值為2/3。tBTC會為每個存款要求一個單獨的簽名者組,所有簽名者都必須授權交易。tBTC的另一個主要區別是tBTC使用SPV證明,要求tBTC遵循比特幣上的“最重鏈”,並防止簽名者審查使用者存款或選擇分叉。任人聯合會不提供這些保證。最後,Ren的安全模型還涉及其他新穎的共識和MPC協議,從而暴露出更大的攻擊面。