ชื่อดั้งเดิม: "เทคโนโลยี Bitlayer Core: OP-DLC 2: Great Truths are Always Simple"
ผู้เขียนต้นฉบับ: mutourend & lynndell, Bitlayer Research Group
1. บทนำ
Discreet Log Contract (DLC) คือเฟรมเวิร์กการดำเนินการตามสัญญาตาม Oracle ที่เสนอโดย Tadge Dryja จาก MIT ในปี 2018 DLC อนุญาตให้ทั้งสองฝ่ายชำระเงินแบบมีเงื่อนไขตามเงื่อนไขที่กำหนดไว้ล่วงหน้า ทั้งสองฝ่ายกำหนดล่วงหน้าและลงนามล่วงหน้าในผลลัพธ์ที่เป็นไปได้ และใช้ลายเซ็นล่วงหน้าเหล่านี้เพื่อดำเนินการชำระเงินเมื่อ oracle ลงนามในผลลัพธ์ ดังนั้น DLC จึงเปิดใช้งานแอปพลิเคชันทางการเงินแบบกระจายอำนาจใหม่ ในขณะเดียวกันก็รับประกันความปลอดภัยของเงินฝาก Bitcoin
บทความก่อนหน้านี้ " การวิเคราะห์หลักการ DLC และความคิดในการเพิ่มประสิทธิภาพ " ได้สรุปข้อดีของ DLC ในแง่ของการปกป้องความเป็นส่วนตัว สัญญาที่ซับซ้อน และความเสี่ยงด้านสินทรัพย์ต่ำ นอกจากนี้ ยังวิเคราะห์การมีอยู่ของความเสี่ยงหลัก ความเสี่ยงจากการกระจายอำนาจ ความเสี่ยงจากการสมรู้ร่วมคิด ฯลฯ ปัญหา DLC และแนะนำ Oracle แบบกระจายอำนาจ ลายเซ็นตามเกณฑ์ กลไกการท้าทายในแง่ดี ฯลฯ ลงใน DLC เพื่อแก้ไขปัญหาต่างๆ ที่ควรเผชิญ เนื่องจาก DLC เกี่ยวข้องกับสามฝ่าย ได้แก่ oracle, Alice และ Bob จึงค่อนข้างซับซ้อนสำหรับฝ่ายต่างๆ ที่จะสมรู้ร่วมคิดในการโจมตีอย่างละเอียดถี่ถ้วน ส่งผลให้เกิดกลยุทธ์การป้องกันที่ค่อนข้างซับซ้อน กลยุทธ์การป้องกันที่ซับซ้อนนั้นไม่สมบูรณ์แบบ ไม่สอดคล้องกับหลักการของความเรียบง่าย และขาดความสวยงามของความเรียบง่าย
ใน Bitcoin พฤติกรรมใดๆ ของผู้เข้าร่วมใดๆ จะต้องดำเนินการผ่าน UTXO ดังนั้นการใช้กลไกที่เป็นเอกฉันท์เพื่อให้แน่ใจว่า UTXO ถูกต้องสามารถต้านทานการโจมตีตามอำเภอใจได้ ในทำนองเดียวกัน ใน DLC พฤติกรรมใดๆ ของผู้เข้าร่วมใดๆ จะต้องดำเนินการผ่าน CET (ธุรกรรมการดำเนินการตามสัญญา) ดังนั้นการใช้กลไกการท้าทายในแง่ดีเพื่อให้แน่ใจว่า CET ถูกต้องสามารถต้านทานการโจมตีตามอำเภอใจได้ โดยเฉพาะอย่างยิ่ง หลังจากที่ oracle ให้คำมั่นสัญญา 2B TC ก็สามารถลงนาม CET ได้ เพิ่มกลไกความท้าทายในแง่ดีให้กับ CET หาก CET ไม่ได้รับการท้าทายหรือตอบสนองต่อการท้าทายได้สำเร็จ CET นั้นถูกต้องและสามารถชำระหนี้ได้สำเร็จ และ Oracle จะไม่รับผิดชอบและรับค่าธรรมเนียมการจัดการ หาก Oracle พยายามทำสิ่งชั่วร้าย ใครก็ตามสามารถท้าทายได้สำเร็จ CET จะไม่เป็นเช่นนั้น ชำระแล้ว และ oracle จะสูญเสีย เงินฝากถูกฝากแล้ว และ oracle ไม่สามารถลงนาม CET เดียวกันได้อีก สอดคล้องกับความเรียบง่ายที่ยิ่งใหญ่ แต่ก็มีความสวยงามของความเรียบง่าย
หลักการ 2.DLC
อลิซและบ็อบลงนามในข้อตกลงการเดิมพัน: เดิมพันว่าค่าแฮชของบล็อก ξth เป็นเลขคี่หรือเลขคู่ หากเป็นเลขคี่ อลิซจะชนะเกมและสามารถถอนทรัพย์สินได้ หากเป็นเลขคู่ บ๊อบจะชนะเกมและสามารถถอนทรัพย์สินได้ เมื่อใช้ DLC ข้อมูลบล็อกที่ ξ จะถูกส่งผ่าน Oracle เพื่อสร้างลายเซ็นแบบมีเงื่อนไข เพื่อให้ผู้ชนะที่ถูกต้องชนะเนื้อหาทั้งหมด
เครื่องกำเนิดเส้นโค้งวงรีคือ G และลำดับคือ q คู่สำคัญของออราเคิล อลิซ และบ็อบ คือ (z, Z), (x, X), (y, Y) ตามลำดับ
ธุรกรรมการระดมทุน (on-chain): อลิซและ Bob สร้างธุรกรรมการระดมทุนร่วมกัน โดยแต่ละล็อค 10 BTC ในเอาต์พุตหลายลายเซ็น 2 ใน 2 (คีย์สาธารณะ X หนึ่งอันเป็นของ Alice และคีย์สาธารณะ Y หนึ่งอันเป็นของ Bob) .
การสร้าง CET (นอกเครือข่าย): Alice และ Bob สร้าง CET 1 และ CET 2 สำหรับการใช้จ่ายธุรกรรมการระดมทุน
ออราเคิลคำนวณความมุ่งมั่น R = k · G จากนั้นคำนวณ S และ S'
S := R - แฮช(OddNumber, R) · Z
S' := R - hash(EvenNumber, R) · Z
จากนั้นคีย์สาธารณะใหม่ที่สอดคล้องกับ Alice และ Bob จะเป็นดังนี้:
PK^{อลิซ} := X + S
PK^{บ๊อบ} := Y + S'
การชำระเงิน (ออฟเชน -> ออนเชน): เมื่อบล็อก ξth ถูกสร้างขึ้นสำเร็จ oracle จะลงนาม CET 1 หรือ CET 2 ที่เกี่ยวข้องตามค่าแฮชของบล็อก
หากแฮชเป็นเลขคี่ oracle จะมีเครื่องหมาย s ดังต่อไปนี้
s := k - แฮช (OddNumber, R) z
ออกอากาศ CET 1
หากแฮชเป็นเลขคู่ สัญลักษณ์ออราเคิลจะส่งสัญญาณ s'
s' := k - แฮช (EvenNumber, R) z
ออกอากาศ CET 2
ถอนเหรียญ (on-chain): หาก oracle ออกอากาศ CET 1 อลิซสามารถคำนวณรหัสส่วนตัวใหม่และใช้ 20 BTC ที่ถูกล็อค
sk^{อลิซ} = x + s
หาก oracle ออกอากาศ CET 2 Bob จะสามารถคำนวณคีย์ส่วนตัวใหม่และใช้จ่าย 20 BTC ที่ถูกล็อคได้
sk^{บ๊อบ} = y + s'
ทีมวิจัยของ Bitlayer พบว่าในกระบวนการข้างต้น พฤติกรรมใดๆ จะต้องดำเนินการผ่าน CET ดังนั้นจึงจำเป็นต้องใช้กลไกการท้าทายในแง่ดีเท่านั้นเพื่อให้แน่ใจว่า CET ถูกต้อง และสามารถต้านทานการโจมตีตามอำเภอใจได้ CET ที่ไม่ถูกต้องจะถูกท้าทายและจะไม่ดำเนินการ ในขณะที่ CET ที่ถูกต้องจะถูกดำเนินการ นอกจากนี้ Oracle ยังต้องจ่ายราคาสำหรับพฤติกรรมที่เป็นอันตรายอีกด้วย
โปรแกรมที่จะท้าทายคือ f(t) ดังนั้น CET ควรถูกสร้างดังนี้
s = k - แฮช(f(t), R) z
สมมติว่าสถานการณ์จริงคือค่าแฮชของบล็อก ξth เป็นเลขคี่ นั่นคือ f(ξ) = OddNumber และ oracle ควรลงชื่อ CET 1
s := k - แฮช (OddNumber, R) z.
อย่างไรก็ตาม ออราเคิลได้ทำสิ่งที่ชั่วร้ายและเปลี่ยนค่าฟังก์ชันเป็นคู่ โดยลงนาม CET 2:
s' := k - แฮช (EvenNumber, R) z.
ดังนั้นผู้ใช้สามารถเอาชนะพฤติกรรมที่เป็นอันตรายนี้ได้ตาม f(ξ) ≠ OddNumber
3.OP-DLC 2
OP-DLC มีข้อกำหนด 5 ข้อต่อไปนี้:
Oracle ประกอบด้วยพันธมิตรที่มีผู้เข้าร่วม n คน และสมาชิกทุกคนสามารถลงนาม CET ได้ มีเพียงการให้คำมั่นสัญญา 2B TC เท่านั้นที่เครื่อง Oracle จะสามารถออกลายเซ็นและรับค่าธรรมเนียมการจัดการได้ หากสมาชิกทำชั่ว เงินเดิมพันก็จะสูญไป สมาชิกคนอื่นๆ สามารถลงนาม CET ต่อไปได้ เพื่อให้มั่นใจว่าผู้ใช้สามารถถอนเงินได้ อลิซและบ็อบสามารถกลายเป็นนักพยากรณ์ได้ เชื่อใจตัวเองเท่านั้นอย่างแท้จริงและลดความไว้วางใจให้เหลือน้อยที่สุด
ถ้าพยากรณ์ทำชั่วและแก้ไขผลลัพธ์ มันจะนำไปสู่สถานการณ์โดยที่ f 1(ξ) ≠ z 1, f 2(z 1) ≠ z 2 อย่างหลีกเลี่ยงไม่ได้ ดังนั้น ผู้เข้าร่วมสามารถเริ่มต้นการท้าทายได้ กล่าวคือ ดำเนินธุรกรรม Disprove-CET 1
หาก oracle ลงนาม CET โดยสุจริต จะไม่มีฝ่ายใดสามารถเริ่มธุรกรรมปฏิเสธการพิสูจน์ที่ถูกต้องได้ หลังจากผ่านไป 1 สัปดาห์ CET จะถูกตัดสินอย่างถูกต้อง นอกจากนี้ oracle ยังได้รับรางวัล 0.05 BTC จากการยึดครองทุนเป็นเวลา 1 สัปดาห์ของ 2B TC ที่ให้คำมั่นสัญญา และค่าธรรมเนียมการจัดการสำหรับการลงนาม CET โดยสุจริต
ทุกฝ่ายสามารถท้าทาย Oracle_sign:
หาก Oracle_sign เป็นจริง ธุรกรรม Disprove-CET 1 จะไม่สามารถเริ่มต้นได้ และการชำระเงิน CET จะดำเนินการในอีกหนึ่งสัปดาห์ต่อมา นอกจากนี้ เครื่องออราเคิลยังให้คำมั่นที่จะปลดล็อคและรับค่าธรรมเนียมการจัดการ
หาก Oracle_sign ไม่ซื่อสัตย์ กล่าวคือ ใครก็ตามที่เริ่มต้นธุรกรรม Disprove-CET 1 ได้สำเร็จ และใช้เอาต์พุตของตัวเชื่อมต่อ A ได้สำเร็จ ลายเซ็นของ oracle จะไม่ถูกต้อง และ 2B TC ที่ให้คำมั่นไว้จะหายไป และ oracle จะไม่อีกต่อไป สามารถทำได้ในอนาคต สัญญา DLC จะเริ่มต้นลายเซ็นด้วยผลลัพธ์เดียวกัน เนื่องจาก Settle-CET 1 ที่ใช้เอาต์พุตตัวเชื่อมต่อ A จะใช้งานไม่ได้อย่างถาวร
ความท้าทายใน OP-DLC นั้นไม่ได้รับอนุญาต กล่าวคือ ผู้เข้าร่วมใดๆ สามารถตรวจสอบได้ว่าสัญญาใน OP-DLC ดำเนินการอย่างถูกต้องหรือไม่ ดังนั้นความไว้วางใจในออราเคิลจึงลดลง ต่างจาก Lightning Network ตรงที่ Alice และ Bob สามารถออฟไลน์ได้ เพราะออราเคิลจะชำระ CET ด้วยลายเซ็นที่ซื่อสัตย์เท่านั้น และออราเคิลที่ทำชั่วจะถูกท้าทายและลงโทษโดยใครก็ตาม
ข้อได้เปรียบ:
ควบคุมทรัพย์สินได้สูงและเชื่อมั่นในตัวเองเท่านั้น: Alice และ Bob สามารถเป็น oracles และลงนาม CET ได้ กลไกการท้าทายในแง่ดีจะเอาชนะ CET ที่ไม่ถูกต้อง ดังนั้นความชั่วร้ายจึงไม่สามารถทำได้ ดังนั้น OP-DLC จึงอนุญาตให้ผู้ใช้เชื่อในตัวเองเท่านั้น ใน BitVM ผู้ใช้จำเป็นต้องทำหน้าที่เป็นผู้ดำเนินการและต้องมีส่วนร่วมในการฝากเงินที่ตามมาทั้งหมดเพื่อที่จะไว้วางใจตัวเองเท่านั้น หากผู้ใช้ในฐานะตัวดำเนินการมีส่วนร่วมในการฝากเงิน UTXO เพียงครั้งเดียวใน BitVM และ UTXO สามารถได้รับการคืนเงินตามกฎหมายจากตัวดำเนินการอื่น ๆ (n-1) ผู้ใช้จะยังคงต้องเชื่อถือตัวดำเนินการอื่นเพื่อชำระเงินล่วงหน้าในอนาคต สิทธิ์การชำระเงินคืนของผู้ให้บริการ BitVM จะถูกล็อคในการฝาก UTXO แต่ละครั้ง
การใช้เงินทุนสูง: หากผู้ใช้เชื่อใจตัวเองเพียงอย่างเดียว จำนวนเงินที่ต้องการจะแตกต่างออกไป ใน OP-DLC ผู้ใช้ต้องพึ่งพาตนเองในการถอนเงินและไม่จำเป็นต้องเบิกเงินล่วงหน้าในจำนวนที่เท่ากัน ใน BitVM ผู้ใช้จะต้องเบิกเงินล่วงหน้าในจำนวนที่เท่ากันแล้วจึงจะได้รับเงินคืน สิ่งนี้นำมาซึ่งแรงกดดันทางการเงินที่มากขึ้น
จำเป็นต้องกำหนดออราเคิลที่สามารถลงนามได้เมื่อทำการฝากเงินใน OP-DLC แต่ผู้ใช้ยังสามารถกลายเป็นออราเคิลและลงนามด้วยตนเองได้
ข้อบกพร่อง:
เวลาถอนจะใช้เวลา 1 สัปดาห์: โดยพื้นฐานแล้ว ต้นทุนเวลาการระดมทุนของ OP-DLC และ BitVM ทั้งคู่มีอยู่และเท่ากัน การถอน OP-DLC จะต้องผ่านช่วงเวลาท้าทายก่อนจึงจะได้รับเงินทุน หาก BitVM อาศัยผู้ใช้ในการพัฒนาตนเอง เงินขั้นสูงจำนวนเท่ากันจะต้องผ่านช่วงเวลาท้าทายก่อนจึงจะสามารถคืนเงินได้สำเร็จ หาก BitVM อาศัยผู้ให้บริการรายอื่นในการถอนเงินอย่างรวดเร็ว หมายความว่าผู้ประกอบการจำเป็นต้องจ่ายเงินและต้นทุนเวลาเท่ากันเป็นค่าธรรมเนียมการจัดการ
จำนวนลายเซ็นที่ต้องลงนามล่วงหน้าจะเพิ่มขึ้นอย่างรวดเร็วและมีความสัมพันธ์เชิงเส้นตรงกับจำนวน CET จำเป็นต้องใช้ CET มากที่สุดเท่าที่จะเป็นไปได้เพื่อระบุผลการถอนเงินทั้งหมด
4 บทสรุป
OP-DLC แนะนำกลไกการท้าทายในแง่ดีใน CET เพื่อให้แน่ใจว่า CET ที่ไม่ถูกต้องจะไม่ได้รับการชำระ และ oracle ที่เป็นอันตรายที่เกี่ยวข้องจะสูญเสียคำมั่นสัญญา ช่วยให้มั่นใจได้ว่า CET ที่ถูกต้องจะได้รับการดำเนินการ และคำมั่นสัญญาของ oracle จะถูกปลดล็อค และได้รับค่าธรรมเนียมการจัดการ วิธีนี้สามารถต้านทานการโจมตีใดๆ ได้และมีความงดงามของความเรียบง่าย
การอ้างอิง
