ซื้อเหรียญ
ภาพรวม
Spot
Futures
การเงิน
โปรโมชั่น
มากกว่า
โซนสมาชิกใหม่
เข้าสู่ระบบ
การวิเคราะห์รายงาน รายละเอียด
การวิจัยอุตสาหกรรม

การโจมตีด้วยวิธีการเปลี่ยนระยะเวลาในเครือข่าย Lightning

โพสต์เมื่อ 2023-12-25

เครือข่าย Lightning ของ Bitcoin เป็นโซลูชันการปรับขนาดเลเยอร์ 2 สำหรับ Bitcoin ที่มีจุดมุ่งหมายเพื่อแก้ไขความท้าทายด้านความสามารถในการปรับขนาดของบล็อกเชน Bitcoin เครือข่ายนี้ช่วยให้สามารถทำซื้อขาย Bitcoin ได้อย่างรวดเร็วและมีค่าใช้จ่ายต่ำ ทำให้มีประสิทธิภาพและเข้าถึงได้ง่ายสำหรับผู้ใช้ เมื่อเทียบกับซื้อขายบนเชนของ Bitcoin ซื้อขายบนเครือข่าย Lightning จะเป็นส่วนตัว เกิดขึ้นนอกเชน และมีการบันทึกเฉพาะผลลัพธ์โดยรวมเท่านั้น

หนึ่งในข้อได้เปรียบหลักของเครือข่าย Lightning คือความเร็วและความคุ้มค่า ช่วยให้ผู้ใช้สามารถส่งและรับการชำระเงินขนาดเล็กผ่านเครือข่าย Bitcoin ได้อย่างง่ายดายและประหยัด โดยการสร้างเครือข่ายของช่องทางการชำระเงินระหว่างผู้ใช้ เครือข่าย Lightning ช่วยให้สามารถทำซื้อขายได้โดยไม่ต้องประกาศทุกซื้อขายไปยังบล็อกเชน ซึ่งช่วยลดความแออัดบนบล็อกเชน Bitcoin และปรับปรุงความสามารถในการปรับขนาดของซื้อขาย

อย่างไรก็ตาม ควรทราบว่าเครือข่าย Lightning ยังอยู่ในขั้นตอนการพัฒนาและเผชิญกับความเสี่ยงด้านความปลอดภัยและความเสี่ยงจากการรวมศูนย์บางประการ ในเดือนตุลาคมปีนี้ มีการค้นพบช่องโหว่ที่เรียกว่า "การโจมตีวงจรการแทนที่" ในเครือข่าย Lightning ซึ่งเกี่ยวข้องกับกลไกการแทนที่ซื้อขายและอาจนำไปสู่การสูญเสียเงินทุนในช่องของเครือข่าย Lightning การเกิดขึ้นของวิธีการโจมตีนี้ได้สร้างความกังวลเกี่ยวกับความปลอดภัยของเครือข่าย Lightning และกระตุ้นให้มีการวิจัยและปรับปรุงโปรโตคอลและการใช้งานเพิ่มเติม

กลไกเครือข่าย Lightning

เครือข่าย Lightning ของ Bitcoin ใช้ประโยชน์จากกลไก Multisig เพื่อรับรองความปลอดภัยของช่องทางการชำระเงิน ผู้เข้าร่วมจำเป็นต้องล็อคเงินทุนและสร้างช่องทางการชำระเงิน ผู้เข้าร่วมสามารถทำการชำระเงินที่รวดเร็วและมีค่าใช้จ่ายต่ำภายในช่องทางได้ โดยไม่จำเป็นต้องส่งซื้อขายไปยังบล็อกเชน Bitcoin ทุกครั้ง ช่องทางการชำระเงินเป็นเพียงความสัมพันธ์ระหว่างผู้เข้าร่วมภายนอกบล็อกเชน Bitcoin ซึ่งสำเร็จได้โดยการลงนามในซื้อขายภายในช่องทางที่กระจายเฉพาะระหว่างปลายทั้งสองของช่องทางโดยไม่เกี่ยวข้องกับการประสานงานของเครือข่าย Bitcoin ทั้งหมด

