原文標題:《Bitlayer Core Technology: DLC and Its Optimization Considerations》
原文作者: lynndell mutourend, Bitlayer Research Group

1.引言
Discreet Log Contract (DLC) 是由麻省理工學院的Tadge Dryja 在2018 年提出的一套基於預言機的合約執行方案。 DLC 允許兩方根據預先定義的條件進行有條件付款。各方確定可能的結果並進行預簽名,並在預言機簽署結果時使用這些預簽名來執行付款。因此,DLC 可實現新的去中心化金融應用,同時確保比特幣存款的安全。
與閃電網絡相比,DLC 具有以下顯著優勢:
隱私性:DLC 在隱私保護方面優於閃電網絡,合約細節僅在參與者之間分享,而不會在區塊鏈上儲存。相較之下,閃電網路交易透過公開的通道和節點路由,其資訊公開且透明;
財務合約的複雜性和靈活性:DLC 能夠直接在比特幣網絡上創建和執行複雜的金融合約,如衍生品、保險和賭約等,而閃電網絡主要用於快速的小額支付,無法支援複雜應用;
降低對手方風險:DLC 資金被鎖定在多簽合約中,只有在預定義事件的結果出現時才會釋放,減少了任一方不遵守合約的風險。儘管閃電網絡減少了信任需求,但在通道管理和流動性提供方面仍存在一定的對手方風險;
無需管理支付通道:DLC 操作無需建立或維護支付通道,而這是閃電網絡的核心組成部分,通道管理既複雜又耗資源;
特定用例的可擴充性:閃電網絡在一定程度上提高了比特幣的交易吞吐量,而DLC 在比特幣上的複雜合約方面提供了較好的可擴展性。
雖然DLC 在比特幣生態應用中極具優勢,但仍存在一些風險和問題,如:
密鑰風險:預言機的私鑰和承諾的隨機數字具有洩漏或遺失風險,導致用戶資產損失;
中心化信任風險:預言機中心化問題,容易導致拒絕服務攻擊;
去中心化無法密鑰派生:如果預言機去中心化,則預言機節點只擁有私鑰分片。但是,去中心化的預言機節點無法基於私鑰分片直接使用BIP 32 進行金鑰派生;
共謀風險:如果預言機節點之間串謀、或與參與者串謀,仍無法解決預言機的信任問題。需要一個可靠的監督機制,使得預言機信任最小化;
固定面額找零問題:條件簽名需要在建立合約之前有確定性的可枚舉事件集合來建立交易。因此,DLC 用於資產重新分配會有最小金額的限制,導致存在固定面額的找零問題。
為此,本文提出一些方案與優化思路,解決DLC 的風險與問題,並提高比特幣生態系統的安全性。
2.DLC 原理
Alice 和Bob 簽署一個對賭協議:投注第n+k 個區塊的哈希值是奇數或偶數。如果是奇數,則Alice 贏得遊戲,可在t 時間內提取資產;如果是偶數,則Bob 贏得遊戲,可在t 時間內提取資產。使用DLC,透過預言機傳遞第n+k 的區塊訊息來建構條件簽名使得正確的獲勝者贏得所有資產。
初始化:橢圓曲線生成元為G,階為q。
密鑰產生:預言機、Alice 和Bob 獨立產生各自的私鑰和公鑰。
預言機的私鑰為z,公鑰為Z,滿足關係Z=z⋅G;
Alice 的私鑰為x,公鑰為X,滿足關係X=x⋅G;
Bob 的私鑰為y,公鑰為Y,滿足關係Y=y⋅G。
注資交易:Alice 和Bob 一起創建一個注資交易,各自將1 BTC 鎖在一個2-of-2 的多簽輸出(一個公鑰X 屬於Alice,一個公鑰Y 屬於Bob)。
合約執行交易:Alice 和Bob 建立兩筆合約執行交易(Contract Execution Transaction, CET),用於花費注資交易。
預言機計算承諾

然後,計算S 和 S

廣播(R, S, S)。
Alice 和Bob 各自計算對應的新公鑰

結算:當第n+k 個區塊出現後,預言機根據該區塊的雜湊值,產生對應的s 或s。
如果第n+k 個區塊的雜湊值為奇數,則預言機計算並廣播 s

如果第n+k 個區塊的雜湊值為偶數,則預言機計算並廣播 s

提幣:Alice 或Bob 其中一位參與者能根據預言機廣播的s 或s,提取資產。
如果預言機廣播s,則Alice 可以計算出新私鑰sk^{Alice} ,並提取鎖定的2 個BTC

