DLC原理解析與優化思考


Bitlayer的核心技術是謹慎日誌合約(DLC),允許在比特幣網路上創建和執行複雜的金融合約。與閃電網路相比,DLC具有更高的隱私性、合約複雜度與靈活性、對手方風險降低、消耗管理支付通道等優勢。然而,DLC也面臨風險和問題,如私鑰遺失、中心化信任風險等。為解決這些問題,提出了一些最佳化方案。其中,透過OP-DLC機制實現樂觀挑戰,最大化預示機信任。另外結合BitVM雙橋解決資金分配問題。總的來說,OP-DLC技術能夠提高比特幣生態系統的安全性和可擴展性。

原文標題:《Bitlayer核心技術:DLC及其優化考量》

作者:lyndell 和mutourend,Bitlayer 研究小組

原文連結:https://medium.com/@Bitlayer/bitlayer-core-technology-dlc-and-its-optimization-considerations-6fc5ebaae92c

1.引言

謹慎日誌合約(DLC)是由麻省理工學院的Tadge Dryja在2018年提出的一套基於前置機的合約執行方案。 DLC允許雙方根據預先定義的條件進行有條件付款。雙方確定可能的結果並進行預簽名,並在前機簽署結果時使用這些預簽名來支付執行。因此,DLC可實現新的去中心化金融應用,同時確保比特幣的存款安全。

與閃電網路相比,DLC具有以下顯著優勢:

隱私性:DLC在隱私保護方面覆蓋閃電網絡,機密細節僅在參與者之間分享,而不會在區塊鏈上儲存。相較之下,閃電網路交易透過公開的通道和節點路由,其資訊公開且透明;

合約的複雜性和靈活性:DLC能夠直接在比特幣網路上創建和執行複雜的金融合約,如衍生性商品、保險和賭約財務等,而閃電網路主要用於快速的小額支付,無法支援複雜性應用;

降低對手方風險:DLC資金被鎖定在多簽合約中,只有在預定義事件的結果出現時才會釋放,減少了任何一方不遵守合約的風險。閃電網路減少了信任需求,但在通道管理流動性提供方面仍存在一定的對手方風險;

消耗管理支付通道:DLC操作消耗創建或維護支付通道,而這是閃電網路的核心組成部分,通道管理既複雜又消耗資源;

一個特定的可擴展性:閃電網路在一定的編程上提高了比特幣的交易吞吐量,而DLC在比特幣的複雜合約方面提供了更好的可擴展性。

儘管DLC 在比特幣生態應用中佔據優勢,但仍存在一些風險和問題,例如:

風險風險:前置機的私鑰和承諾的隨機數有遺失或遺失風險,導致使用者資產損失;

中心化信任風險:預示機中心化問題,容易導致拒絕服務攻擊;

去中心化無法實現鑰匙派生:如果前置機去中心化,則前置機節點僅擁有私鑰分片。但是,去中心化的前置機節點無法基於私鑰分片直接使用BIP32進行鑰匙派生;

串風險規劃:如果預測機節點之間串謀、或與參與者串謀,則仍沒有解決預測機的信任問題。需要一個可靠的監督機制,使得預測機信任最大化;

固定面額零找問題:條件簽名需要在建立合約之前有確定性的可枚舉事件集合來建立交易。因此,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共同創建記注資交易,各自將1BTC鎖在一個2-of-2的多簽輸出上(一個主角X屬於Alice,一個主角Y屬於Bob)。

合約執行交易:Alice和Bob創建兩筆合約執行交易(Contract Execution Transaction, CET),用於消耗注資交易。

前置機運算承諾

$R:=k·G$

然後,計算S和S’

$S:=R 哈希(OddNumber,R) ⋅ Z,$

$S’:=R 哈希(偶數,R) ⋅ Z$

廣播(R,S,S’)。

Alice和Bob分別計算對應的新客戶端

$PK^{愛麗絲}:=X+ S,$

$PK^{鮑伯}:=Y+ S’.$

結算:當第n+k個區塊出現後,本地機根據該區塊的雜湊值,產生對應的s或s’。

如果第n+k個區塊的雜湊值為奇數,則前置機計算並廣播

$s:=k-hash(OddNumber,R) ⋅ z$

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

$s’:=k 哈希(偶數,R) ⋅ z$

提幣:Alice或Bob其中一個參與者能根據天氣預報,提取資產。

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

$sk^{愛麗絲}:= x + s.$

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

$sk^{鮑伯}:= y + s’.$

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

$sk^{愛麗絲} ⋅ G= (x+s) ⋅ G=X+S=PK^{愛麗絲}$

