BTC「跨鏈」方式及安全性分析

作者:DaPangDun,Mirror

談到BTC生態,不可避免的要涉及BTC的“跨鏈”,與EVM生態不同,因為BTC主網沒有圖靈完備的智能合約能力,因此暫時無法用類似於EVM生態那樣的跨鏈方案。

本文我將把BTC常見的跨鏈方式進行通俗介紹,並簡要分析其安全性。

1、多簽橋

1.1 概述

多簽是一個需要多個人的私鑰簽名才能夠實現交易的技術形式。

一般的錢包,我們只需要使用自己的私鑰簽名就能夠實現交易,這種稱為1-of-1的形式。對於多簽錢包,因為需要多個人的私鑰簽名,因此增強了安全性;同時,因為可以採用m-of-n的形式(例如5個人,只需要其中3個人的簽名即可),降低了單點故障的風險。

多簽橋通俗理解就是我們將錢打入這樣一個多簽地址,然後在對應的鏈中產生一個映射的資產或份額證明。

1.2 安全性分析

注意:在做安全性分析時,我們都排除“駭客風險”“技術程式碼漏洞風險”

多簽的最大風險是組成多簽的這部分人/個體/機構的風險。

MS-1:一般的多簽橋

安全分析:風險主要來自多簽人的組成,如果多簽全部或主要由專案方相關人員把控,表面上用戶看到的是多簽,實際上跟「單簽」沒區別。

MS-2:選定有背景的個人/機構的多簽橋

安全分析:這種情況下安全性會好很多,相當於有背景的多簽,人為作惡可能性會降低(考慮到名聲等因素),但如果可能的利潤足夠大,多方依然有聯合作惡的可能,引入受法規監管的機構會更好。

MS-3:去中心化的多簽人+隨機選取的多簽橋

安全分析:很多人擔心多簽人的組成,那麼引入足夠多的多簽人,爭取“多簽人去中心化”,然後在實際的操作過程中隨機抽取多簽人作為驗證者,那麼這種安全性又會高一些;不過我們需要觀察這個「去中心化」的程度和真實性,否則又只是表面上的東西。

2、MPC

2.1 概述

這是一種使用被稱為多方計算(MPC) 的技術來保護交易的方案。

簡單來說,多簽方案需要多個人的私鑰簽名,而MPC方案是將一個私鑰拆分為很多部分,加密之後分配給多個個體,當需要交易的時候,一個個體提出來,然後大家都用同樣的函數演算法計算後結合在一起就可以批准交易。這個技巧也可以和多簽結合起來,也就是使用N中的M個就可以組成有效簽名。

MPC方案相對於多簽是更新的技術,當然也有不少的爭議。例如“可問責性”,對於外人來看,MPC簽名的各個部分是無法區分到底是誰做的,所以一旦出問題如何追責是一個很大的問題。

2.2 安全性分析

MPC與多簽類似,但也有所不同;最大風險是組成MPC的節點的風險,還有就是計算函數參數的洩漏風險。

MPC-1:一般的MPC

安全分析:組成MPC的節點都是專案方的或是利益相關的,那麼隨時都有rug的可能。

MPC-2:選用有背景的個人/機構等作為節點

安全分析:安全性相對會好很多,但同樣的,如果可能的利潤夠大,多方依然有聯合作惡的可能。

MPC-3:引入去中心化節點並充分採用TEE環境

安全分析:如果充分引入去中心化的見證者,然後隨機選取,在TEE內進行簽名,相對來說安全性又會高不少。

同時,可以引入隨機選取函數、隱藏見證人資訊等各個方式來提升其他維度的安全性。

統一風險:TEE參數洩露

如果在產生運算函數的時候TEE參數被洩露,或是作為節點的TEE環境被攻克或惡意洩露,那麼整個安全系統就失效了。

3、DLC

3.1 概述

DLC是謹慎日誌合約(Discreet Log Contracts)的簡稱。這個技巧是由麻省理工學院的Tadge Dryja 在2018 年提出的,是一套簡潔的斷言機合約方案。

舉例來說,A和B打賭,如果明天BTC價格到100,000那麼A給B 1BTC,如果沒到那麼B給A 1BTC;然後他們在鏈下利用DLC生成這樣的合約並且注資簽名,但是這個交易是無效的,必須要有斷言機的簽名才能變成有效交易,斷言機就相當於我們的oracle(類似link的作用),然後當斷言機提供了信息然後簽名了之後,DLC合約就會執行,比如BTC價格達到了100,000,那麼注資裡面的A 的1BTC就會轉給B。

而且,有趣的是,DLC可以讓斷言機根本不知道合約內容是什麼,斷言機只需要提供資料就可以了,這樣就能一定程度上避免斷言機作惡的可能性。

3.2 安全性分析

DLC方案的主要風險在於斷言機。

DLC-1:一般的DLC(專案方提供斷言機)

安全分析:由專案方提供斷言機,一般來說只在測試階段使用,如果在正式網路這樣使用的話,那麼安全性完全取決於專案方的作惡意圖。

DLC-2:引入第三方斷言機

安全分析:在這種情況下,安全性會提升,特別是當第三方比較知名的情況下,可能的問題是斷言機遭受攻擊報錯的風險,當然,合謀的風險也還是有的。