如果預言機廣播s,則Bob 可以計算出新私鑰sk^{Bob},並提取鎖定的2 個BTC

分析:Alice 計算的新私鑰sk^{Alice} 與新公鑰PK^{Alice} 滿足離散對數關係

該情況下,Alice 提幣會成功。
同理,Bob 計算的新私鑰sk^{Bob} 與新公鑰PK^{Bob} 滿足離散對數關係

在這種情況下,Bob 提幣會成功。
另外,如果預言機廣播s,對Alice 有用,但是對Bob 沒用。因為,Bob 無法用來計算對應的新私鑰sk^{Bob}。同理,如果預言機廣播s,對Bob 有用,但是對Alice 沒用。因為,Alice 無法用來計算對應的新私鑰sk^{Alice}。
最後,上述描述省略了時間鎖。需要增加時間鎖,使得一方計算新私鑰,在t 時間內提幣。否則,如果超出t 時間,則另一方使用原私鑰就能提走資產。
3.DLC 優化
3.1 密鑰管理
在DLC 協定中,預言機的私鑰和承諾的隨機數至關重要。如果預言機的私鑰和承諾的隨機數洩漏或遺失,則容易導致以下4 個安全問題:
(1)預言機遺失私鑰 z
如果預言機遺失私鑰,則DLC 無法結算,導致需要執行DLC 退款合約。因此,DLC 協議中設定了退款交易,以防止預言機遺失私鑰。
(2)預言機洩漏私鑰 z
如果預言機的私鑰洩露,則所有基於該私鑰的DLC 都面臨詐騙結算風險。竊取私鑰的攻擊者可以簽署想要的任何訊息,實現對未來所有合約結果的完全控制。此外,攻擊者不僅限於發布單一簽署訊息,還可以發布衝突的訊息,例如同時簽署第n+k 個區塊的雜湊值為奇數和偶數。
(3)預言機洩漏或重複使用隨機數 k
若預言機洩漏隨機數k,則在結算階段,不管預言機廣播s 或s,攻擊者均可如下計算預言機的私鑰 z

若預言機重用隨機數k,則經過2 次結算,攻擊者可以根據預言機廣播的簽名,根據以下四種情況之一解方程組,求出預言機的私鑰z,
情況1 :

情況2 :

情況3 :

情況4 :

(4)預言機遺失隨機數 k
如果預言機遺失隨機數k,則對應的DLC 無法結算,需要執行DLC 退款合約。
因此,為提高預言機私鑰的安全性,應使用BIP 32 衍生出子秘鑰或孫金鑰,用於簽章。此外,為提高隨機數的安全性,應使用私鑰和計數器的雜湊值k:=hash(z, counter),作為隨機數k,以防隨機數重複或遺失。
3.2 去中心化預言機
DLC 中,預言機的角色至關重要,提供了決定合約結果的關鍵外部數據。為提高這些合約的安全性,則需要去中心化預言機。與中心化預言機不同,去中心化預言機將提供準確和防篡改資料的責任分散到多個獨立節點上,可以減少依賴單一故障點的風險,並降低操縱或針對性攻擊的可能性。通過去中心化預言機,DLC 可以實現更高程度的無需信任和可靠性,確保合約執行完全依賴預定條件的客觀性。
Schnorr 門限簽名可以實現去中心化預言機。 Schnorr 門限簽名具有以下優點:
增強安全性:通過分散密鑰的管理,門限簽名減少了單點故障的風險。即使部分參與者的密鑰被洩露或受到攻擊,只要不超過設定的門檻,整個系統仍然安全。
分散式控制:閘限簽章實現了對金鑰管理的分散式控制,無單一實體掌握全部簽名權力,降低了權力過於集中帶來的風險。
提高可用性:只需達到一定數量的預言機節點同意即可完成簽名,提高了系統的靈活性和可用性。即使部分節點不可用,也不會影響整體系統的可靠運作。
靈活性與可擴充性:門限簽名協定可以根據需要設定不同的閾值,適應各種不同的安全需求和場景。此外,它也適用於大規模網絡,具有良好的可擴展性。
可追責性:每個預言機節點基於私鑰分片對訊息產生簽章分片,其他參與方均可使用對應的公鑰分片驗證該簽名分片的正確性,實現追責。如果正確,則累加簽名分片,產生完整簽名。
因此,Schnorr 門限簽章協定在提高安全性、可靠性、靈活性、可擴展性和可追責性等的去中心化預言機中具有顯著優勢。
3.3 去中心化與金鑰管理耦合
在密鑰管理技術中,預言機擁有一個完整密鑰z,基於完整密鑰z 和增量ω ,使用BIP 32 ,能夠派出大量的子密鑰z+{ω }^{( 1)}和孫密鑰z+ω ^{( 1)}+ω ^{( 2)}。對於不同的事件,預言機能夠使用不同的孫私鑰z+ω ^{( 1)}+ω ^{( 2)}對對應的事件msg 產生對應的簽名σ 。
在去中心化預言機應用場景下,有n 個參與者,需要t+ 1 個參與者進行門限簽名。其中,t。 n 個預言機節點各自擁有一個私鑰分片z_i, i= 1,..., n。這n 個私鑰分片z_i 對應一個完整私鑰z,但完整私鑰z 從頭到尾不出現。在完整私鑰z 不出現的前提下,t+ 1 個預言機節點使用私鑰分片z_i, i= 1,..., t+ 1 對訊息msg產生簽名分片σ_i,簽名分片σ_i合併為完整的簽名σ 。驗證方使用完整公鑰Z 能夠校驗訊息簽名對(msg,σ )的正確性。由於需要t+ 1 個預言機節點聯合產生閘限簽名,所以具有較高的安全性。
但是,在去中心化預言機應用程式場景下,完整私鑰z 不出現,無法直接使用BIP 32 進行金鑰派生。換言之,預言機去中心化技術與金鑰管理技術無法直接耦合。
論文Distributed Key Derivation for Multi-Party Management of Blockchain Digital Assets提出門限簽章場景下的分散式金鑰派生方法。論文的核心思想是根據拉格朗日插值多項式,私鑰分片z_i 與完整私鑰z 滿足以下插值關係

