คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
Lightning Network มีความเสี่ยงทางการเงินหรือไม่? บทความอธิบายหลักการและวิธีการประมวลผล
南枳
Odaily资深作者
2023-10-22 07:24
บทความนี้มีประมาณ 1509 คำ การอ่านทั้งหมดใช้เวลาประมาณ 3 นาที
การโจมตีด้วยวงจรทางเลือก: สำคัญแต่ไม่ถึงตาย

ต้นฉบับ - โอเดลี่

ผู้เขียน - หนาน จื้อ

การแนะนำ

เมื่อวันที่ 20 ตุลาคม ผู้พัฒนาหลัก Bitcoin Core /dev/fd0 ได้ประกาศบนแพลตฟอร์ม Xจะยุติการมีส่วนร่วมในการพัฒนา Lightning Network และการใช้งาน รวมถึงการประสานงานการจัดการปัญหาด้านความปลอดภัยระดับโปรโตคอล

/dev/fd0 หมายความว่าแต่ละโหนด Bitcoin มีพูลหน่วยความจำของตัวเอง ธุรกรรมจะถูกส่งต่อโดยโหนดเพียร์ หากใช้โหนด Lightning Network เพื่อเปิดช่องสัญญาณและยอมรับการส่งต่อ HTLC โหนดนั้นจะมีความเสี่ยงการโจมตีวงจรทดแทน(Replacement Cycling Attacks)。

การโจมตีแบบลูปทดแทน ที่นักพัฒนาอ้างถึงคืออะไรและใช้งานอย่างไร Odaily จะเปิดเผยในบทความนี้

เครือข่ายสายฟ้า

TPS ของเครือข่าย Bitcoin อยู่ที่ประมาณ 7 เท่านั้น และค่าธรรมเนียมการจัดการสูง Lightning Network จึงเกิดขึ้นเพื่อแก้ปัญหาความต้องการในการชำระเงินจำนวนเล็กน้อย

Lightning Network เป็นโซลูชันการปรับขนาดชั้นที่สองสำหรับ Bitcoin และสกุลเงินดิจิทัลอื่น ๆ ที่ออกแบบมาเพื่อแก้ปัญหาความสามารถในการปรับขนาดและความเร็วในการทำธุรกรรมของเครือข่ายสกุลเงินดิจิทัล

หลักการดำเนินการสามารถทำให้ง่ายขึ้นดังนี้:

  1. ฝ่ายธุรกรรม A และ B ได้จัดตั้ง ช่องทางการทำธุรกรรม (จริงๆ แล้วเป็นกระเป๋าเงินหลายลายเซ็น)

  2. A และ B เติมเงิน A1 และ B1 ตามลำดับ (ขั้นตอนนี้อยู่ในห่วงโซ่)

  3. ธุรกรรมใดๆ ระหว่าง A และ B เกิดขึ้นนอกเครือข่าย และจำนวนเงินโอนสุทธิของ A คือ

  4. อัปเดตธุรกรรมของ A1-X และ B1+X บนเชน

ด้วยกระบวนการข้างต้น ไม่ว่าธุรกรรม A และ B จะดำเนินการนอกเครือข่ายจำนวนเท่าใด พวกเขาจะต้องจ่ายค่าธรรมเนียมออนไลน์เพียงสองค่าธรรมเนียมเท่านั้น ซึ่งช่วยประหยัดเวลาได้มาก

สัญญาล็อคเวลาแฮช (HTLC)

แบบฟอร์มที่แนะนำข้างต้นจำกัดเฉพาะช่องทางการทำธุรกรรมโดยตรงระหว่าง A และ B และโหนดรีเลย์จะปรากฏสำหรับการชำระเงินข้ามช่องทางโหนดรีเลย์จะถ่ายทอดธุรกรรมระหว่างทั้งสองเพื่ออำนวยความสะดวกในการชำระเงินข้ามช่องทางและโหนดรีเลย์สามารถชาร์จทิปได้

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

ดังนั้น HTLC (Hash Time-Lock Contract, Hash Time Lock Contract) จึงปรากฏขึ้น ธุรกรรมการชำระเงินด้วย HTLC สามารถทำให้ง่ายขึ้นเพื่อ:

  1. A เตรียมรหัสลับ R และคำนวณค่าแฮชของมัน H

  2. A กำหนดเวลา T

  3. A ส่งธุรกรรมการชำระเงินด้วย HTLC ไปยัง B ในที่สุดธุรกรรมจะถูกสร้างขึ้นเมื่อตรงตามเงื่อนไขสองข้อต่อไปนี้เท่านั้น

    • B ตอบรหัสลับ R (ตรวจสอบโดย H)

    • เวลาตอบของ B อยู่ภายใน T (เช่น คำตอบให้ภายใน 10 บล็อก)

  4. หาก B ไม่ทราบรหัสผ่าน หรือคำตอบหมดเวลา เงินจะถูกส่งคืนให้กับ A

