ดูเหมือนว่าโครงการที่ถูกสร้างอยู่บน Binance Smart Chain บางตัวนั้นยังคงที่จะถูกเจาะช่องโหว่อยู่ โดยล่าสุดนั้นเป็นตัว PancakeSwap และถูกเจาะโดยใครบางคนที่มีความสามารถในการเข้าถึง admin access
การเจาะช่องโหว่
ปัญหาการสุ่มนั้นยังคงเป็นปัญหาเก่า ๆ ที่ smart contract นั้นยังคงต้องพบเจอ หลัก ๆ เพราะภาษา Solidity นั้นไม่มีฟังค์ชัน random แบบ native และตัว source ที่มีความ random ทุกตัวต้องอยู่บน on-chain หมด โครงการหลาย ๆ ตัวที่ใช้ block header, transaction hash และอื่น ๆ ที่เอาไว้ใช้สร้าง source ที่มีความ random แต่อันที่จริงแล้วทั้งหมดนั้นไม่ได้มีความ random จริง ๆ เลยแม้แต่น้อย แต่เป็นสิ่งที่เรียกว่าการ random แบบหลอก ๆ หรือ pseudorandom เท่านั้น
ปัญหาในเรื่องดังกล่าวส่งผลทำให้ระบบนี้ถูกเจาะช่องโหว่ได้ในอดีต อย่างเช่นการแฮค Meebits ส่วนในกรณีของ PancakeSwap นั้น ตัวเลข lottery ได้ถูกสร้างขึ้นบนเงื่อนไขที่สามารถ ‘คาดเดาได้’ จึงทำให้นักแฮ็คใช้ช่องโหว่นี้เพื่อคาดเดาตัวเลขของล็อตเตอรี่ที่จะเกิดขึ้นในอนาคต และทำการดูดเงินใน pool ออกมาทั้งหมด
แล้วใครเป็นคนทำ?
บล็อกเกอร์รายหนึ่งได้ออกมาเผยถึงรายละเอียดที่แสดงให้เห็นว่านี่อาจเป็นการกระทำของทางฝั่งแอดมินของ PancakeSwap เอง เนื่องจากว่าพวกเขาเป็นคนสร้าง contract ขึ้นมา ก่อนที่จะค้นพบช่องโหว่นี้ และเอาเงินออกมาโดยใช้ address ของพวกเขาเอง
ในขณะที่แอดมินของแพลทฟอร์มดังกล่าวนั้นมีการใช้ช่องโหว่จริง แต่ดูเหมือนว่าเงินจำนวน 1.8 ล้านดอลลาร์นั้นไม่ได้ถูกขโมยไป และแม้ว่าตอนนี้จะยังไม่มีการออกมาประกาศอย่างเป็นทางการจากทีมงาน pancake swap แต่การกระทำดังกล่าวนั้นดูจะเป็นลักษณะของแฮ็คเกอร์สาย white hat ที่เอาเหรียญออกจาก contracts เสียมากกว่า เพื่อป้องกันไม่ให้นักแฮ็ครายอื่นที่มาค้นพบทีหลังทำการใช้ช่องโหว่นี้ได้
หลัก ๆ นั้นเป็นเพราะว่าแอดมินของ PancakeSwap นั้นทำการใช้ public address เพื่อเจาะช่องโหว่ ซึ่งแปลว่าหากพวกเขาคิดจะดูดเอาเงินออกจาก contract ด้วยจุดประสงค์ที่ไม่ดีนั้น พวกเขาคงจะใช้บัญชีที่มีความเป็นส่วนตัวสูง นอกจากนี้เงินที่ถูกกู้คืนจาก lottery pool นั้นกำลังถูก burn เป็นส่วน ๆ โดย address ของ admin เอง
แม้ว่าการเจาะช่องโหว่นั้นจะไม่ถือเป็นเรื่องดี แต่การจัดการของทีมนั้นดูเหมือนว่าจะช่วยสร้างความมั่นใจให้ผู้ใช้งานได้ไม่น้อย ซึ่งบ่งบอกว่าทาง PancakeSwap นั้นต้องการที่จะแก้ไขปัญหานี้จริง ๆ