ในแง่ของกระบวนการเฉพาะ เมื่อเปิดช่องทางการชำระเงิน ผู้เข้าร่วมจำเป็นต้องสร้างสคริปต์ลายเซ็นหลายรายการที่ต้องการให้แต่ละฝ่ายบนช่องทางให้คีย์สาธารณะของตน ในขณะที่ระบุจำนวนลายเซ็นที่ต้องการ ตัวอย่างเช่น การกำหนดสคริปต์ที่มีคีย์สาธารณะหลายรายการและตรรกะการตรวจสอบลายเซ็น เมื่อสร้างที่อยู่ลายเซ็นหลายรายการ สคริปต์นี้จะถูกแปลงเป็นที่อยู่ Bitcoin เพื่อสร้างโครงสร้างพื้นฐานของช่องทางการชำระเงิน

ตัวอย่างเช่น ตามที่แสดงในรูปที่ 1 Bob และ Alice สร้างที่อยู่ Bitcoin แบบลายเซ็นหลายรายการ 2-of-2 บน-chain เป็นกองทุนร่วมก่อน ภายในช่องทาง พวกเขาสามารถทำธุรกรรมผูกพันนอก-chain ได้ไม่จำกัดเพื่อบันทึกสถานะปัจจุบันของการจัดสรรเงินทุน ทั้งสองฝ่ายสามารถเจรจาและลงนามในธุรกรรมผูกพันใหม่เพื่ออัปเดตสถานะของช่องทาง โดยไม่ต้องเผยแพร่การอัปเดตเหล่านี้ไปยังเครือข่าย Bitcoin ทั้งหมด เมื่อพวกเขาตัดสินใจที่จะปิดช่องทาง ธุรกรรมการชำระเงินบน-chain ครั้งสุดท้ายจะกระจายเงินทุนตามการจัดสรรที่ตกลงกันครั้งล่าสุด ธุรกรรมการชำระเงินนี้ต้องการลายเซ็นร่วมของทั้ง Bob และ Alice เพื่อให้แน่ใจว่าเงินทุนถูกจัดสรรตามวิธีที่ตกลงกันในที่สุด ด้วยวิธีนี้ เครือข่าย Lightning จึงปรับปรุงประสิทธิภาพของธุรกรรม Bitcoin ลดต้นทุน ในขณะที่ยังคงรักษาลักษณะการกระจายศูนย์ไว้

รูปที่ 1: แผนภาพแสดงช่องทางสถานะ

State Channel Diagram

ที่มา: https://cypherpunks-core.github.io/bitcoinbook/images/mbc2_1204.png

กลไก HTLC

เครือข่าย Lightning ของ Bitcoin ยังใช้ช่องทางการชำระเงินที่อิงกับสัญญาล็อกเวลาแฮช (HTLCs) เพื่อใช้ระบบช่องทางการชำระเงินแบบหลายฮอปที่สามารถกำหนดเส้นทางได้ ในการนำไปใช้ HTLCs ต้องใช้สคริปต์ธุรกรรมที่ซับซ้อนซึ่งกำหนดไว้ในภาษาสคริปต์เพื่อตอบสนองเงื่อนไขแฮชและเงื่อนไขการล็อกเวลา สคริปต์นี้จะถูกใช้สำหรับการเริ่มต้นเมื่อเปิดช่องทางการชำระเงินและทริกเกอร์ระหว่างการชำระเงิน ด้วยวิธีนี้ เครือข่าย Lightning ของ Bitcoin จึงบรรลุประสิทธิภาพและความปลอดภัยสำหรับการชำระเงินข้ามสายโซ่

HTLC (Hashed Timelock Contract) คือสัญญาล็อคเวลาแบบแฮช ซึ่งเป็นหนึ่งในองค์ประกอบสำคัญสำหรับการดำเนินการซื้อขายข้ามเครือข่ายบนบล็อคเชน HTLC มีการใช้งานทั่วไปสองประการ: การแลกเปลี่ยนแบบอะตอมมิคข้ามเครือข่าย และช่องทางการชำระเงินในเครือข่าย Lightning HTLC สามารถล็อคการโอนและตั้งค่าเงื่อนไขการปลดล็อค เช่น การให้ข้อมูลเฉพาะภายในเวลาที่กำหนด สิ่งนี้ทำให้มั่นใจได้ว่าเงินทุนจะสามารถถอนได้โดยผู้รับเท่านั้นเมื่อเงื่อนไขได้รับการปฏิบัติตาม

