BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

ชัยชนะ "ข้อตกลงเดียว"

NEST爱好者
特邀专栏作者
บทความนี้มีประมาณ 2067 คำ การอ่านทั้งหมดใช้เวลาประมาณ 3 นาที
จะจัดการกับการโจมตีแบบบล็อกได้อย่างไร?
สรุปโดย AI
จะจัดการกับการโจมตีแบบบล็อกได้อย่างไร?

ผู้แต่ง: NEST Enthusiast_Nine Chapters Tianwen

ผู้แต่ง: NEST Enthusiast_Nine Chapters Tianwenหากคุณถามฉันว่าการโจมตีใดที่หลีกเลี่ยงไม่ได้บนบล็อกเชน ฉันจะตอบว่า:การโจมตีติดขัดและการโจมตี 51%

เราจะพูดถึงการโจมตี 51% ในครั้งต่อไป และวันนี้เราจะพูดถึงเฉพาะการโจมตีแบบบล็อกเท่านั้น

การโจมตีแบบบล็อกที่เรียกว่าคือการใช้ธุรกรรมเพื่อครอบครองบล็อก เพื่อไม่ให้ธุรกรรมอื่นถูกบรรจุมีคนเปรียบเทียบการโจมตีแบบติดขัดกับบล็อกบนบล็อกเชนการโจมตี DDOS

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

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

สมมติว่าขีดจำกัดแก๊สบนของบล็อกคือ 10 ล้าน และธุรกรรมเดียวที่เล็กที่สุดคือ 20,000 มีสองตัวเลือกสำหรับการบล็อกบล็อก: วิธีแรกคือการบล็อกบล็อกด้วยพื้นที่ธุรกรรมขนาดเล็กจำนวนมากที่มีราคาก๊าซสูง; ประการที่สองคือใช้ธุรกรรมขนาดใหญ่ที่มีราคาก๊าซสูง (ในที่นี้ ขนาดใหญ่และขนาดเล็กวัดจากขีดจำกัดของก๊าซ และธุรกรรมขนาดใหญ่คือธุรกรรมที่ใช้พื้นที่ทั้งหมดบล็อกมากที่สุดเท่าที่จะเป็นไปได้ เช่น ขีดจำกัดของก๊าซคือ 10 ล้าน) เพื่อปิดกั้น ตัวอย่างเช่น ราคาก๊าซคือ 1,000 (ราคาก๊าซที่รับประกันว่าจะได้รับการบรรจุอย่างรวดเร็วนั้นอยู่ภายใน 1,000 เท่าเช่นกันเมื่อเครือข่าย 312 Ethereum แออัด) ดังนั้นต้นทุนก๊าซที่คำนวณโดยทั้งสองแผนจะเท่ากัน ซึ่งเป็นผลจากการคำนวณของเรา จุดยืนของตัวเอง

แต่จากมุมมองของนักขุดและคู่แข่ง มีความแตกต่างระหว่างทั้งสองเริ่มจากคู่แข่ง ซึ่งก็คือเทรดเดอร์ที่ต้องการเจาะทะลุการปิดกั้นการโจมตี

หากเป็นการทำธุรกรรมขนาดเล็กคู่แข่งสามารถใช้ราคาก๊าซที่สูงกว่าเพื่อบรรจุก่อนผู้โจมตี ตัวอย่างเช่น หากคุณใช้ราคาก๊าซที่ 2000 ในการแข่งขัน โดยหลักการแล้วจะต้องมีการจัดอันดับก่อนธุรกรรมขนาดเล็กจำนวนมากที่มีราคาก๊าซ ของ 1,000 แต่สำหรับธุรกรรมขนาดใหญ่ คู่แข่งอาจถูกบล็อกเนื่องจากนักขุดพิจารณาการรวมกันของการเพิ่มก๊าซสูงสุดมากกว่าการทำธุรกรรมด้วยราคาน้ำมันสูงสุด เนื่องจากก๊าซรวมของธุรกรรมขนาดใหญ่คือ 10 ล้าน * 1,000 และก๊าซรวมถึงธุรกรรมขนาดเล็กคือ 20,000 * 2000 + ธุรกรรมอื่น ๆ ธุรกรรมที่เหลือที่นี่เป็นธุรกรรมของบุคคลที่สามที่เป็นทางเลือก และราคาแก๊สโดยทั่วไปจะต่ำกว่า ในการรวมการทำธุรกรรมทั้งสองนี้ นักขุดที่มีเหตุผลจะเลือกการรวมกันของธุรกรรมขนาดใหญ่ ดังนั้นแม้ว่าคู่แข่งจะมีราคาก๊าซที่สูงกว่า พวกเขาจะถูกแยกออกเนื่องจากก๊าซที่ต่ำกว่าของธุรกรรมเดียว ดังนั้นในแง่ของประสิทธิภาพของการบล็อกการโจมตี ธุรกรรมขนาดใหญ่ที่มีราคาก๊าซสูงจะได้เปรียบกว่าตามสถานการณ์การทำธุรกรรมปัจจุบันของเครือข่าย Ethereum ค่าธรรมเนียมการจัดการสำหรับการทำธุรกรรมขนาดใหญ่ 1,000 เท่าของราคาน้ำมันคือ 1,000w*1,000=10 ETH เนื่องจากหนึ่งบล็อกถูกบล็อก ค่าใช้จ่ายในการบล็อกเป็นเวลา 10 นาทีคือ 500 ETHหากสิ่งจูงใจภายนอกมีมากพอ (สิ่งจูงใจภายนอกคือรางวัลนอกเหนือจากพฤติกรรมปัจจุบัน) การบล็อกเป็นเวลา 1 ชั่วโมงคือ 3,000 ETH ซึ่งน่าจะคุ้มค่า