ขั้นตอนการทำธุรกรรมปกติ

ผ่าน HTLC ข้างต้น กระบวนการชำระเงินที่เกี่ยวข้องกับโหนดรีเลย์มีดังนี้:

  1. ผู้รับคนสุดท้าย C มอบรหัสลับให้กับผู้ส่ง A

  2. A เริ่มต้นการชำระเงิน HTLC ด้วยค่าแฮช H (โปรดทราบว่าขณะนี้เงินยังไม่ถึงมือของบี

  3. B รับข้อมูลการชำระเงินและเริ่มการชำระเงิน HTLC ให้กับ C โดยใช้ค่าแฮช H

  4. เพื่อรับเงิน C จะตอบรหัสและรับเงิน บีรู้รหัสผ่านแล้วในเวลานี้

  5. B ใช้รหัสลับเพื่อรับการชำระเงินที่ริเริ่มโดย A รับเงิน และการทำธุรกรรมเสร็จสมบูรณ์

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

หากโหนดรีเลย์ไม่ได้รับสัญญาณลับ R เป็นเวลานาน(ฉันจะไม่ให้คำตอบ กำหนดเวลาจะถูกกำหนดโดยโหนดรีเลย์เอง)จากนั้นโหนดรีเลย์สามารถเลือกปิดช่องได้หากอัพโหลดสำเร็จจากนั้นการชำระเงินที่ดำเนินการโดย B จะ ไม่ถูกต้อง และจะไม่มีการสูญเสียเงิน

การโจมตีทดแทนวงจร

กลับไปที่หลักการพื้นฐานของ HTLC นอกเหนือจากการตอบรหัสลับแล้ว โหนดรีเลย์ยังต้องตรงตามเงื่อนไขอื่น เวลาที่โหนดรีเลย์ตอบอยู่ภายใน T และผู้โจมตีที่เป็นอันตรายกำลังกำหนดเป้าหมายจุดนี้เพื่อโจมตี:

  1. A และ C สมรู้ร่วมคิดกันอย่างมุ่งร้าย และเหยื่อคือรีเลย์โหนด B (B ต้องใช้โหนดถัดไปเพื่อตอบภายใน 3 บล็อก)

  2. A เริ่มต้นการชำระเงินให้กับ B (สมมติว่าความสูงของบล็อกคือ 1,000 ในขณะนี้) และต้องตอบกลับก่อนบล็อก 1,020

  3. B เริ่มต้นการชำระเงินให้กับ C (ความสูงของบล็อก 1,005)

  4. เมื่อความสูงของบล็อกคือ 1008 B จะเห็นว่า C ยังไม่ได้ตอบ จึงตัดสินใจปิดช่องซึ่งจะมีผลในบล็อก 1009

  5. C เริ่มต้นธุรกรรมที่มีก๊าซสูง 1 (บล็อก 1008) ป้องกันไม่ให้ธุรกรรมที่เริ่มต้นโดย B เข้าสู่พูลหน่วยความจำ

  6. C เริ่มต้นธุรกรรมที่มีก๊าซสูง 2 (บล็อก 1009) แต่ B ยังคงไม่สามารถเข้าสู่พูลหน่วยความจำได้

  7. C ดำเนินการในวงวนไม่สิ้นสุดจนถึงบล็อก 1,020 ให้รหัสผ่าน R และถอนเงิน

แม้ว่า B จะได้รับรหัสผ่าน แต่เขาไม่มีเวลาตอบสนองต่อการชำระเงินที่ริเริ่มโดย A อีกต่อไป เงินถูกส่งคืนให้กับ A และการชำระเงินให้กับ C ก็ถูกสร้างขึ้น ในที่สุด การโจมตีแบบทดแทนแบบวนรอบ ก็ตระหนักได้. นอกจากนี้ A และ C ยังสามารถบรรลุการใช้จ่ายสองเท่าโดยการสมรู้ร่วมคิดและโจมตีธุรกรรมที่ปิดของ B แบบวนรอบ

บทสรุป

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

อนาคตสดใส แต่เส้นทางคดเคี้ยว ในปีนี้ สิ่งใหม่ๆ มากมาย เช่น Ordinals, BRC-20 และ Taproot Asset ได้ถือกำเนิดขึ้นบนเครือข่าย Bitcoin แม้ว่าจะมีปัญหาอยู่ แต่การพัฒนาอย่างต่อเนื่องจะช่วยแก้ไขได้ในที่สุด

อ้างอิง

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

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


BTC
เครือข่ายฟ้าผ่า
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
การโจมตีด้วยวงจรทางเลือก: สำคัญแต่ไม่ถึงตาย
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android