ในทางเทคนิค HTLC คือเอาต์พุตเพิ่มเติมในซื้อขายผูกมัดที่มีสคริปต์เอาต์พุตเฉพาะ นี่คือสคริปต์ Script ที่ประกอบด้วยการดำเนินการเช่น OP_HASH160, OP_EQUALVERIFY เป็นต้น ใช้เพื่อล็อคเงินทุนเพื่อให้สามารถปลดล็อคได้เฉพาะเมื่อให้ค่า preimage R เท่านั้น สคริปต์นี้มีสองเส้นทางที่เป็นไปได้ เส้นทางแรก (กำหนดใน OP IF) ส่งเงินให้ Bob หาก Bob สามารถให้ R ได้ เส้นทางที่สองคือการบังคับใช้การล็อคเวลาโดยใช้ nLockTime ในซื้อขายการชำระเงิน อนุญาตให้คืนเงินกลับไปยัง Alice หลังจากที่การล็อคหมดอายุ

OP_IF

OP_HASH160 <Hash160 (R)> OP_EQUALVERIFY

2 <Alice2> <Bob2> OP_CHECKMULTISIG

OP_ELSE

2 <Alice1> <Bob1> OP_CHECKMULTISIG

OP_ENDIF

ตัวอย่างการกำหนดเส้นทาง

ในเครือข่าย Lightning Alice ต้องการชำระเงิน 1 บิตคอยน์ให้กับ Eric แต่ไม่มีช่องทางการชำระเงินโดยตรงระหว่าง Alice และ Eric ดังนั้น Alice จึงกำหนดเส้นทางการชำระเงินผ่านโหนดตัวกลางในเครือข่ายช่องทางการชำระเงิน (Bob, Carol, Diana) เพื่อสร้างเส้นทางการชำระเงินที่ปลอดภัย ทำให้เธอสามารถชำระเงิน 1 บิตคอยน์ให้กับ Eric ได้โดยอ้อม การกำหนดเส้นทางการชำระเงินใช้ HTLC - เงินทุนจะสามารถปลดล็อคได้เฉพาะเมื่อให้ "ความลับ" ที่ถูกต้องภายในช่วงเวลาที่กำหนดเท่านั้น ทำให้มั่นใจในความปลอดภัยของการชำระเงิน

ในตัวอย่างนี้ ในขั้นตอนที่ 1 Eric สร้างความลับ R (คำตอบ) และคำนวณค่าแฮช H (ปริศนา) จากนั้นให้ค่าแฮช H แก่ Alice

ขั้นตอนที่ 2-5: อลิซ บ็อบ แครอล ไดอาน่า และเอริก แต่ละคนสร้าง HTLCs เป็นคู่ๆ โดยกำหนดให้ต้องมีการให้ R (คำตอบ) ภายในระยะเวลาที่กำหนดเพื่อรับเงินที่ถูกล็อกไว้จากฝ่ายต้นทาง

ขั้นตอนที่ 6-9: เอริกให้ R (คำตอบ) แก่ไดอาน่าเพื่อรับ 1 BTC ไดอาน่าจากนั้นรับ BTC จากแครอลด้วย R และ R ถูกส่งย้อนกลับไปเช่นนี้จนกระทั่งอลิซได้รับ 1.003 BTC (0.003 BTC เป็นค่าบริการสำหรับโหนดตัวกลาง) คืนมา

ในตัวอย่างนี้ หากในขั้นตอนที่ 6 เอริกไม่ได้ให้ R (คำตอบ) ภายในเวลาที่กำหนด หลังจากหมดเวลาแล้ว เงินที่ถูกล็อกไว้ในขั้นตอนที่ 2-5 จะปลดล็อกและคืนกลับโดยตรง

รูปที่ 2: ตัวอย่างการกำหนดเส้นทาง

Routing Example

แหล่งที่มา: https://cypherpunks-core.github.io/bitcoinbook/images/mbc2_1210.png

การโจมตีแบบวนซ้ำด้วยการแทนที่

