將比特幣連接到雪崩鏈:技術概述

技術概述:AB 橋集成比特幣網路

我們已宣布 Avalanche Bridge(AB橋)添加支援比特幣。比特幣網路的跨鏈支援,使用的是 AB 橋原始架構的相同技術和設計,其技術分析詳見:Avalanche Bridge : Secure Cross-Chain Asset Transfers Using Intel SGX

值得注意的是,為了支援比特幣網路的跨鏈轉帳,AB 橋設計了新的 Intel SGX 應用。 Intel SGX 是一組安全相關的指令,能構建私密、防篡改的安全 enclave 「指定位址空間」。作為 AB 橋的關鍵技術,Intel SGX 能在各方均不持有密鑰的情況下確保 AB 橋的安全執行。 SGX 中執行的跨鏈應用依附於一組第三方索引器和驗證方,即 “看門人(Warden)”。共有 8 個看門人負責維護 AB 橋的安全性:Halborn、Avascan、Bware Labs、Ankr、Chainstack、Protofire、Blockdaemon和Ava Labs。除了以上技術分析文章所介紹的功能,Warden 現在還增加了搜尋比特幣區塊鏈的功能。

下文將介紹如何使用 Core 瀏覽器擴充錢包將比特幣轉到 Avalanche

BTC.b

跨鏈時,比特幣將顯示為 Avalanche C 鏈上的 ERC20 代幣,代幣符號為 BTC.b。其中,“.b” 表示該代幣來自比特幣網路,正如透過 AB 橋跨鏈的以太坊代幣以 “.e” 結尾。每個 BTC.b 代幣都有一個鎖定在 AB 橋應用中的比特幣作為抵押。您可以在 Snowtrace 查看

BTC.b 代幣的合約:https://snowtrace.io/address/0x152b9d0fdc40c096757f570a51e494bd4b943e50/
enclave 應用的比特幣地址則為:https://blockstream.info/address/bc1q2f0tczgrukdxjrhhadpft2fehzpcrwrz549u90/

跨鏈流程

從比特幣網路跨鏈到 Avalanche,首先要在新版 Core 錢包中選擇比特幣網路並發送交易,將比特幣轉至僅由 SGX enclave  「指定位址空間」控制的跨鏈橋地址。跨鏈橋僅支持比特幣網路上的 Pay-To-Witness-Public-Key-Hash 輸出類型。為了確保比特幣轉賬具有上述輸出類型並滿足所有跨鏈要求,用戶必須始終使用 Core 瀏覽器擴充錢包,因為其跨鏈橋 UI 是專為快捷便利的跨鏈體驗設計的。當該交易包括在區塊中,並獲得必要數量的確認後,Warden 節點將搜尋這筆交易,並將其發送給 Intel SGX 應用進行處理。 SGX enclave 收到 8 個 Warden 節點中至少 6 個節點的許可後,才會處理這筆交易。這時,SGX 應用會在發送轉賬交易的錢包中鑄造(創建)相同數量的 BTC.b。

本文將在下一節章節詳述如何確定用戶錢包地址。同樣,將 BTC.b 從 Avalanche 轉回比特幣網路時,用戶需在 Avalanche 一側發送交易,對 BTC.b 合約進行 “解包”,即銷毀 BTC.b 代幣。隨後,Warden 會搜尋這筆交易,SGX enclave 會處理這筆交易,將相同數量的比特幣發送至用戶在比特幣網路一側的錢包。

地址生成