上式兩邊均加上增量ω ,則得到下列等式

此方程式顯示:私鑰分片z_i 加上增量ω ,與完整私鑰z 加上增量ω 仍滿足插值關係。換言之,子私鑰分片z_i+ω與子密鑰z+ω滿足內插關係。因此,各參與者能夠使用私鑰分片z_i 加上增量ω 派生出子私鑰分片z_i+ω,用於產生子簽章分片,且使用對應的子公鑰Z+ω ⋅ G 能夠進行有效性驗證。
但是,需要考慮增強型與非增強型BIP 32 。增強型BIP 32 以私鑰、鏈碼和路徑為輸入,計算SHA 512 ,輸出增量和子鏈碼。而非增強型BIP 32 以公鑰、鏈碼和路徑為輸入,計算SHA 512 ,輸出增量和子鏈碼。閘限簽章情況下,私鑰不存在,所以只能使用非增強型BIP 32 。或使用同態雜湊函數,則有增強型BIP 32 。但是,同態雜湊函數與SHA 512 不同,與原BIP 32 不相容。
3.4 OP-DLC:預言機信任最小化
DLC 中,Alice 和Bob 之間的合約是根據預言機簽署的結果來執行的,因此需在一定程度上信任預言機。所以,預言機的行為正確,是DLC 運作的一大前提。
為預言機去信任化,已有研究根據n 個預言機的結果執行DLC,減少對單一預言機的依賴。
"n-of-n"模型表示使用n 個預言機簽訂合約,並根據n 個預言機的結果執行合約。模型要求n 個預言機均以線上簽名。如果有預言機離線或對結果有分歧,則影響DLC 合約執行。信任假設為n 個預言機均為誠實的。
"k-of-n"模型表示使用n 個預言機簽訂合約,根據其中k 個預言機的結果執行合約。如果有超過k 個預言機串謀,則影響合約的公正執行。此外,使用"k-of-n"模型時,需要準備的CET 數量,是單一預言機或"n-of-n"模型的C_n^k 倍。信任假設為n 個預言機中至少有k 個預言機是誠實的。
增加預言機數量,並沒有實現對預言機的去信任化。因為當預言機作惡後,合約受損方沒有鏈上申訴通道。
因此,本節提出OP-DLC,在DLC 中引入樂觀挑戰機制。n 個預言機在參與設置DLC 之前,需事先質押建構permisssionless 鏈上OP 遊戲,承諾不作惡。如果有任何一個預言機作惡,則Alice 或Bob 或任何其它誠實預言機或其它第三方誠實觀察者,均可發起挑戰。如果挑戰方贏得遊戲,則鏈上懲罰作惡預言機,罰沒其押金。此外,OP-DLC 也可採用"k-of-n"模型來簽。其中,k 值甚至可為1 。因此,信任假設降為只要網絡中有一個誠實的參與者就可發起OP 挑戰,懲罰作惡的預言機節點。
當根據Layer 2 計算結果,對OP-DLC 結算時:
如果預言機使用錯誤的結果簽名,使得Alice 利益受損,則Alice 可使用Layer 2 正確計算結果,對預言機提前質押的permisssionless 鏈上OP 遊戲發起挑戰。 Alice 贏得遊戲,懲罰作惡預言機,彌補損失;
同理,Bob、其它誠實預言機節點、第三方誠實觀察者均可發起挑戰。但是,為防止惡意挑戰,挑戰方也需要質押。
因此,OP-DLC 使得預言機節點之間互相監督,使得預言機信任最小化。機制只需要一個誠實參與方,容錯率99% ,較好地解決了預言機串謀風險。
3.5 OP-DLC + BitVM 雙橋
當DLC 用於跨鏈橋,DLC 合約結算時需要進行資金分配:
需通過CET 預先設定。這意味著DLC 的資金結算粒度是有限的,如Bison 網絡以0.1 BTC 為粒度。存在問題:用戶在Layer 2 的資產互動不應受限於DLC CET 的資金粒度。
當Alice 想要對其Layer 2 資產結算時,會強制將使用者Bob 的Layer 2 資產也結算到Layer 1 。存在問題:每位Layer 2 用戶應可自由選擇出入金,而不受其它用戶出入金影響。
Alice 和Bob 協商花費。存在問題:要求二者願意配合。
因此,為解決上述問題,本節提出OP-DLC + BitVM 雙橋。此方案讓用戶即可透過BitVM 的permissionless bridge 進行入金和出金,也可以透過OP-DLC 機制入金和出金,實現任意粒度找零,且提高資金流動性。
在OP-DLC 中,預言機為BitVM 聯盟,Alice 為普通用戶,Bob 為BitVM 聯盟。在設定OP-DLC 時,所建構的CET 中,給使用者Alice 的output 可在Layer 1 上立即花費,給Bob 的output 中建構一個「Alice 能參與挑戰的DLC 遊戲」並設定timelock 鎖定期。當Alice 想要出金:
如果BitVM 聯盟作為預言機,正確簽名,則Alice 可在Layer 1 提款。但是,Bob 等待鎖定期過後可在Layer 1 提款。
如果BitVM 聯盟作為預言機,作弊,導致Alice 利益受損。但是,Alice 可對Bob 的UTXO 提出挑戰。如果挑戰成功,則可罰沒Bob 的金額。注意:其它BitVM 聯盟成員之一也可發起挑戰,但Alice 利益受損,最有動機發起挑戰。
如果BitVM 聯盟作為預言機,作弊,導致Bob 利益受損。但是,BitVM 聯盟中的一個誠實成員可對「BitVM 遊戲」發起挑戰,懲罰作弊的預言機節點。
此外,當使用者Alice 想要從Layer 2 出金,但OP-DLC 合約內預設的CET 沒有符合的金額,則Alice 可選擇以下方式:
通過BitVM 出金,由BitVM operator 在Layer 1 墊付。 BitVM bridge 假設為BitVM 聯盟中有一個誠實參與方。
通過OP-DLC 中的某個CET 出金,同時剩餘的找零由BitVM operator 在Layer 1 墊付。 OP-DLC 出金會關閉DLC 通道,但DLC 通道中剩餘的資金會轉向BitVM Layer 1 資金池,而不會強迫其他Layer 2 用戶出金。 OP-DLC bridge 信任假設為通道內有誠實參與方。
Alice 和Bob 協商花費,無需預言機參與,要求Bob 配合。
因此,OP-DLC + BitVM 雙橋具有以下優勢:
使用BitVM 解決了DLC 通道資金找零問題,降低CET 的設定數量,且不受CET 資金粒度影響;
將OP-DLC bridge 和BitVM bridge 結合,為使用者提供多種出金入金通道,任意粒度找零;
將BitVM 聯盟設定為Bob 和預言機,透過OP 機制,使得預言機信任最小化;
將DLC 通道的出金餘量引入BitVM bridge 資金池,提升資金使用率。
4. 結論
DLC 出現在Segwit v1(Taproot)啟動之前,且已實現DLC 通道與閃電網絡的集成,並將DLC 擴展為可在同一DLC 通道內更新執行連續合約。透過Taproot 和BitVM 等技術,將可在DLC 內實現更複雜的鏈下合約驗證結算,同時結合OP 挑戰機制,實現預言機信任最小化。
參考文獻