กลไกการแทนที่ธุรกรรมของบิทคอยน์หมายถึงเมื่อธุรกรรมถูกทำเครื่องหมายว่าสามารถแทนที่ได้ จากนั้นธุรกรรมสามารถถูกแทนที่ด้วยธุรกรรมอื่นในเครือข่ายที่มีค่าธรรมเนียมสูงกว่าก่อนที่จะได้รับการยืนยันในบล็อก หากธุรกรรมจ่ายค่าธรรมเนียมสัมบูรณ์สูงกว่าและอัตราค่าธรรมเนียมสูงกว่า มันสามารถแทนที่ธุรกรรมที่รอการยืนยันซึ่งขัดแย้งกับมันโดยตรง หลังจากได้รับธุรกรรมที่แทนที่ โหนดจะลบธุรกรรมเดิมที่มีอัตราค่าธรรมเนียมต่ำกว่าออกจาก mempool และเก็บไว้เฉพาะธุรกรรมที่แทนที่เท่านั้น กลไกการแทนที่ธุรกรรมช่วยให้สามารถปรับค่าธรรมเนียมธุรกรรมหรือพารามิเตอร์อื่นๆ ก่อนที่ธุรกรรมจะได้รับการยืนยัน แต่กลไกนี้ก็สามารถถูกใช้เพื่อดำเนินการโจมตีปฏิเสธการให้บริการธุรกรรมได้เช่นกัน เช่น การแทนที่ธุรกรรมสำคัญซ้ำๆ ทำให้ไม่สามารถยืนยันได้ ดังนั้น กลไกการแทนที่ธุรกรรมจึงให้ความสะดวกในการปรับเปลี่ยนธุรกรรม แต่ก็นำความเสี่ยงของการใช้ในทางที่ผิดมาด้วย

ตามอีเมลของ Antoine Riard นักพัฒนา Bitcoin Core การโจมตีแบบวงจรทดแทนเกี่ยวข้องกับช่องทางการชำระเงินใน Bitcoin Lightning Network เป็นหลัก ผู้โจมตีจะเผยแพร่ธุรกรรม HTLC-preimage ที่มีค่าธรรมเนียมสัมบูรณ์และอัตราค่าธรรมเนียมสูงกว่าเพื่อแทนที่ธุรกรรม HTLC-timeout ของโหนดที่ซื่อสัตย์ ระหว่างการแทนที่ ผู้โจมตีสามารถเพิ่มอินพุตหรือเอาต์พุตเพิ่มเติมเพื่อให้แน่ใจว่าธุรกรรมที่แทนที่จะได้รับการยอมรับจากเครือข่ายสำเร็จ วิธีการโจมตีนี้อาจส่งผลให้เกิดการใช้จ่ายซ้ำซ้อนของเงินทุนในช่องทางการชำระเงิน นั่นคือ หลังจากที่โหนดที่ซื่อสัตย์เผยแพร่ธุรกรรม HTLC-timeout ผู้โจมตีสามารถเรียกคืนเงินทุนผ่านการแทนที่ได้สำเร็จ เราสามารถยกตัวอย่างง่ายๆ เพื่ออธิบายได้ คล้ายกับตัวอย่างก่อนหน้านี้ สมมติว่าเส้นทางถูกทำให้ง่ายลงเหลือเพียง Alice, Bob และ Eric และ Alice กับ Eric สมคบคิดกันเพื่อขโมย BTC ของ Bob

ขั้นตอนที่ 1: Alice ตั้งใจจะจ่าย 1 BTC ให้ Eric ผ่าน Bob Alice\Bob และ Bob\Eric แต่ละคนสร้าง HTLC Eric จำเป็นต้องให้ R (คำตอบ) แก่ Bob ก่อนบล็อก 1020 (สมมติว่าความสูงปัจจุบันคือ 1000) มิฉะนั้น Bob สามารถเรียกคืน 1 BTC ที่ถูกล็อคได้ ในทำนองเดียวกัน Bob ต้องตอบสนองต่อ Alice ก่อนบล็อก 1080 มิฉะนั้น Alice สามารถเรียกคืน 1 BTC ของเธอได้

ขั้นตอนที่ 2: Eric ไม่ได้ให้ R (คำตอบ) แก่ Bob ก่อนบล็อก 1020 Bob จะเผยแพร่ธุรกรรมที่มี HTLC-timeout เงินทุนในธุรกรรมนี้จะถูกคืนให้กับ Bob

ขั้นตอนที่ 3: Eric ตรวจสอบธุรกรรม HTLC-timeout ของ Bob และแทนที่ด้วยธุรกรรม HTLC-preimage ที่มีอัตราค่าธรรมเนียมสูงกว่า จากนั้น Eric เริ่มต้นธุรกรรมอื่นเพื่อขับไล่ HTLC-preimage ก่อนหน้านี้ออกจาก mempool

ขั้นตอนที่ 4: โหนดของ Bob จะเผยแพร่ธุรกรรม HTLC-timeout อีกครั้งจนถึงบล็อก 1080 Eric สามารถเริ่มการแทนที่ได้ทุกครั้ง จนกระทั่งถึงบล็อก 1080 ธุรกรรมของ Alice ฝ่ายช่องทางอื่นได้รับการยืนยัน และ Alice เรียกคืน BTC ที่ถูกล็อค