在 AB 橋添加比特幣網路的跨鏈支持,需要對比特幣特有的技術問題制定專門的解決方案。 AB 橋的關鍵特點之一是在所有網路上使用同一個用戶的錢包。這一點對以太坊- Avalanche 間的ERC20 代幣轉賬沒有任何障礙,因為兩條鏈使用的都是 EVM(以太坊虛擬機)地址格式,某個地址在以太坊一側啟動轉賬並提供抵押資產後,AB 橋便能在同一地址上鑄造打包代幣。然而,比特幣網路使用的是截然不同的地址系統。為確定向跨鏈橋提供抵押資產的比特幣地址所對應的Avalanche 地址,Warden 將從比特幣網路上的簽名交易中恢復用戶錢包的公鑰,並用該公鑰生成 Avalanche C 鏈地址。這樣一來,兩個網路上的資金都由同一私鑰或助記詞控制,而且它們永遠在用戶錢包的全權管理下。同樣,當用戶從 Avalanche 將資金轉回比特幣網路時,Warden 將從銷毀打包資產的 Avalanche 交易中恢復公鑰,生成用戶的比特幣地址。

地址生成方法的一個問題在於幾乎所有比特幣錢包都是 HD(分層確定性)錢包,收到的每筆UTXO 的公鑰和私鑰都不同。這與 EVM 的賬戶模型很不相同,EVM 錢包所有交易都使用同一個私鑰。 HD 錢包與 AB 橋並不兼容,因為用戶希望款項可以轉到單一的 Avalanche 地址,而不是分散到多個地址。為了讓用戶體驗更加便利,Core 瀏覽器擴充錢包不僅提供比特幣錢包的功能,還提供專門的比特幣網路- Avalanche 跨鏈介面。 Core 錢包中的比特幣地址和 Avalanche C 鏈地址使用同一私鑰,從而實現單一錢包內的跨鏈轉賬。雖然 HD 錢包對每筆交易使用新地址的設計能提高比特幣網路的隱私性,但是我們認為採用單一地址錢包是非常明智的選擇,因為包括 Avalanche C 鏈和以太坊在內的所有 EVM 鏈都採用這一模型,這種選擇能讓跨鏈體驗更加絲滑。

構建比特幣交易

為了在 AB 橋添加比特幣網路,比特幣的 UTXO(未花費交易輸出)的管理也是一個重要的課題。與 EVM 基於帳戶的模型不同,發送比特幣交易時必須指定顯式輸入和輸出。這對 AB 橋來說是一個難題,因為 Intel SGX enclave 應用並不管理 UTXO,只管理控制錢包的密鑰。用戶從Avalanche 向比特幣網路轉帳時,為了構建對應金額的比特幣交易,enclave首先會讓一個Warden 來提議用哪些 UTXO 作為新交易的輸入。 Warden 向 enclave 提供 UTXO 後,enclave會要求所有 Warden 驗證 UTXO 的選擇,構建原始交易來消耗這些 UTXO,並創建上一步所指定的輸出。只有當 8 個 Warden 中至少 6 個同意這些 UTXO,並構建相同的原始交易後,enclave 才會繼續處理這筆交易。假如其他 Warden 並不贊同第一個 Warden 選擇的UTXO,enclave 將指定另一個 Warden 來選擇花費哪些 UTXO,重複剛才的步驟。當 Warden 就 UTXO達成一致並構建原始交易後,enclave 將簽署該交易,並通過 Warden 將其傳送到比特幣網路。其中非常重要一點的是,簽署交易的密鑰絕對不會在 enclave  「指定位址空間」外的任何地方公開。

手續費

比特幣網路 – Avalanche 間的跨鏈手續費與以太坊 – Avalanche 間的跨鏈手續費模式相近,詳見AB 橋常問問題解答:FAQ of AB 跨鏈橋常問問題 。