這種情況下,Alice提幣就會成功。

同理,Bob計算的新私鑰sk^{Bob}與新公鑰PK^{Bob}滿足離散對數關係

$sk^{鮑伯} ⋅ G= (y+s’) ⋅ G=Y+S’=PK^{鮑伯}$

這種情況下,鮑伯提幣就會成功。

另外,如果預報機廣播,對愛麗絲有用,但對鮑伯沒用。 ,鮑伯無法用來計算對應的新私鑰sk^{Bob}。同理,如果預報因為機廣播’,對鮑勃有用,但是對愛麗絲沒用。因為,愛麗絲無法用來計算對應的新私鑰sk^{Alice}。

最後,描述省略了時間鎖定。需要時間鎖定,使得在t期限內計算出新私鑰。否則,如果超出時間,上述另一方使用原私鑰即可提走資產。

3.DLC優化

3.1 密鑰管理

在DLC協定中,主機的私鑰和承諾的隨機數至關重要。如果主機的私鑰和承諾的隨機數遺失或遺失,則容易導致以下4種安全問題:

(1)前置機遺失私鑰z

如果前置機遺失私鑰,則DLC無法結算,導致需要執行DLC退款合約。 ,DLC協議中設定了退款交易,以防止前置機遺失私鑰。

(2)預告機失蹤私鑰z

如果本機的私鑰洩露,則所有基於該私鑰的DLC 都面臨詐欺結算風險。竊取私鑰的攻擊者可以簽署想要的任何訊息,實現對未來合約所有結果的完全控制。此外,攻擊者不僅發布單一簽章訊息,還可以發布衝突的訊息,例如同時指定第n+k個區塊的雜湊值為奇數和偶數。

(3) 前面機遺失或重複使用隨機數k

如果相鄰機遺失隨機數k,則處於結算階段,無論相鄰機廣播或s’,攻擊者預期如下計算相鄰機的私鑰z

$z:=(ks)/哈希(OddNumber, R)$

$z:=(k-s’)/hash(EvenNumber, R)$

如果機重用隨機數k,則經過2次結算,攻擊者可以根據前置機廣播的其中一個簽名,根據以下四種情況解解方程組,求出前置機的私鑰z,

情況一:

$s_1=k-hash(OddNumber_1, R) ⋅ z$

$s_2=k-hash(OddNumber_2, R) ⋅ z$

情況2:

$s_1’=k-hash(EvenNumber_1, R) ⋅ z$

$s_2’=k-hash(EvenNumber_2, R) ⋅ z$

情況3:

$s_1=k-hash(OddNumber_1, R) ⋅ z$

$s_2’=k-hash(EvenNumber_2, R) ⋅ z$

情況4:

$s_1’=k-hash(EvenNumber_1, R) ⋅ z$

$s_2=k-hash(OddNumber_2, R) ⋅ z$

(4)前置機遺失隨機數k

如果本地機遺失隨機數k,則對應的DLC無法結算,需要執行DLC退款合約。

因此,為提高預測機私鑰的安全性,應使用BIP32衍生出子秘鑰或孫金鑰,用於簽章。另外,為提高隨機數的安全性,應使用私鑰和計數的雜湊值k :=hash(z, counter),作為隨機數k, 隨機數重複或遺失。

3.2 去中心化天氣預報

DLC中,預兆機的角色至關重要,提供了決定合約結果的關鍵外部數據。為提高這些合約的安全性,則需要去中心化預兆機。與中心化預兆機不同,中心化預兆機將提供準確和防篡改資料的責任去中心化到多個獨立節點上,可以減少依賴單一故障點的風險,並降低叢集或佇列去攻擊的可能性。透過中心化鄰近機,DLC可以實現更高程度的憑藉信任和可靠性,確保合約執行依賴於預定條件的偵查性。

Schnorr門限簽名可以實現去中心化東南機。 Schnorr門限簽名具有以下優點:

增強安全性:透過去中心化金鑰的管理,門限簽章減少了單點故障的風險。即使部分參與者的密鑰被洩露或受到攻擊,只要不超過設定的門檻,整個系統仍然安全。

去中心化控制:門限簽章實現了對金鑰管理的去中心化控制,無實體單一掌握全部簽章權力,從而降低了權力過度中心化所帶來的風險。

提高可用性:只要達到一定數量的前置機節點同意即可完成簽名,提高了系統的靈活性和可用性。即使部分節點不可用,也不會影響整體系統的可靠運作。

