นักวิจัยจาก National University of Singapore ได้ค้นพบ Bug ใน Ethereum Smart Contact จำนวนกว่า 34,200 สัญญา โดยช่องโหว่ที่อาจจะเกิดขึ้นกับสัญญาในการใช้งาน เช่น สามารถส่งเงินทุนไปยัง Ethereum address ผิดได้ สามารถล็อกโดยบุคคลอื่นหรือแช่แข็งทุนได้ถาวร เป็นต้น
Smart Contract คือ ‘Set of code’ ทำหน้าที่กำหนดการรับส่งทรัพย์สินหรือ Digital Currency ให้เป็นไปได้อย่างอัตโนมัติเมื่อตรงตามเงื่อนไขที่กำหนดในสัญญา ยกตัวอย่างการใช้ในงานประมูล เช่น กำหนดให้ก่อนขายวัตถุที่ประมูลต้องมีการประมูลก่อนจำนวน 100 ครั้ง ก็จะกำหนดเงื่อนไขโปรแกรมให้ X>100 ก่อนที่จะอนุญาตให้วัตถุนั้นถูกขายออกไปให้คนที่เสนอราคาประมูลสูงสุด เมื่อตรงตามข้อกำหนดแล้ว Smart Contact จะสร้าง Ether Transaction กับผู้ชนะการประมูลและสร้างคำสั่งขายอย่างอัตโนมัติ ดังนั้นจะเห็นได้ว่ามันก็คือ Code ซึ่งสามารถเกิด Bug ได้นั่นเอง
ก่อนหน้านี้นักวิจัยทีมนี้ได้เคยตีพิมพ์ผลงานวิจัยมาแล้วในปี 2016 โดยสร้างเครื่องมือชื่อ Oyente เพื่อสแกนหาช่องโหว่ของ Ethereum Smart Contract และพบว่า 8,833 สัญญาจาก 19,366 สัญญานั้นมีช่องโหว่แต่เวลานั้นไม่ได้รับความสนใจมากนัก
อย่างไรก็ตามเมื่อเกิดเหตุที่ผู้ใช้ GitHub ที่ชื่อ Devops199 ได้ทำให้เกิด Bug กับ Parity Ethereum Wallet ซึ่งมีมูลค่ากว่า 285 ล้านดอลล่าร์สหรัฐฯ (เมื่อเดือนพฤศจิกายนปีที่แล้ว) ทางทีมนักวิจัยจึงได้กลับมาสนใจในงานนี้อีกครั้งหนึ่งซึ่งครั้งนี้มีเครื่องมือตัวใหม่ที่ชื่อว่า Maian ซึ่งสามารถสแกนหาช่องโหว่ได้มากกว่าเดิม ผลลัพธ์คือ 3.5% ของ Smart Contracts จำนวน 970,898 มีช่องโหว่ นั่นอาจจะทำให้แฮ็กเกอร์สามารถขโมยหรือล็อกสัญญานั้นได้ อย่างไรก็ตามทีมนักวิจัยไม่ได้แจกเครื่องมือ Maian ไว้เพราะกลัวถูกนำไปใช้ในทางไม่ดี (มีเครื่องมือสแกนช่องโหว่แนะนำอีกตัวชื่อ mythril ) ผู้สนใจสามารถติดตามงานวิจัยฉบับล่าสุดได้ที่ https://arxiv.org/pdf/1802.06038.pdf