จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้
คำตอบโดยตรง
การโจมตีระบบกำกับดูแลเกิดขึ้นเมื่อผู้โจมตีได้อำนาจลงคะแนน เสนอ ยกเลิก หรือดำเนินการมากพอที่จะทำให้โปรโตคอลทำสิ่งที่เป็นอันตรายผ่านช่องทางกำกับดูแลที่ได้รับอนุญาต การเรียกใช้เหล่านั้นอาจผ่านการตรวจสอบของสัญญาอัจฉริยะทุกข้อ จุดบกพร่องคือระบบทำให้การควบคุมมีต้นทุนต่ำ รวดเร็ว หรือขาดความรับผิดชอบเมื่อเทียบกับมูลค่าที่อยู่ภายใต้การควบคุมนั้น
อำนาจลงคะแนนอาจมาจากโทเค็นของตนเอง คะแนนที่ได้รับมอบหมาย โทเค็นที่ยืมมา ผู้ลงคะแนนที่ถูกติดสินบน กุญแจที่ถูกเจาะ หรือบทบาทพิเศษใน Governor และไทม์ล็อก จุดตรวจสอบย้อนหลังช่วยป้องกันไม่ให้ยอดเดียวกันลงคะแนนซ้ำหลังโอน และป้องกันการยืมที่เกิดหลังสแนปช็อตได้ แต่ไม่ป้องกันคะแนนที่ได้มาก่อนสแนปช็อต การกระจุกตัวของการมอบอำนาจ กฎองค์ประชุมที่อ่อนแอ หรือผู้ดำเนินการที่ถูกเจาะ
ญัตติที่ไม่เป็นที่นิยมไม่ใช่การโจมตีทุกกรณี เพราะระบบกำกับดูแลมีไว้เปลี่ยนกฎ ประเด็นด้านความปลอดภัยคือมีผู้ใดได้อำนาจชั่วคราวหรือเกินสัดส่วน ปกปิดหรือบิดเบือนผลที่ดำเนินการได้ หรือข้ามขอบเขตอำนาจที่ประกาศต่อสาธารณะหรือไม่ ต้องตรวจคำสั่งจริง เส้นทางที่ถูกที่สุดสู่อำนาจชี้ขาด เวลาที่ใช้ตอบสนอง และมูลค่าหรืออำนาจสูงสุดที่เข้าถึงได้หลังดำเนินการ
กลไกการทำงาน
- ทำแผนที่อำนาจจากสินทรัพย์ที่ใช้ลงคะแนน ผ่านการมอบอำนาจและจุดตรวจสอบ ไปยัง Governor ไทม์ล็อก ผู้ดูแลพร็อกซี คลัง บทบาทฉุกเฉิน และสัญญาเป้าหมาย หน้าจอระบบกำกับดูแลไม่ใช่แผนผังสิทธิ์
- ระบุเครือข่าย ที่อยู่สัญญา รุ่นการทำงาน โหมดนาฬิกา สแนปช็อต เกณฑ์เสนอญัตติ วิธีคำนวณองค์ประชุม กฎนับคะแนน ระยะหน่วงและช่วงลงคะแนน ระยะรอคิว วันหมดอายุ สิทธิ์ยกเลิก และบทบาทดำเนินการให้แน่นอน
- สร้างอำนาจลงคะแนน ณ สแนปช็อตที่ถูกต้องขึ้นใหม่ด้วยการอ่านย้อนหลัง เช่น
getPastVotesรวมที่อยู่ซึ่งบุคคลเดียวกันควบคุมหรือประสานงาน และแยกยอดโทเค็นออกจากน้ำหนักคะแนนที่ได้รับมอบหมาย - ถอดรหัสทุกการดำเนินการ ได้แก่
targetsvaluescalldatasและdescriptionHashตรวจพร็อกซีและตัวเลือกฟังก์ชัน ตรวจคำสั่งแบบชุด และเปรียบเทียบเพย์โหลดที่ทำงานได้กับคำอธิบายที่คนอ่าน - จำลองการสร้างญัตติ การลงคะแนน การเข้าคิว และการดำเนินการบนฟอร์ก เปรียบเทียบยอดคงเหลือ ความเป็นเจ้าของ บทบาท วงเงินอนุญาต ตัวดำเนินการ การตั้งค่าออราเคิล พารามิเตอร์หลักประกัน และฟังก์ชันที่เพิ่งเข้าถึงได้ก่อนและหลังดำเนินการ
- ประเมินเส้นทางควบคุมที่ถูกที่สุดจากการซื้อสปอต ตลาดกู้ยืม สภาพคล่องแบบแฟลช เงินกู้นอกตลาด การมอบอำนาจ แรงจูงใจลงคะแนน การป้องกันความเสี่ยงด้วยอนุพันธ์ การเจาะกุญแจ และการยึดบทบาทพิเศษ รวมค่าธรรมเนียม สลิปเพจ หลักประกัน ขาดทุนเมื่อปิดสถานะ และเวลาที่ต้องผูกเงินทุน
- ทดสอบเส้นทางตอบสนอง ยืนยันว่าใครยกเลิกหรือหยุดชั่วคราวได้ ต้องใช้หลักฐานใด ทำได้ทันระยะหน่วงหรือไม่ ผู้ใช้รับประกาศทางการที่ใด และจะเริ่มระบบกำกับดูแลใหม่อย่างไรโดยไม่ทิ้งกุญแจฉุกเฉินที่ไร้ขีดจำกัด
Governor ของโทเค็นโดยทั่วไปผ่านสถานะเสนอ หน่วงเวลา สแนปช็อต ลงคะแนน ผ่านหรือไม่ผ่าน เข้าคิว ไทม์ล็อก และดำเนินการ กฎที่แน่นอนขึ้นอยู่กับการติดตั้ง จุดตรวจสอบแบบ ERC-5805 ทำให้สอบถามน้ำหนักคะแนนที่มอบหมายในอดีตได้ นาฬิกาอาจใช้หมายเลขบล็อกหรือเวลาประทับ ผู้ตรวจต้องใช้นาฬิกาและค่าที่ติดตั้งจริง ไม่ควรถือว่าระยะเวลาหรือยอดโทเค็นบนหน้าจอเป็นข้อมูลชี้ขาด
ไทม์ล็อกสร้างช่วงแจ้งเตือนขั้นต่ำ แต่ไม่ตัดสินเจตนาและไม่ทำให้เพย์โหลดปลอดภัย บทบาทผู้เสนอ ผู้ดำเนินการ ผู้ยกเลิก และผู้ดูแลของมันล้วนสำคัญ หากผู้ดูแลภายนอกข้ามระยะหน่วงได้ ไทม์ล็อกก็ไม่ใช่อำนาจสุดท้าย หากไม่มีใครยกเลิกการดำเนินการที่เป็นอันตรายในคิวได้ การตรวจพบเพียงอย่างเดียวก็หยุดการดำเนินการไม่ได้
ตัวอย่างคำนวณ
- การยึดอำนาจเมื่อมีส่วนร่วมน้อย โปรโตคอลมีโทเค็นทั้งหมด
100 millionและหมุนเวียน40 millionญัตติต้องมีผู้ร่วมลงคะแนน2 millionคะแนน เห็นชอบมากกว่าคัดค้าน และมีไทม์ล็อก6-hourผู้หนึ่งซื้อ1.2 millionคะแนนและได้รับมอบหมาย1 millionคะแนน มีคะแนนคัดค้าน0.8 millionดังนั้นคะแนนเห็นชอบ2.2 millionจึงผ่านคำสั่งที่โอน15 million USDCจากคลังได้ ผู้นั้นควบคุมอุปทานรวม2.2 / 100 = 2.2%และอุปทานหมุนเวียน2.2 / 40 = 5.5%แต่ครองคะแนนที่ลงจริง2.2 / 3.0 = 73.3%ตัวแปรชี้ขาดคือการมีส่วนร่วม การมอบอำนาจ องค์ประชุม อำนาจของเพย์โหลด และระยะหน่วง ไม่ใช่คำกล่าว51% - ขอบเขตสแนปช็อต หากอ่านน้ำหนักคะแนนจากยอดปัจจุบันและดำเนินการได้ทันที ธุรกรรมเดียวอาจยืมโทเค็น ลงคะแนน ดำเนินการ และคืนเงินได้ การอ่านน้ำหนักย้อนหลังที่แก้ไขไม่ได้จากเวลาก่อนลงคะแนนปิดเส้นทางธุรกรรมเดียวนี้ แต่เงินทุนที่ยืมหรือรับมอบหมายก่อนสแนปช็อตยังใช้ได้ ระยะหน่วงของญัตติและช่วงสะสมคะแนนที่สังเกตได้จึงยังเป็นส่วนหนึ่งของการป้องกัน
- Beanstalk เมื่อวันที่ 17 เมษายน 2022 Beanstalk Farms รายงานว่าผู้โจมตีใช้แฟลชโลนหาประโยชน์จากกลไกกำกับดูแลของโปรโตคอล และขโมยสินทรัพย์ผู้ใช้ที่ไม่ใช่ Beanstalk ประมาณ
$77 millionเหตุการณ์นี้ชี้ว่าสภาพคล่องแบบแฟลชเป็นแหล่งเงินทุน ส่วนจุดอ่อนชี้ขาดคือระบบกำกับดูแลยอมให้อำนาจทางเศรษฐกิจชั่วคราวเข้าถึงสิทธิ์ดำเนินการมูลค่าสูง
ความเสี่ยงและการควบคุม
- อำนาจที่แท้จริงกระจุกตัว วัดผู้รับมอบหมายและหน่วยงานที่ประสานกัน ไม่ใช่เพียงที่อยู่ผู้ถือ เปิดเผยสัดส่วนผู้รับมอบหมายรายใหญ่ การกระจายการมีส่วนร่วม และการพึ่งพามูลนิธิ ผู้รับฝาก ผู้ดูแลสภาพคล่อง และตัวแทน
- กฎเสนอญัตติและองค์ประชุมอ่อนแอ เปรียบเทียบเกณฑ์กับอำนาจลงคะแนนที่ใช้งาน อุปทานที่ยืมได้ และความเสี่ยงของคลัง แยกข้อกำหนดสำหรับพารามิเตอร์ทั่วไปกับการอัปเกรดหรือโอนที่มีผลสูง
- สแนปช็อตไม่ปลอดภัย ใช้จุดตรวจสอบย้อนหลังที่แก้ไขไม่ได้และนาฬิการ่วมกันระหว่างโทเค็นกับ Governor เว้นระยะหน่วงก่อนสแนปช็อตให้เห็นการสะสมหรือมอบอำนาจผิดปกติ
- ลงคะแนนช้าหรือจู่โจม พิจารณาขยายเวลาขั้นต่ำเมื่อได้องค์ประชุมใกล้เส้นตาย และเฝ้าดูการเปลี่ยนแปลงการมอบอำนาจจำนวนมากตลอดวงจรญัตติ
- เพย์โหลดไม่โปร่งใส เผยแพร่คำสั่งที่ถอดรหัสและผลจำลองอิสระ แยกการดำเนินการเสี่ยงที่ไม่เกี่ยวกัน เพื่อไม่ให้รายการปกติซ่อนการเปลี่ยนผู้ดูแลหรือการโอนคลัง
- ระยะหน่วงดำเนินการไม่พอ ปรับไทม์ล็อกตามผลกระทบและเผยแพร่การดำเนินการในคิว ระยะหน่วงต้องรองรับการตรวจสอบ การเตือน การยกเลิกหรือหยุด และทางออกที่น่าเชื่อถือของผู้ใช้
- บทบาทฉุกเฉินมีอำนาจเกินไป จำกัดผู้พิทักษ์ตามฟังก์ชัน มูลค่า ระยะเวลา และมาตรฐานตรวจสอบ เปิดเผยสมาชิก เกณฑ์ การหมุนเวียน หลักฐานที่ต้องใช้ และขั้นตอนถอดถอนกับเริ่มใหม่
- เส้นทางอัปเกรดไม่ได้ตรวจ ติดตามผู้ดูแลพร็อกซี บีคอน ตัวเริ่มการทำงาน เส้นทางติดตั้งที่เปลี่ยนรูปได้ และสัญญาที่อัปเกรดได้หลังรับอำนาจ
- ความเสี่ยงดำเนินการข้ามเครือข่าย ตรวจสอบ Governor และข้อความต้นทาง ป้องกันรีเพลย์ จำกัดฟังก์ชันเป้าหมาย เพิ่มระยะหน่วงในเครือข่ายปลายทางสำหรับคำสั่งสำคัญ และกำหนดพฤติกรรมเมื่อบริดจ์ล้มเหลวหรือหยุด
- การเฝ้าระวังไม่พอ แจ้งเตือนการสร้างญัตติ การกระจุกคะแนน การเปลี่ยนองค์ประชุม การเข้าคิวและยกเลิก การเปลี่ยนสถานะที่ถอดรหัส การอัปเกรด การให้บทบาท วงเงินอนุญาต และเงินไหลออกจากคลัง
- การตอบสนองเหตุขัดข้องล้มเหลว ฝึกญัตติอันตราย การสูญเสียผู้ลงนาม ส่วนหน้าถูกเจาะ บริดจ์ขัดข้อง และการหยุดผิดพลาด บันทึกว่าใครตัดสินใจ สื่อสาร ลงนาม ตรวจสอบ และกู้ระบบอย่างปลอดภัย
- มูลค่าความเสี่ยงไร้ขีดจำกัด จำกัดการโอนคลังต่อครั้งและสะสม ขอบเขตอัปเกรด การสร้างโทเค็น การเปลี่ยนหลักประกัน และวงเงินอนุญาต การผ่านคะแนนไม่ควรมอบอำนาจไม่จำกัดโดยอัตโนมัติ
ผลการตรวจควรเป็นบัญชีการควบคุมที่ทำซ้ำได้ โดยบันทึกแต่ละการดำเนินการพิเศษ ผู้ควบคุม คะแนนหรือกุญแจที่ต้องใช้ เวลาดำเนินการเร็วที่สุด เส้นทางยกเลิก แหล่งติดตาม และมูลค่าสูงสุดที่เข้าถึงได้ คำนวณใหม่หลังอัปเกรด แจกโทเค็น เปลี่ยนการมอบอำนาจ ย้ายบริดจ์ หรือเมื่อสภาพคล่องและการมีส่วนร่วมเปลี่ยนอย่างมีนัยสำคัญ
ความเข้าใจผิดที่พบบ่อย
- “ผู้โจมตีต้องมี 51% ของอุปทานรวม” ระบบส่วนใหญ่ขึ้นอยู่กับคะแนนที่มอบหมายหรือเข้าร่วม องค์ประชุม และกฎผ่านญัตติ ต้นทุนของอำนาจชี้ขาดอาจต่ำกว่าครึ่งหนึ่งของอุปทานมาก
- “สแนปช็อตกำจัดการโจมตีระบบกำกับดูแล” สแนปช็อตป้องกันการใช้คะแนนซ้ำบางแบบหรือการยืมในนาทีสุดท้าย แต่ไม่ป้องกันการยืมล่วงหน้า การซื้อ การกระจุกตัวของการมอบอำนาจ สินบน หรือกุญแจพิเศษถูกเจาะ
- “คะแนนบนเชนที่ผ่านพิสูจน์ความชอบธรรม” พิสูจน์เพียงว่าเงื่อนไขในโค้ดครบ ไม่ได้พิสูจน์ว่าคำอธิบายตรงกับเพย์โหลด หรือผลลัพธ์ปลอดภัย ยุติธรรม และอยู่ในคำมั่นสาธารณะ
- “ไทม์ล็อกยิ่งนานยิ่งปลอดภัย” ระยะหน่วงมีประโยชน์เมื่อมีเวลาติดตาม วิเคราะห์ ยกเลิกหรือหยุด สื่อสาร และออกจากระบบภายในช่วงนั้น ระยะหน่วงมากเกินไปอาจขัดขวางการบำรุงรักษาเร่งด่วน
- “เพิ่มสภาความปลอดภัยแล้วความเสี่ยงจะหมด” สภาอาจตอบสนองเร็วขึ้น แต่สร้างเส้นทางควบคุมอีกทาง อำนาจ ความรับผิดชอบ การถอดถอน และรูปแบบความล้มเหลวต้องอยู่ในแบบจำลองภัยคุกคามเดียวกัน
หัวข้อที่เกี่ยวข้อง
แหล่งข้อมูล
- Governance - OpenZeppelin Documentation (เข้าถึงเมื่อ: 2026-08-20)
- ERC-5805: Voting with delegation - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-20)
- Compound v2 Governance - Compound Documentation (เข้าถึงเมื่อ: 2026-08-20)
- Beanstalk Governance Exploit - Beanstalk Farms (เข้าถึงเมื่อ: 2026-08-20)