ขั้นตอนที่ 5: Eric ได้รับการยืนยัน HTLC-preimage ของเขา ดังนั้น 1 BTC ที่ถูกล็อคโดย Bob จึงถูกโอนไปยัง Eric

ดังนั้น 1 BTC ของ Bob ถูกโอนไปยัง Eric ในขณะที่เขาไม่ได้รับ BTC ที่ Alice เป็นหนี้

สรุป

ณ เดือนพฤศจิกายน 2023 เครือข่าย Lightning มีโหนด Lightning มากกว่า 16,000 โหนดและมี BTC 5,000 เหรียญ แม้ว่าจะยังไม่มีการยืนยันกรณีการโจมตีแบบวงจรแทนที่จริง แต่ก็ชี้ให้เห็นถึงความจำเป็นในการวิจัยและปรับปรุงความปลอดภัยอย่างต่อเนื่องสำหรับเครือข่าย Lightning Antoine Riard ยังได้เสนอมาตรการหลายประการเพื่อหลีกเลี่ยงหรือบรรเทาการโจมตีแบบวงจรแทนที่ เช่น การตรวจสอบ mempool ในเครื่องและธุรกรรมที่ส่งต่อ การสร้างเครือข่ายซ้อนทับระหว่างนักขุดและโหนด Lightning และการเล่นซ้ำธุรกรรมหมดเวลา HTLC อย่างแข็งขันเพื่อเพิ่มต้นทุนของผู้โจมตี แต่ในขณะเดียวกัน เขาก็ประกาศหยุดการมีส่วนร่วมในเครือข่าย Lightning และงานการใช้งาน รวมถึงการประสานงานแก้ไขช่องโหว่ด้านความปลอดภัยระดับโพรโทคอล

เมื่อเครือข่าย Lightning ขยายตัวขึ้น ภัยคุกคามที่อาจเกิดขึ้นจากการโจมตีแบบวงจรแทนที่อาจกลายเป็นอุปสรรคในเส้นทางการพัฒนา ทำให้ชุมชนต้องให้ความสำคัญกับการวิจัยและปรับปรุงความปลอดภัยมากขึ้น อย่างไรก็ตาม การจัดการกับปัญหาความปลอดภัยอย่างจริงจังและการปรับปรุงอาจทำให้เราได้เห็นเครือข่าย Lightning ค่อยๆ แก้ไขความเสี่ยงที่อาจเกิดขึ้นในอนาคต และบรรลุระบบนิเวศที่มีสุขภาพดีและน่าเชื่อถือมากขึ้น

เกี่ยวกับ CoinEx

ก่อตั้งขึ้นในปี 2017 CoinEx เป็นตลาดแลกเปลี่ยนคริปโตเคอร์เรนซีระดับโลกที่มุ่งมั่นที่จะทำให้การซื้อขายง่ายขึ้น แพลตฟอร์มนี้ให้บริการหลากหลาย รวมถึงการซื้อขายแบบสปอตและมาร์จิ้น ฟิวเจอร์ส สวอป บัญชีทำตลาดอัตโนมัติ (AMM) และบริการจัดการการเงินสำหรับผู้ใช้มากกว่า 5 ล้านคนใน 200+ ประเทศและภูมิภาค นับตั้งแต่ก่อตั้ง CoinEx ได้ยึดมั่นในหลักการบริการ "ผู้ใช้มาก่อน" อย่างมั่นคง ด้วยความตั้งใจจริงที่จะสร้างสภาพแวดล้อมการซื้อขายคริปโตที่เป็นธรรม เคารพ และปลอดภัย CoinEx ช่วยให้ผู้ใช้สามารถเข้าถึงโลกของคริปโตเคอร์เรนซีได้อย่างง่ายดายโดยนำเสนอผลิตภัณฑ์และบริการที่ใช้งานง่าย

อ้างอิง

https://cypherpunks-core.github.io/bitcoinbook/

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-October/022032.html

https://lightning.network/lightning-network-paper.pdf

https://github.com/ariard/mempool-research/blob/2023-10-replacement-paper/replacement-cycling.pdf

ตามข้อกำหนดด้านกฎระเบียบของแผนกที่เกี่ยวข้องสำหรับอุตสาหกรรมสกุลเงินดิจิทัล เราไม่สามารถให้บริการแก่ผู้ใช้ในภูมิภาคที่ IP ของคุณตั้งอยู่ได้