DLC-3:引入多個第三方斷言機

安全分析:在這種情況下,安全性再提升,避免了單點故障的風險。

當然,我們也可以再其上加入其它的技術,例如op等來提升安全性。

DLC的方案還是比較有趣的,但是目前似乎還沒有這種專業的斷言機;並且,還有一個問題是:這種斷言機需要羅列所有的可能性預先進行簽名,從而才能在對應事件發生時觸發合約,比較繁瑣。

4.時間鎖

4.1 概述

原則上時間鎖並不屬於“跨鏈”的範疇,它能實現的是“質押”功能,但是因為它能實現BTC上的原生質押並且質押之後可以通過其他方式生成憑證變相“跨鏈”,因此也放在這裡一起討論。

「時間鎖」 ,顧名思義,就是限定條件是與時間有關的鎖。具體來說,就是必須有一個時間事件發生後才能打開的鎖。 BTC系統種有「絕對時間鎖」和「相對時間鎖」兩種,前者是規定一個具體的時間點(例如一個日期或一個區塊高度)後解鎖,後者是規定一個時延(例如過多少個區塊的數量)後解鎖。

舉例來說,我們可以定義一筆錢必須在高度385421後才能花費,這是絕對時間鎖;我們也可以定義一筆錢必須得到6個區塊確認之後才能花費,這就是相對時間鎖。

時間鎖能實現的功能其實還蠻多的,例如:

1)強制存儲。有點類似定期存款的味道,怕自己拿不住,就放在一個有time-lock腳本的地址裡面,只有到時間才能取出;

2)意外容災。例如自己有BTC資產,但擔心自己出意外,可以配合多簽來設定自己的私鑰簽章可以直接花費這個BTC,但如果一年都沒有動了,那麼就可以由另外的幾個私鑰來花費這個BTC;

3)無信任的仲裁。例如爭端事件,需要仲裁機構參與,那麼可以設定一個相對時間鎖的方式來提供這樣無信任的仲裁介入方案。

4)…

4.2 安全性分析

時間鎖因為技術很原生,而且對於BTC「跨鏈」範疇來說主要是用於質押,而在質押上是到期解質押,控制權一直在用戶手裡,所以等同於主網安全性。

當然,有可能一些質押項目會有slash的措施,風險點就在於誤報slash造成資產損失。

5、Bitvm

5.1 概述

BitVM技術估計很多人都聽過,簡單來說,就是利用現有的opcodes進行組合,形成足夠為BTC主網帶來圖靈完備(其實不能完全這樣認為,準確來說是對現有需求足夠“圖靈完備」)能力的一種技術方案。

這個方案很晦澀,實現和落地過程都比較複雜,但是基於其有巨大的前景,依然有很多人看好。

對應跨鏈這個方向,如果可以基於BitVM實作ZK橋或是OP橋,那麼就能和EVM系相同了。

5.2 安全性分析

如果能實現,安全性也是毋庸置疑的,但是需要觀察落地情況,目前來說比較難。

6、Covenants

6.1 概述

Covenants,中文譯為「限制條款」,有時也翻譯為「契約」,是一種能夠為未來的比特幣交易設定條件的機制。

你可以理解為這些都是BTC系統中的操作碼,包括現有的、還在審核的、已經被棄用的等等。這些腳本操作碼是形成BTC擴充能力的關鍵。我們很自然可以想到,如果我們可以多啟用一些操作碼,是不是就可以提升擴展性從而實現比如原生的跨鏈了呢?

這個觀點是沒問題的,但是引入新的操作碼,或者是引入新的限制條款也可能會導致一些計劃外的濫用或漏洞,因此社區對此也比較謹慎。

另外,限制條款的升級也需要涉及共識規則的軟分叉升級。鑑於taproot 升級時的情形,限制條款相關的升級可能也需要很長時間來完成。

例如最近呼聲很高的OP_CAT一旦通過確實能夠提升BTC的擴充能力,但是其潛在的未知風險讓通過的可能性不大。

資料來源:https://s.foresightnews.pro/article/detail/60406

6.2 安全性分析

事實上,暫時無法分析這種方案的安全性,因為暫時還是沒有方案的,只是一種可能性,不過從原理上來說,如果這種方案能夠落地,相對是比較原生的,安全性比較高。

7.總結

從BTC的跨鏈方式的多樣性我們可以看出,行業內人員在透過各種各樣的方式來嘗試解決這個問題。因為擴展能力的不足,所以很多「奇技淫巧」都在被挖掘出來。

目前主要的跨鏈是透過多簽來實現的,雖然一般的多簽方案潛藏著資產風險,也不大符合「自己掌握資產控制權」的理念,但是因為其相對簡單,體驗方便,是很多項目的首選方式,我們也能看到一些項目基於多簽的最佳化方案等。

不過,可喜的是,我們也能在BTC生態發展中看到越來越多原生的跨鏈方案,它們很側重“資產安全性”,畢竟“BTC是最優質的的資產”的概念是深入人心的,安全的跨鏈才能夠讓BTC持有者放心的投入進來。

這一方面的具體項目和技術解析,可以多看看極客web3的一些推文。

Total
0
Shares
Related Posts