ชื่อเรื่องเดิม: 《เทคโนโลยีหลักของ Bitlayer: DLC และข้อคิดที่ต้องพิจารณาในการปรับปรุง》
ผู้เขียนต้นฉบับ: mutourend & lynndell, กลุ่มวิจัย Bitlayer
Discreet Log Contract (DLC) เป็นโครงสร้างการดำเนินการสัญญาที่ใช้ Oracle ที่ถูกนำเสนอโดย Tadge Dryja จากมหา’ลัยแมสซาชูเซตส์ในปี 2018 DLC อนุญาตให้สองฝ่ายทำการชำระเงินตามเงื่อนไขที่กำหนดไว้ล่วงหน้า ฝ่ายสองฝ่ายได้ตกลงกันล่วงหน้าเกี่ยวกับผลลัพธ์ที่เป็นไปได้และทำการลงลายมือชื่อล่วงหน้า และใช้ลายมือชื่อล่วงหน้าเหล่านั้นเมื่อ Oracle ลงลายมือชื่อผลลัพธ์ จึงจะทำการชำระเงินด้วยนั้น DLC สามารถทำให้มีการปฏิบัติใช้งานในการเงินแบบกระจายอำนาจใหม่ในขณะที่ยังคงรักษาความปลอดภัยของการฝากเงินบิตคอยน์
บทความก่อนหน้านี้ “DLC Principle Analysis and Its Optimization Thinking” สรุปข้อดีของ DLC ในการปกป้องความเป็นส่วนตัวสัญญาที่ซับซ้อนและความเสี่ยงด้านสินทรัพย์ต่ําและยังวิเคราะห์ปัญหาของความเสี่ยง Secret Key ความเสี่ยงการกระจายอํานาจความน่าเชื่อถือและความเสี่ยงในการสมรู้ร่วมคิดใน DLC และแนะนํา oracles แบบกระจายอํานาจลายเซ็นเกณฑ์และกลไกความท้าทายในแง่ดีลงใน DLC เพื่อแก้ปัญหาต่าง ๆ ที่ควรเผชิญ เนื่องจาก DLC เกี่ยวข้องกับผู้เข้าร่วมสามคน Oracle Machine, Alice และ Bob การสมรู้ร่วมคิดระหว่างผู้เข้าร่วมที่แตกต่างกันจึงค่อนข้างซับซ้อนส่งผลให้กลยุทธ์การป้องกันค่อนข้างซับซ้อน กลยุทธ์การป้องกันที่ซับซ้อนไม่สมบูรณ์แบบไม่สอดคล้องกับความเรียบง่ายและขาดความงามของความเรียบง่าย
ใน Bitcoin พฤติกรรมใด ๆ ของผู้เข้าร่วมจะต้องดําเนินการผ่าน UTXO ดังนั้นการใช้กลไกฉันทามติเพื่อให้แน่ใจว่า UTXO ถูกต้องจึงสามารถต้านทานการโจมตีโดยพลการได้ ในทํานองเดียวกันในปี DLC พฤติกรรมใด ๆ ของฝ่ายใดฝ่ายหนึ่งจะต้องดําเนินการผ่าน CET (ธุรกรรมการยกเลิกสัญญา) ดังนั้นหากคุณใช้กลไกความท้าทายในแง่ดีเพื่อให้แน่ใจว่า CET ถูกต้องคุณจะสามารถต้านทานการโจมตีโดยพลการได้ โดยเฉพาะหลังจาก Oracle Machine เดิมพัน 2B TC คุณจะสามารถลงนามใน CET ได้ เพิ่มกลไกความท้าทายในแง่ดีให้กับ CET หาก CET ไม่ถูกท้าทายหรือหากการจัดการความท้าทายสําเร็จ CET นั้นถูกต้องการตั้งถิ่นฐานสามารถทําได้ Oracle Machine เงินเดิมพันจะถูกปล่อยออกมาและชําระค่าธรรมเนียม หาก Oracle พยายามทําความชั่วร้ายทุกคนสามารถท้าทายได้สําเร็จ CET จะไม่ตั้งถิ่นฐาน Oracle Machine จะสูญเสียเงินเดิมพันและ Oracle Machine จะไม่สามารถลงนามใน CET เดียวกันได้อีกต่อไป สอดคล้องกับความเรียบง่ายของถนนด้วยความงามที่เรียบง่าย
Alice และ Bob ได้ลงลายมือในเรื่องการเดิมพัน: การเดิมพันว่าค่าแฮชของบล็อกที่ξ เป็นเลขคี่หรือคู่ หากเป็นเลขคี่ Alice จะชนะเกมและสามารถถอนสินทรัพย์ได้; หากเป็นเลขคู่ Bob จะชนะเกมและสามารถถอนสินทรัพย์ได้ ใช้ DLC ผ่าน Oracle เพื่อส่งข้อมูลเกี่ยวกับบล็อกที่ξ เพื่อสร้างลายเซ็นเงื่อนไขให้ฝ่ายชนะที่ถูกต้องชนะสินทรัพย์ทั้งหมด
เชิงวงกลมสร้างขึ้นจาก G มีลำดับ q คาดการณ์, Alice และ Bob มีคีย์คู่ต่าง ๆ คือ (z, Z), (x, X), (y, Y) ตามลำดับ
การทำธุรกรรมการลงทุน (on-chain):Alice และ Bob สร้างการทำธุรกรรมการลงทุนร่วมกัน โดยแต่ละคนล็อก 10 BTC ในเอาต์พุต multisignature 2-of-2 (คีย์สาธารณะ X ของ Alice และคีย์สาธารณะ Y ของ Bob)
สร้าง CET (off-chain): Alice และ Bob สร้าง CET 1 และ CET 2 เพื่อใช้ในการทำธุรกรรมการลงทุน
เครื่อง Oracle คำนวณค่าตั้งต้น R = k · G และคำนวณ S และ S’
S := R - แฮช(OddNumber, R) · Z
S’ := R - hash(EvenNumber, R) · ร้าน Lomography Z
ต่อไปนี้คือคีย์สาธารณะใหม่ที่สอดคล้องกับ Alice และ Bob:
PK^{อลิซ} := X + S
PK^{Bob} := Y + S’.
การตั้งถิ่นฐาน (off-chain->on-chain): เมื่อสร้างบล็อกแรกสําเร็จ CET 1 หรือ CET 2 ที่เกี่ยวข้องจะถูกเซ็นชื่อ Oracle Machine ตามค่าแฮชของบล็อก
ถ้าแฮชเป็นจำนวนคี่ แล้ว Oracle จะลงนามดังต่อไปนี้ s
s := k - แฮช(OddNumber, R) z
ส่งออก CET 1 ।
หากแฮชเป็นจำนวนคู่ จะทำการลงลายเซ็นเรื่อง s’ โดยเครื่อง Oracle
s’ := k - แฮช(EvenNumber, R) z
ส่งสัญญาณ CET 2 ।
การถอนเงิน (on-chain): หาก Oracle กระจาย CET 1 Alice สามารถคำนวณคีย์ส่วนตัวใหม่และใช้จ่าย BTC 20 ที่ถูกล็อกไว้
sk^{อลิซ} = x + s
หาก Oracle กระจาย CET 2 แล้ว Bob สามารถคำนวณคีย์ส่วนตัวใหม่และใช้เงินล็อก 20 BTC
sk^{บ๊อบ} = y + s’
ทีมวิจัย Bitlayer ค้นพบว่าในขั้นตอนที่กล่าวมา การกระทำใดๆ ก็ต้องใช้ CET ในการดำเนินการ ดังนั้น การใช้กลไกท้าทายอารมณ์เชิงบวกเพียงอย่างเดียวก็สามารถต้านการโจมตีได้ CET ที่ผิดพลาดจะถูกท้าทายและไม่ได้ดำเนินการ ในขณะที่ CET ที่ถูกต้องจะได้รับการดำเนินการ นอกจากนี้ ต้องมีเครื่อง Oracle ที่จะต้องชดเชยการกระทำที่ไม่เป็นความจริง
หากโปรแกรมที่จะท้าทายคือ f(t) จะต้องสร้าง CET ดังนี้
s = k - การแฮช(f(t), R) z.
假设,真实情况为第ξ个区块的哈希值是奇数 odd,即 f(ξ) = OddNumber,เครื่อง Oracle ควรลงนาม CET 1
s := k - แฮช(OddNumber, R) z
แต่ Oracle ทำชำเรา เปลี่ยนค่าฟังก์ชันเป็น Even ลงนาม CET 2 :
s’ := k - hash(EvenNumber, R) z
ดังนั้นผู้ใช้ทุกคนสามารถทำตาม f(ξ) ≠ OddNumber เพื่อป้องกันการกระทำที่ไม่เป็นธรรม
OP-DLC ประกอบด้วยกฎ 5 ข้อต่อไปนี้:
ถ้า Oracle_sign เป็นความซื่อสัตย์ จะไม่สามารถเริ่ม Disprove-CET 1 ซึ่งจะถูกดำเนินการในอีก 1 สัปดาห์ นอกจากนี้ยังมีการปลดล็อค stake Oracle และได้รับค่าธรรมเนียม;
หาก Oracle_sign ไม่ซื่อสัตย์ นั่นหมายความว่า ผู้ใดก็สามารถเรียกร้อง Disprove-CET 1 ได้สำเร็จ และใช้เงินเอาท์พุตของ connector A ได้สำเร็จ ลายเซ็นของ Oracle นั้นจึงเป็นโมฆะ สูญเสีย 2B TC ที่เคลื่อนไหวและ Oracle นี้จะไม่สามารถเริ่มต้นลายเซ็นผลลัพธ์เดียวกันสำหรับสัญญา DLC อีกต่อไป โดยที่ Settle-CET 1 ที่ขึ้นอยู่กับเอาท์พุต connector A จะเป็นโมฆะตลอดกาล
ข้อดี:
ข้อเสีย:
OP-DLC นำเข้ากลไกท้าทายที่เชื่อมโยงกับ CET เพื่อให้มั่นใจว่า CET ที่ไม่ถูกต้องจะไม่ได้รับการตัดบัญชี และการเสียหายของ Oracle ที่เกี่ยวข้องจะถูกปลดเปลี่ยน; ให้ความมั่นใจว่า CET ที่ถูกต้องจะได้รับการดำเนินการ และเงินเดิมพันของ Oracle จะถูกปลดและได้รับค่าธรรมเนียม วิธีการนี้สามารถต้านการโจมตีอย่างมีประสิทธิภาพและง่ายดาย
อ้างอิง