BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

如何用去中心化的方式把比特幣引入以太坊:讀懂tBTC資產跨鏈方案與漏洞補救

Winkrypto
特邀专栏作者
本文約5258字,閱讀全文需要約8分鐘
tBTC 是如何做到安全且去中心化地進行比特幣資產跨鏈?主網上線後的漏洞是如何被修復的?
AI總結
tBTC 是如何做到安全且去中心化地進行比特幣資產跨鏈?主網上線後的漏洞是如何被修復的?

編者按:本文來自鏈聞ChainNews(ID:chainnewscom),撰文:潘致雄,鏈聞研究總監,經授權發布。

編者按:本文來自

鏈聞ChainNews(ID:chainnewscom)

鏈聞ChainNews(ID:chainnewscom)

  • ,撰文:潘致雄,鏈聞研究總監,經授權發布。

  • 編者按:本文來自

  • 鏈聞ChainNews(ID:chainnewscom)

鏈聞ChainNews(ID:chainnewscom)

,撰文:潘致雄,鏈聞研究總監,經授權發布。

編者按:本文來自

鏈聞ChainNews(ID:chainnewscom)

鏈聞ChainNews(ID:chainnewscom)

  • ,撰文:潘致雄,鏈聞研究總監,經授權發布。

  • 以去中心化實現比特幣資產跨鏈的方案中,tBTC 是近期最受矚目的項目。當BTC 可以安全且無需信任地遷移到以太坊網絡之後,相當於BTC 能享受到圖靈完備的智能合約,想像空間更大。比如,這樣以來,比特幣資產可以應用在去中心化金融(DeFi)生態中——畢竟比特幣擁有最多的用戶、最高的市值、最顯著的網絡效應。

另外Summa 和Cross-Chain Group 也是tBTC 項目的參與方。按照介紹,這些合作方是這樣分工的:

Keep 將ECDSA 門限簽名運用在比特幣去中心化託管的邏輯中,且tBTC 的原生代幣使用的是KEEP;

Summa 專注跨鏈解決方案,也就是tBTC 協議中負責如何在以太坊區塊鏈中驗證比特幣交易的部分(SPV 方案);

Keep 的投資者包括了數家美國的主流機構,如Polychain Capital、a16z、Draper Associates、Fabric Ventures、Distributed Capital Partners 等。其中a16z 還是多家DeFi 協議的投資者,包括穩定幣協議Maker、借貸協議Compound、交易協議dYdX 等,這三家也是目前DeFi 協議中的頭部項目,如果他們後續能集成tBTC,或許是一個雙贏的策略:比特幣可以支持DeFi,DeFi 可以使用比特幣。

一級標題

目前集成tBTC 的項目

在tBTC 之前,加密資產的跨鏈、尤其是比特幣資產的跨鏈方案,絕大多數都是通過中心化機構託管方式實現的,比如WBTC、imBTC 或HBTC。雖然這些方案也考慮到了安全性和透明度,但對於加密貨幣社區而言,人們更想要一個完全去中心化、非託管、無准入門檻、無需許可的資產跨鏈基礎設施。畢竟,資產從一個地方挪到另一個地方是一個很基礎的權利,不應該牽扯到其他因素、不應該增加額外風險、也不應該犧牲隱私。

總體而言,tBTC 的兩個最重要的優勢為:

  • 一級標題

  • 由原資產抵押:由於tBTC 通過質押比特幣而跨鏈生成的等價TBTC 代幣,所以不會產生額外的比特幣。相反的,像Synthetix 這類資產合成協議,是通過其他代幣鑄造出「模擬」比特幣價值的代幣sBTC,事實上增加了比特幣的流通量。

  • 從上述兩個角度來看,目前與tBTC 類似的項目可以這麼分類:

BTC ->一級標題

tBTC 是如何運作的?

  1. 畢竟對於大多數tBTC 系統或者是TBTC 代幣的使用者而言,並不需要接觸到這麼多繁雜的邏輯。只有對於系統的深度參與者或者原生代幣的交易者而言,才應該徹底了解整個系統的運作機制,就算很費時間也需要仔細讀一讀他們的白皮書。

  2. 二級標題

不過,在此之前,也可以將本文作為了解tBTC 的入門手冊,以快速建立起對tBTC 協議的概念和系統運作的核心工作流程。簡而言之,這裡主要解答的是這個問題:為什麼tBTC 可以安全且去中心化地進行資產跨鏈?

先做一些說明和解釋:

在tBTC 的方案中,涉及到這幾方:

二級標題

存款人(depositor):希望把BTC 挪到以太坊上的用戶;

贖回者(redeemer):希望把以太坊上的TBTC 換成真正BTC 的用戶。

BTC ->二級標題

TBTC 鑄造流程

對於比特幣與以太坊的資產跨鏈解決方案,兩個主要的挑戰是:

如何在以太坊的鏈上確認比特幣的交易和所有權:tBTC 採用了由Summa 設計的SPV (簡單支付驗證)技術實現跨鏈的交易驗證。