โปรดทราบว่าราคาก๊าซ 1,000 เท่าขึ้นอยู่กับสมมติฐานทางสถิติเท่านั้น ไม่ได้ขึ้นอยู่กับแอปพลิเคชันบนเครือข่ายพิจารณาแอปพลิเคชันแบบออนเชน เช่น DeFi ซึ่งเศรษฐกิจขึ้นอยู่กับบล็อก นั่นคือภายใน N บล็อก ธุรกรรมจำเป็นต้องเสร็จสมบูรณ์ มิฉะนั้นจะทำให้ X ETH สูญเสีย หากแอปพลิเคชันไม่มีการออกแบบใดๆ ตามสมมติฐานก่อนหน้านี้ การบล็อกการโจมตีที่ 10*N ETH อาจทำให้สูญเสีย X ETH ต่อไปนี้คือหลายสถานการณ์: 1. การสูญเสีย X ETH อาจกลายเป็นกำไรของผู้โจมตี จากนั้นเมื่อ X>10N การโจมตีจะเป็นแรงจูงใจที่มีเหตุผลอย่างสมบูรณ์ 2. การสูญเสีย X ETH ไม่สามารถเปลี่ยนเป็นกำไรของผู้โจมตีได้ ดังนั้น สถานการณ์นี้จะเหมือนกับ X

< 10N มันกลายเป็นการกระทำที่มุ่งร้าย: ทำให้ทรัพย์สินไหลออกจากแอปพลิเคชันโดยทำลายความถูกต้องของแอปพลิเคชัน

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

สำหรับกรณีแรก จำเป็นต้องออกแบบแอปพลิเคชันในสองวิธี วิธีแรก ควรเพิ่มขนาดของ N เป็น N1 ตามขนาดเศรษฐกิจหรือสภาวะผิดปกติ ประการที่สอง ควรเพิ่มรายได้จูงใจในการทำธุรกรรมให้เสร็จสมบูรณ์: สำหรับ ตัวอย่างเช่น รายได้จากการทำธุรกรรมให้เสร็จสมบูรณ์คือ ETH ได้รับการอัปเกรดเป็น b ETH โดยที่ b>a และ b>10th นั่นคือ ต้นทุนในการบล็อกบล็อกกลายเป็น bETH และต้นทุนทั้งหมดเปลี่ยนจาก 10*NETH เป็น b *N1ETH ตราบใดที่ b*N1ETH>X แรงจูงใจภายนอกในการโจมตีนั้นไม่ถูกต้องสำหรับกรณีที่สอง วิธีที่ดีที่สุดในการจัดการกับการโจมตีที่เป็นอันตรายคือการจัดการกลไกการปิดเครื่องมีความหมายสองประการคือหนึ่งคือความก้าวหน้าทางเรขาคณิตของค่าใช้จ่ายที่เกิดจากการโจมตีทำให้ผู้โจมตีไม่สามารถบรรลุเป้าหมายได้ดังนั้นจึงเลิกโจมตี ตัวอย่างเช่น การออกแบบค่าสัมประสิทธิ์เบต้าของระบบ NEST ปัจจุบันเป็นระบบปิดในตัวระบบแรก การออกแบบในอุตสาหกรรม blockchain เราสามารถเรียนรู้จากมันได้ เช่น การอนุญาตให้หมายเลขบล็อกวิกฤต N เพิ่มขึ้นเป็นอนุกรม

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

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

DeFi
智能合约
ETH
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
คลังบทความของผู้เขียน
NEST爱好者
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android