然而,由於比特幣特殊的 UTXO 模型,預估手續費有不小的難度。 EVM 鏈的手續費與交易的“份量” 成正比,即操作中消耗了多少 gas,而比特幣的手續費則與交易的 “大小” 成正比,即交易消耗並創建了多少 UTXO。準確估算跨鏈手續費,既需要所發送的 BTC 的數量,也需要用於支付該數量的 UTXO 集合。這兩項都是無法事先確定的。同樣是金額為 1.0 BTC 的轉賬交易,如果轉給 Bob 的 1.0 BTC 被分割為多筆小額 UTXO,它的手續費可能會是轉給 Alice 1.0 BTC 的兩倍。為向跨鏈橋用戶提供穩定、可預測的費率,我們實施了以下模型:根據跨鏈橋所控制的UTXO 的平均大小和轉賬的 BTC 的金額,計算預期的 BTC 交易手續費,由此收取跨鏈手續費。如果預期交易手續費略高於實際手續費,高出部分將流入跨鏈橋池,用於支付預期手續費低於實際手續費的情況。我們通過這樣一個 “動態平衡” 的系統,提供更可預測的用戶體驗。為了維持這個系統的健康運行,我們通過配置確保跨鏈橋池的淨流入略高於 0,並持續監測跨鏈橋池的狀態。

UTXO 管理

設計跨鏈橋如何管理 UTXO 時,我們非常注重避免 ‘粉塵(dust)UTXO’ 的積累。粉塵 UTXO 指金額極低的 UTXO,其金額甚至低於轉移這些 UTXO 的成本。如上文所述,大量粉塵 UTXO 會導致 BTC 交易費用升高,非常麻煩。為將粉塵 UTXO 降到最少,跨鏈橋採取了兩種相對簡單的方法。首先,比特幣網路 – Avalanche 間的最低跨鏈金額設為 0.00125 BTC(可調整)。跨鏈橋不會處理低於該金額的 UTXO。其次,從 Avalanche 轉回比特幣網路,構建比特幣交易時,跨鏈橋將使用 “控制找零金額” 的方法,即 Warden 節點會在選擇構成新交易的 UTXO 時刻意將額外的輸入包括其中,由此確保流回跨鏈橋的 “找零UTXO” 不會金額過低。

此外,Warden 如何選擇比特幣交易所花費的 UTXO 也是一個要點。為了讓跨鏈橋發送的交易包括在比特幣網路的區塊中,Warden 傾向於在此後的跨鏈交易中花費未確認的找零 UTXO。由此,即使比特幣網路手續費升高,跨鏈橋之前發送的交易仍會依據父子支付方案(child pays for parent)包括在區塊中。如果沒有未確認找零 UTXO,則 Warden 會將累計時間最長的UTXO 聚合起來,直到達到轉賬的金額。雖然這種設計未必能嚴格將交易大小和手續費降到最低,它為跨鏈橋提供了管理 UTXO 的簡單方法,並確保小額 UTXO 最終會聚合為金額較大的 UTXO。

結論

我們很高興能為 AB 橋添加比特幣網路,持續推動 Avalanche DeFi 生態的發展。 Intel SGX 技術解決了比特幣跨鏈的多項技術難題,賦予了 AB 橋獨特的定位和優勢。我們非常期待看到社群的反饋。


關於 Avalanche

Avalanche 雪崩協議是新一代的、革命性的共識協議;Avalanche 雪崩公鏈正是基於雪崩共識打造的、對開發者最為友好的、可定制化的、高速安全可靠的高性能公鏈。

Avalanche 鏈上交易完成速度飛快、擁有最多數量的驗證節點,同時糅合了 PoS 共識的優點,保證所有鏈上活動的安全性。雪崩協議具有極速、低費用和綠色環保的特點。支持智能合約的應用如果想超越對手,都可通過部署在雪崩協議上獲得卓越競爭力。不可置信?現在就試用一下雪崩協議上的應用吧。

雪崩官網:https://avax.network
雪崩繁中群:https://t.me/avalanche_tw
雪崩中文 Facebook 專頁:https://lihi1.com/SciIL
雪崩中文 Medium:https://medium.com/@avaxtw
更多生態項目:https://twitter.com/AVATAR_AVAX

本文不構成投資建議,虛擬貨幣波動大請謹慎小心

掌握虛擬貨幣、區塊鏈大小事

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。