Friday, February 13, 2026
Homeอีเธอเรียมหมายเลขที่ปลอดภัย 1 | บล็อกมูลนิธิ Ethereum

หมายเลขที่ปลอดภัย 1 | บล็อกมูลนิธิ Ethereum


เมื่อต้นปีนี้ เราได้เปิดตัว a โปรแกรมรางวัลบั๊ก มุ่งเน้นไปที่การค้นหาปัญหาในข้อกำหนดเฉพาะของบีคอนเชน และ/หรือในการใช้งานไคลเอ็นต์ (ประภาคาร, Nimbus, Teku, Prysm ฯลฯ…) ผลลัพธ์ (และรายงานช่องโหว่) ได้รับการให้ความกระจ่างเช่นเดียวกับบทเรียนที่ได้รับพร้อมกับการแก้ไขปัญหาที่อาจเกิดขึ้น

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

โพสต์แรกนี้จะวิเคราะห์การส่งบางส่วนที่กำหนดเป้าหมายไปที่ BLS ดั้งเดิมโดยเฉพาะ

ข้อสงวนสิทธิ์: ข้อบกพร่องทั้งหมดที่กล่าวถึงในโพสต์นี้ได้รับการแก้ไขแล้ว

BLS มีอยู่ทั่วไป

ไม่กี่ปีที่ผ่านมา ดิเอโก เอฟ. อรันฮา ได้มาบรรยายที่ การประชุมเชิงปฏิบัติการครั้งที่ 21 เรื่องการเข้ารหัส Elliptic Curve มีชื่อเรื่อง: การจับคู่ยังไม่ตายเพียงแค่พักผ่อน เป็นคำทำนายอย่างไร

เราอยู่ในปี 2021 และการจับคู่เป็นหนึ่งในนักแสดงหลักที่อยู่เบื้องหลังการเข้ารหัสลับแบบดั้งเดิมจำนวนมากที่ใช้ในพื้นที่บล็อกเชน (และอื่น ๆ): บีแอลเอส ลายเซ็นรวม ระบบ ZK-SNARKS ฯลฯ

งานพัฒนาและกำหนดมาตรฐานที่เกี่ยวข้องกับลายเซ็น BLS เป็นโครงการต่อเนื่องสำหรับนักวิจัยของ EF มาระยะหนึ่งแล้ว โดยได้รับแรงผลักดันบางส่วนจาก จัสติน เดรค และสรุปไว้ใน โพสต์ล่าสุดของเขาใน Reddit

ล่าสุดและยิ่งใหญ่ที่สุด

ในระหว่างนี้ก็มีการอัพเดตมากมาย BLS12-381 ปัจจุบันได้รับการยอมรับในระดับสากลว่าเป็น เส้นโค้งการจับคู่ ที่จะใช้ ด้วยความรู้ของเราในปัจจุบัน

ร่าง IRTF ที่แตกต่างกันสามแบบกำลังอยู่ระหว่างการพัฒนา:

  1. เส้นโค้งที่เป็นมิตรต่อการจับคู่
  2. ลายเซ็น BLS
  3. การแฮชเป็น Elliptic Curves

นอกจากนี้ ข้อมูลจำเพาะของห่วงโซ่บีคอน ได้ครบกำหนดและใช้งานบางส่วนแล้ว ตามที่กล่าวไว้ข้างต้น ลายเซ็น BLS เป็นส่วนสำคัญของปริศนาที่อยู่เบื้องหลัง Proof-of-Stake (PoS) และสายสัญญาณบีคอน

บทเรียนล่าสุดที่ได้เรียนรู้

หลังจากรวบรวมการส่งที่กำหนดเป้าหมาย BLS ดั้งเดิมที่ใช้ในเลเยอร์ฉันทามติแล้ว เราสามารถแบ่งข้อบกพร่องที่รายงานออกเป็นสามส่วน:

  • ร่างการกำกับดูแล IRTF
  • ข้อผิดพลาดในการดำเนินการ
  • การละเมิดการดำเนินการร่าง IRTF

เรามาซูมเข้าไปในแต่ละส่วนกันดีกว่า

ร่างการกำกับดูแล IRTF

ผู้สื่อข่าวคนหนึ่ง (เหงียนถ่อยมินห์กวน) พบความคลาดเคลื่อนใน ร่าง IRTFและตีพิมพ์เอกสารไวท์เปเปอร์สองฉบับพร้อมข้อค้นพบ:


ในขณะที่ความไม่สอดคล้องกันโดยเฉพาะยังคงมีอยู่ สำหรับการอภิปรายเขาพบสิ่งที่น่าสนใจ การดำเนินการ ปัญหา ในขณะที่ทำการวิจัยของเขา

ข้อผิดพลาดในการดำเนินการ

กุยโด วรันเคน สามารถค้นพบปัญหา “เล็กๆ น้อยๆ” หลายประการได้ บีแอลเอสที โดยใช้ การคลุมเครือที่แตกต่างกัน– ดูตัวอย่างด้านล่าง:


เขาปิดท้ายด้วยการค้นพบช่องโหว่ระดับปานกลางที่ส่งผลกระทบต่อ ฟังก์ชัน blst_fp_eucl_inverse ของ BLST

การละเมิดการดำเนินการร่าง IRTF

ข้อผิดพลาดประเภทที่สามเกี่ยวข้องกับการละเมิดการใช้งานร่าง IRTF คนแรกส่งผลกระทบต่อ ลูกค้าปริซึม

เพื่ออธิบายสิ่งนี้ เราต้องให้ข้อมูลพื้นฐานเล็กน้อยก่อน ที่ ลายเซ็น BLS ร่าง IRTF ประกอบด้วย 3 โครงการ:

  1. โครงการพื้นฐาน
  2. การเพิ่มข้อความ
  3. หลักฐานการครอบครอง

ที่ ลูกค้าปริซึม ไม่ได้สร้างความแตกต่างระหว่าง 3 ใน API ซึ่งมีลักษณะเฉพาะในการใช้งาน (เช่น py_ecc– ความพิเศษอย่างหนึ่งเกี่ยวกับ โครงการพื้นฐาน เป็น การอ้างอิงคำต่อคำ‘ฟังก์ชันนี้ช่วยให้แน่ใจว่าข้อความทั้งหมดมีความแตกต่างกันก่อน’ – สิ่งนี้ไม่รับประกันใน รวมตรวจสอบ การทำงาน. Prysm แก้ไขความคลาดเคลื่อนนี้โดย การเลิกใช้งาน ของ รวมตรวจสอบ (ซึ่งไม่ได้ใช้ที่ใดในข้อกำหนดเฉพาะของบีคอนเชน)

ปัญหาที่สองได้รับผลกระทบ py_ecc– ในกรณีนี้ กระบวนการซีเรียลไลเซชันที่อธิบายไว้ใน ข้อมูลจำเพาะ ZCash BLS12-381 ที่เก็บจำนวนเต็มจะอยู่ในช่วงของเสมอ (0, หน้า – 1)– ที่ py_ecc การใช้งานได้ตรวจสอบกลุ่ม G2 ของ BLS12-381 เฉพาะสำหรับ ส่วนที่แท้จริง แต่ไม่ได้ดำเนินการแบบโมดูลัสสำหรับ ส่วนจินตภาพ– ปัญหาได้รับการแก้ไขแล้วด้วยคำขอดึงต่อไปนี้: การตรวจสอบความถูกต้องไม่เพียงพอใน decompress_G2 Deserialization ใน py_ecc

ห่อขึ้น

วันนี้ เราได้ดูรายงานที่เกี่ยวข้องกับ BLS ที่เราได้รับโดยเป็นส่วนหนึ่งของเรา โปรแกรมรางวัลบั๊กแต่นี่ไม่ใช่จุดจบของเรื่องงานรักษาความปลอดภัยหรือการผจญภัยที่เกี่ยวข้องกับ BLS อย่างแน่นอน

เรา อย่างยิ่ง ให้กำลังใจ คุณ เพื่อช่วยให้แน่ใจว่าชั้นฉันทามติจะยังคงปลอดภัยยิ่งขึ้นเมื่อเวลาผ่านไป ด้วยเหตุนี้ เราหวังว่าจะได้รับการติดต่อจากคุณและสนับสนุนให้คุณ DIG! หากคุณคิดว่าคุณพบช่องโหว่ด้านความปลอดภัยหรือข้อบกพร่องใดๆ ที่เกี่ยวข้องกับบีคอนเชนหรือไคลเอนต์ที่เกี่ยวข้อง ส่งรายงานข้อผิดพลาด



RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

ความเห็นล่าสุด