靈活與可擴展性:門限簽名協定可以根據需要設定不同的閾值,適應各種不同的安全需求和場景。此外,它也適用於大規模網絡,具有良好的可擴展性。

可追責:每個前鋒節點都基於私鑰分片對訊息產生簽名分片,其他參與者使用對應的公鑰分片來驗證該簽章分片的正確性,實現追責。如果正確,則累加簽名分片,產生完整簽名。

因此,Schnorr門限簽章協定在提高安全性、靈活性、可擴展性和可追責性等的去中心化中具有顯著優勢。

3.3 去中心化與樞紐管理連接

在金鑰管理技術中,前置機擁有一個完整密鑰z,基於完整密鑰z和增量ω,使用BIP32,能夠派出大量的子密鑰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不出現,無法直接使用BIP32進行按鍵生。換言之,前置機去中心化技術與按鍵管理技術無法直接耦合。

論文《區塊鏈數位資產多方管理的分散式金鑰派生》提出了門限簽章場景下的金鑰派生方法。論文的核心思想是根據拉格朗日插值創作式,私鑰分片z_i與完整私鑰z滿足以下插值關係

DLC原理解析及優化思考

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

DLC原理解析及優化思考

等式顯示:私鑰分片z_i加上增量ω,與完整私鑰z加上增量ω仍滿足插值關係式。換言之,子私鑰分片z_i+ω與子鍵z+ω滿足內插關係。因此,各個參與者能夠使用私鑰分片z_i加上增量ω衍生出子私鑰分片z_i+ω關係,用於產生子簽章分片,並使用對應的子公鑰Z+ω ⋅ G。能夠進行有效性驗證。

但是,需要考慮增強型與非增強型BIP32。增強型BIP32以私鑰、鏈碼和路徑為輸入,計算SHA512,輸出增量和子鏈碼。並非增強型BIP32以公鑰、鏈碼和路徑為輸入,計算SHA512,輸出增量和子鏈碼。輸入,計算SHA512,輸出增量和子鏈碼。閘限簽章情況下,私鑰不存在,所以只能使用非增強型BIP32。或使用同態雜湊函數,則有增強型BIP32。但是,同態雜湊函數與SHA512不同,與原BIP32不相容。

3.4 OP-DLC:預測機信任最大化

DLC中,Alice和Bob之間的約定是根據前置機簽章的結果來執行的,需要在一定的編譯信任前置機。所以,前置機的行為隨之正確,是DLC運作的一大前提。

對於上位機去信任化,現有研究根據上位機的結果執行DLC,減少對單一上位機的依賴。

「n-of-n」模型表示使用n個前置機來履行合約,並根據n個前置機的結果來履行合約。此機型要求n個前置機均在線上簽名。如果有前置機離線或對結果有缺口,則影響DLC 的履行。信任假設為下一個機的誠實。

「k-of-n」模型表示使用n個前置機的滿足合約,根據其中k個前置機的結果執行合約。如果有超過k個前置機的串謀,則影響合約的公正執行。另外,使用「k」 -of-n」模型時,需要準備的CET數量,是單一前置機或」n-of-n」模型的C_n^k倍。信任假設為n個前置機中至少有k個前置機是誠實的。

增加預告機數量,並沒有實現對預告機的去信任化。因為當預告機作惡後,悲劇方沒有鏈上申訴通道。

因此,本節提出OP-DLC,在DLC中引入樂觀挑戰。 n個前置機在參與設置DLC之前,需事先質押建置無許可鏈上OP遊戲,承諾不作惡。如果有任何一個前置機作惡,則Alice或Bob或任何其他債務機或其他第三方債務觀察者,發起挑戰。如果挑戰方贏得遊戲,則鏈上懲罰作惡鄰居機,罰沒其押金。此外,OP-DLC也可採用「k」 -of-n」模型來簽署。其中,k值甚至補償1。因此,信任假設降為只要網路中有一個權益的參與者就可發起OP挑戰,懲罰作惡的鄰居機節點。

當根據Layer2計算結果,對OP-DLC結算時:

如果Alice使用錯誤的結果簽名,使得Alice利益受損,則Alice可使用Layer2正確計算結果,對前置機提前質押的未經許可鏈上OP遊戲發起挑戰。 Alice贏得遊戲,懲罰作惡前置機,彌補損失;

同理,鮑伯、其他誠實選舉機節點、第三方公平觀察者發起挑戰。 ,但為防止惡意挑戰,挑戰方也需要質押。

因此,OP-DLC使得預示機節點之間相互監督,使得預示機信任需要最小化。該機制僅一個公平參與方,容錯率達99%,並較好地解決了預示機串謀風險。

