สปอนเซอร์

การโจมตีแบบ Replacement Cycle Attack ใน Lightning Network

กลไกการทำงานและการโจมตีแบบ replacement cycle attack

รู้จักกับ Bitcoin Lightning Network โซลูชัน Layer 2 scaling คืออะไร? พร้อมเรียนรู้เกี่ยวกับกลไกการทำงานและการโจมตีแบบ replacement cycle attack ได้ที่นี่

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

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

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

กลไก Lightning Network

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

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

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

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

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

กลไก HTLC

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

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

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

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

ขั้นตอนที่ 2-5: Alice, Bob, Carol, Diana และ Eric ต่างก็สร้าง HTLC เป็นคู่กัน โดยต้องมีการจัดเตรียม R (solution) ภายในระยะเวลาหนึ่งเพื่อดึงเงินทุนที่ถูกล็อคจากฝ่าย upstream

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

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

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

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

Replacement cycling attack

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

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

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

ขั้นตอนที่ 2: Eric ไม่ได้จัดเตรียม R (solution) ให้กับ Bob ก่อนบล็อก 1,020 Bob จะออกอากาศธุรกรรมที่มีการหมดเวลา HTLC เงินในการทำธุรกรรมนี้จะถูกคืนให้กับ Bob

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

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

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

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

สรุป

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

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

เกี่ยวกับ CoinEx

CoinEx ก่อตั้งขึ้นในปี 2017 เป็นแพลตฟอร์มการแลกเปลี่ยนสกุลเงินดิจิทัลระดับโลกที่มุ่งมั่นที่จะทำให้การซื้อขายง่ายขึ้น ให้บริการที่หลากหลาย รวมถึงการซื้อขาย Spot และ Margin, Futures, swaps, automated market making ( (AMM) และบริการการจัดการทางการเงินสำหรับผู้ใช้มากกว่า 5 ล้านคนในกว่า 200 ประเทศและภูมิภาค นับตั้งแต่ก่อตั้ง CoinEx ได้ยึดมั่นในหลักการบริการแบบ "ผู้ใช้ต้องมาก่อน" อย่างแน่วแน่ ด้วยความตั้งใจอย่างจริงใจในการรักษาสภาพแวดล้อมการซื้อขาย crypto ที่เท่าเทียมกัน ให้ความเคารพ และปลอดภัย 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

บทความนี้จัดทำขึ้น และได้รับการสนับสนุนโดย CoinEx

ติดตาม CryptoSiam
เพื่อให้ไม่พลาด ทุกข่าวสาร วงการคริปโต

ข้อจำกัดความรับผิดชอบ: การลงทุนมีความเสี่ยงสูง ดังนั้น ผู้ลงทุนควรศึกษาข้อมูลอย่างละเอียดก่อนการลงทุนทุกครั้ง

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

Cryptosiam และบริษัทในเครือ ขอปฏิเสธความรับผิด หรือความรับผิดชอบทั้งหมดเกี่ยวกับเนื้อหาของบทความ และการดำเนินการใดๆ กับข้อมูลในบทความนั้น เป็นความเสี่ยงของผู้อ่าน และถือเป็นความเสี่ยงแต่เพียงผู้เดียว

แท็ก:
ข่าวต่อไป

บทความที่เกี่ยวข้อง

ก.ล.ต. ร่วมมือกับกระทรวงดิจิทัล ส่งมอบข้อมูลกระดานเทรดที่ไม่ได้รับอนุญาต ให้พิจารณาปิดกั้นการเข้าถึง!
Coinbase ประกาศลิสต์ 1 เหรียญ Altcoin จากโครงการ AI เข้ากระดานเทรด
อัยการยื่นคำร้องต่อศาล ขอให้เพิ่มโทษจำคุก อดีตซีอีโอ Binance เป็น 36 เดือน
กองทุน Bitcoin ETF ของ 'BlackRock' ไม่มีเงินลงทุนไหลเข้ามาเป็นครั้งแรก