# OP-DLC 2: 真理往往簡單2018年,麻省理工學院的Tadge Dryja提出了Discreet Log Contract (DLC),這是一種基於預言機的合約執行框架。DLC允許雙方根據預定義條件進行有條件支付。雙方預先確定可能結果並進行預籤名,在預言機簽署結果時使用這些預籤名執行支付。DLC在保證比特幣存款安全的同時,實現了新的去中心化金融應用。前文《DLC原理解析及其優化思考》總結了DLC的優勢和存在的問題,並提出了一些優化思路。但由於DLC涉及多方參與,不同方之間的串謀攻擊較爲復雜,導致預防策略也相對復雜。復雜的防御策略並非完美,缺乏簡潔美。在比特幣中,任何行爲都需通過UTXO實現。因此,通過共識機制確保UTXO正確,就能抵御任意攻擊。同理,在DLC中,所有行爲都通過CET(Contract Execution Transaction)實現。只要使用樂觀挑戰機制確保CET正確,就能抵御任意攻擊。具體而言,預言機質押2BTC後才能簽署CET。在CET中添加樂觀挑戰機制。如果CET不被挑戰或成功應對挑戰,則視爲正確,可完成結算,預言機解除質押並獲得手續費。如果預言機試圖作惡,任何人都可成功挑戰,該CET將無法結算,預言機損失質押金且無法再對同一CET籤名。這種方法簡單有效,體現了大道至簡的智慧。## DLC原理以Alice和Bob的對賭協議爲例:投注第ξ個區塊哈希值的奇偶。如果是奇數Alice贏,如果是偶數Bob贏。DLC通過預言機傳遞區塊信息,構造條件籤名使正確的一方獲勝。DLC的基本流程包括:1. 注資交易:Alice和Bob各存入10BTC到2-of-2多簽地址。2. 構建CET:創建兩種可能結果的CET。3. 預言機計算承諾並爲Alice和Bob生成新公鑰。4. 結算:預言機根據實際結果簽署相應CET。5. 提幣:獲勝方計算新私鑰並提取20BTC。研究發現,DLC中任何行爲都需通過CET實現。只要用樂觀挑戰機制確保CET正確,就能抵御任意攻擊。錯誤的CET會被挑戰而不執行,正確的CET則會執行。預言機需爲惡意行爲付出代價。## OP-DLC 2OP-DLC包括以下5個規定:1. 預言機由聯盟組成,任一成員可簽署CET。質押2BTC後才能籤名賺手續費。作惡者損失質押。Alice和Bob也可成爲預言機,實現信任最小化。2. 預言機作惡修改結果時,任何人都可發起挑戰。3. 預言機誠實簽署CET時,1周後可正確結算。預言機獲得0.05BTC獎勵。4. 任何人都可對預言機籤名發起挑戰。誠實籤名1周後執行結算,預言機解鎖質押並獲得手續費。不誠實籤名被成功挑戰後無效,預言機損失質押,且不可再對該合約發起相同結果的籤名。5. OP-DLC中的挑戰是無需許可的,任何人都可監督合約執行。實現了對預言機的信任最小化。Alice和Bob可離線,因爲作惡的預言機會被懲罰。OP-DLC的優點包括:- 資產控制度高,用戶可只信任自己- 資金利用率高- 預言機在入金時確定,但用戶也可成爲預言機缺點包括:- 出金時間需1周- 需要預籤的籤名數量與CET數量呈線性增長## 結論OP-DLC將樂觀挑戰機制引入CET,確保正確的CET執行,錯誤的CET不被結算。這種簡單有效的方法能夠抵御任意攻擊,體現了設計的簡潔美。
OP-DLC 2: 樂觀挑戰機制助力DLC抵御攻擊
OP-DLC 2: 真理往往簡單
2018年,麻省理工學院的Tadge Dryja提出了Discreet Log Contract (DLC),這是一種基於預言機的合約執行框架。DLC允許雙方根據預定義條件進行有條件支付。雙方預先確定可能結果並進行預籤名,在預言機簽署結果時使用這些預籤名執行支付。DLC在保證比特幣存款安全的同時,實現了新的去中心化金融應用。
前文《DLC原理解析及其優化思考》總結了DLC的優勢和存在的問題,並提出了一些優化思路。但由於DLC涉及多方參與,不同方之間的串謀攻擊較爲復雜,導致預防策略也相對復雜。復雜的防御策略並非完美,缺乏簡潔美。
在比特幣中,任何行爲都需通過UTXO實現。因此,通過共識機制確保UTXO正確,就能抵御任意攻擊。同理,在DLC中,所有行爲都通過CET(Contract Execution Transaction)實現。只要使用樂觀挑戰機制確保CET正確,就能抵御任意攻擊。具體而言,預言機質押2BTC後才能簽署CET。在CET中添加樂觀挑戰機制。如果CET不被挑戰或成功應對挑戰,則視爲正確,可完成結算,預言機解除質押並獲得手續費。如果預言機試圖作惡,任何人都可成功挑戰,該CET將無法結算,預言機損失質押金且無法再對同一CET籤名。這種方法簡單有效,體現了大道至簡的智慧。
DLC原理
以Alice和Bob的對賭協議爲例:投注第ξ個區塊哈希值的奇偶。如果是奇數Alice贏,如果是偶數Bob贏。DLC通過預言機傳遞區塊信息,構造條件籤名使正確的一方獲勝。
DLC的基本流程包括:
注資交易:Alice和Bob各存入10BTC到2-of-2多簽地址。
構建CET:創建兩種可能結果的CET。
預言機計算承諾並爲Alice和Bob生成新公鑰。
結算:預言機根據實際結果簽署相應CET。
提幣:獲勝方計算新私鑰並提取20BTC。
研究發現,DLC中任何行爲都需通過CET實現。只要用樂觀挑戰機制確保CET正確,就能抵御任意攻擊。錯誤的CET會被挑戰而不執行,正確的CET則會執行。預言機需爲惡意行爲付出代價。
OP-DLC 2
OP-DLC包括以下5個規定:
預言機由聯盟組成,任一成員可簽署CET。質押2BTC後才能籤名賺手續費。作惡者損失質押。Alice和Bob也可成爲預言機,實現信任最小化。
預言機作惡修改結果時,任何人都可發起挑戰。
預言機誠實簽署CET時,1周後可正確結算。預言機獲得0.05BTC獎勵。
任何人都可對預言機籤名發起挑戰。誠實籤名1周後執行結算,預言機解鎖質押並獲得手續費。不誠實籤名被成功挑戰後無效,預言機損失質押,且不可再對該合約發起相同結果的籤名。
OP-DLC中的挑戰是無需許可的,任何人都可監督合約執行。實現了對預言機的信任最小化。Alice和Bob可離線,因爲作惡的預言機會被懲罰。
OP-DLC的優點包括:
缺點包括:
結論
OP-DLC將樂觀挑戰機制引入CET,確保正確的CET執行,錯誤的CET不被結算。這種簡單有效的方法能夠抵御任意攻擊,體現了設計的簡潔美。