所以,從BTC 換成TBTC 的流程分為兩大步驟:

2. 轉賬至比特幣託管地址的6 個區塊後,存款人向協議提交已完成轉賬的證明,然後就可以鑄造相應數量的TBTC 了。

二級標題

當然,在協議的設計中還需要考慮其他可能的問題以及相應的處理方式,最常見的是如果ETH 價值相比BTC 價值貶值後,可能會產生驗證人抵押不足的情況,導致驗證人就有動機作惡了,所以tBTC 設計了相應的清算模塊以應對。

tBTC 協議包含了預清算和強制清算兩個階段,和其他的清算系統的設計目標類似,在強制清算階段將會啟動拍賣流程,將ETH 以折扣價拍賣給TBTC 的持有者以保證抵押品ETH價值大於TBTC (也就是BTC)的價值。而如果清算後還有剩餘資金,則根據不同的情況進行收益分配。

TBTC 贖回流程

贖回流程相比較而言簡單一些,當用戶希望將持有的TBTC 換回BTC 時,只需將TBTC 以及一小筆「費用」提交給以太坊的智能合約,同時附上收款的比特幣地址,三位驗證人就必須共同簽署一筆比特幣鏈上交易,將BTC 轉至規定的地址。如果有驗證人不配合呢?那抵押的ETH 就只能被清算了。

  • 一級標題

  • 也正因為驗證人提供了聯合的託管業務,並付出了ETH 抵押資產,所以贖回者需要支付一小筆額外的費用給他們作為經濟激勵。

  • 所以作為驗證人,可以將tBTC 系統作為一種收益穩定的資產管理工具。據白皮書計算,驗證人的年化收益約為1.875%,考慮到150% 的抵押率,真實的年化收益約為1.25%。這是讓社區中不少人吐槽tBTC 的地方:很多人認為目前設定的收益率較低,可能會導致驗證人的參與動機不足。當然,這也就意味著目前參數設定,對於存款人和贖回者更友好一些。

KEEP 代幣:付出勞動才能獲得回報

一級標題

在tBTC 的系統裡,原生代幣KEEP 是一種工作型代幣,這也就意味著持有KEEP 不能帶來任何收益,但是在持有KEEP 的同時又付出勞動,才能因此獲得收益。

回顧一下鑄造TBTC 的環節,在「步驟2」中,tBTC 系統需要從包含一群驗證人的池子中抽取其中的三個,是以什麼作為依據抽取的?沒錯,就是按照KEEP 代幣持有量作為依據的。舉個例子,持有1000 枚KEEP 的人是持有100 枚KEEP 的人被抽中概率的十倍,也就是如果放在一個很長的時間跨度中,前者乾活的數量是後者的十倍。

持有更多KEEP 意味著驗證人可以更多的參與託管BTC,也就有機會獲得更多的潛在收益。

上線兩天就被發現的Bug,怎麼回事?

在tBTC 上線的兩天后,官方發現了一個協議的嚴重問題,於是按下了之前預留的全局開關,將整個系統的充值功能暫停10 天。

在此之前需要先介紹一個背景知識,比特幣在10 多年的發展過程中,隨著技術的演進誕生了多種地址類型,由不同類型的腳本生成:

後來誕生了由「3 開頭」的地址,這類腳本稱為P2SH (Pay to Script Hash),功能比較強大,支持多簽以及可以和後來的隔離見證組合;

一級標題

最後誕生的是原生隔離見證地址,由「bc1 開頭」,這類腳本稱為P2WPKH (Pay To Witness Public Key Hash),也會被稱為Bech32。

最初tBTC 在協議設計時,限定並強制要求贖回的地址必須是P2WPKH (bc1 開頭)。但是到了今年2 月,tBTC 的工程負責人提交了一個變更,放鬆了這個限制,也就是支持了P2WPKH 之外的腳本(1 或3 開頭)。

一級標題

問題未被發現的一整個流程為:

tBTC 協議設計中僅支持P2WPKH 地址—> 臨時決定放鬆對P2WPKH 限制—> 但係統未做相應調整—> 測試用例未覆蓋—> 其他功能漏洞導致誤認為測試通過了。

這些問題堆積在一起,導致了tBTC 帶著漏洞上線主網。

後續如何改進?

在該事件的回顧報告中,tBTC 項目表示將優化他們工作流程,還將與安全團隊Trail of Bits合作,為tBTC 規劃更多的自動化集成測試和系統測試。

補充一下,軟件開發流程中,在發布某個正式版之前,通常會先發布數個版本稱之為「發布候選版」(Release candidates),如果未發現任何漏洞,最後一個Release candidates (RC)就會成為最終的正式版,比如比特幣的下一個大版本0.20.0 就已經發布了兩個RC 版本。

tBTC 認為,另外一個可以有效降低項目風險的機制是限制整個系統的容量。也就是他們限制了BTC 可以換成TBTC 的最大數量,這樣就算出現嚴重問題,損失的也就是可控範圍內的比特幣或以太坊。

一級標題

ETH
BTC
歡迎加入Odaily官方社群