3.5 OP-DLC + BitVM雙橋

當DLC用於跨鏈橋時,DLC合約結算時需要進行資金分配:

透過CET預先設定。這意味著DLC的資金結算粒度需要是有限的,如Bison網路以0.1 BTC為粒度。存在問題:用戶在Layer2的資產交易應該決定於DLC CET的資金粒度。

當Alice想要其Layer2資產時,會強制將使用者Bob的Layer2資產也結算到Layer1。有問題:每個Layer2用戶可以自由選擇出入金,而不受其他用戶出入金影響。

Alice和Bob協商花費。存在問題:要求雙方願意。

因此,為了解決上述問題,本節提出了OP-DLC + BitVM 雙橋。此方案使得使用者可以透過BitVM 的無許可橋進行入金和出金,也可以透過OP-DLC 機制入金和出金,實現任意粒度找零,且提高資金流動性。

在OP-DLC中,前置機為BitVM聯盟,Alice為普通用戶,Bob為BitVM聯盟。在設定OP-DLC時,所建構的CET中,給用戶Alice的輸出可在Layer1上立即花費,給Bob的輸出中建構一個「愛麗絲能參與挑戰的DLC遊戲」並設定時間鎖鎖定期。當愛麗絲想要出金:

如果BitVM聯盟作為預測機,簽章正確,則Alice可在Layer1提款。但是,Bob等待鎖定期過後可在Layer1提款。

如果BitVM聯盟作為前鋒但是作弊,導致Alice利益受損。 ,Alice可以對Bob的UTXO發起挑戰。如果挑戰成功,則可以罰沒Bob的金額。注意:其他BitVM聯盟成員之一也可以發起挑戰,但Alice利益受損,最有發起挑戰的動機。

如果BitVM聯盟作為前置機,但作弊,導致Bob利益受損。 ,BitVM聯盟中的一個誠實成員可以對「BitVM遊戲」發起挑戰,懲罰作弊的前置機節點。

另外,當使用者Alice想要從Layer2出金,但OP-DLC約定在預設的CET沒有符合的金額時,則Alice選擇以下方式:

透過BitVM出金,由BitVM業者在Layer1墊付。 BitVM橋假設為BitVM聯盟中有一個參與者。

透過OP-DLC中的某位CET出金,同時剩餘的找零由BitVM業者在Layer1墊付。 OP-DLC出金會關閉DLC頻道,但DLC頻道中剩餘的資金會轉向BitVM Layer1資金礦池,而不是會強制其他Layer2用戶出金。 OP-DLC橋信託假設為通道內有誠實參與方。

愛麗絲和鮑伯商議,趕赴當地參與,要求鮑伯毆打。

因此,OP-DLC + BitVM雙橋具有以下優勢:

使用BitVM解決了DLC通道資金找零問題,降低CET的設定數量,且不受CET資金粒度影響;

將OP-DLC橋與BitVM橋結合,提供使用者多種出金入金通道,任意粒徑找零;

將BitVM聯盟設定為Bob和前置機,透過OP機制,使得前置機信任度最大化;

將DLC通道的出金餘裕引入BitVM橋資金礦池,提升資金利用率。

4.結論

DLC出現在Segwit v1(Taproot)啟動之前,且已實現DLC通道與閃電網路的集成,則DLC擴展為可在同一個DLC通道內更新執行連續合約。借助Taproot和BitVM等技術,將可在DLC內實現更複雜的鏈下合約驗證結算,同時結合OP挑戰機制,實現預示機信任最大化。

參考文獻

離散日誌合約規範

謹慎的日誌合約

擴展DLC 第1 部分:鏈下謹慎日誌合約

擴展DLC 第2 部分:DLC 的自由選項問題

擴展DLC 第3 部分:如何避免DLC 的自由選項問題

閃電網路

閃電DLC

DLC 私鑰管理第1 部分

DLC 私鑰管理第2 部分:Oracle 的私鑰

DLC 金鑰管理第3 部分:Oracle 公鑰分發

BitVM:在比特幣上計算任何東西

BitVM 2:比特幣的無許可驗證

BitVM 鏈下比特幣合約

BIP32 BIP44

施諾爾簽名

FROST:靈活的輪優化Schnorr 閾值簽名

ECDSA 閾值簽名調查

區塊鏈數位資產多方管理的分散式金鑰派生

隔離證人

樂觀匯總

直根

資訊來源:0x資訊編譯自網際網路。版權歸作者Bitlayer Labs所有,未經許可,不得轉載

Total
0
Shares
Related Posts