มีโจทย์ที่ได้รับมาแล้วคิดว่าน่าสนใจ นั่นคือพัฒนาระบบเลือกตั้งออนไลน์
ถ้าความต้องการมีเพียงแค่
- ตัวสอบตัวตนผู้มีสิทธิลงคะแนน
- ห้ามผู้มีสิทธิ ลงคะแนนซ้ำ
- สรุปผลการเลือกตั้ง
ระบบพื้นฐานนี้จะออกแบบและพัฒนาได้ง่ายมาก เพียงแค่มีฐานข้อมูล 1 ตารางเพื่อเก็บข้อมูล ว่าผู้มีสิทธิคนหนึ่งๆ ลงคะแนนให้ผู้สมัครคนใด
แต่ถ้ามองให้ลึกลงไปจะเห็นว่าระบบนี้เกิดข้อเสียที่การเลือกตั้งแบบออฟไลน์ไม่เกิดขึ้น คือ
- ผู้ลงคะแนนไม่สามารถเชื่อมั่นได้ว่าคะแนนที่ตนลงไปไม่มีการถูกแก้ไข
- ผู้ดูแลฐานข้อมูลสามารถตรวจสอบได้ว่า ผู้มีสิทธิแต่ละคนลงคะแนนให้ใคร ซึ่งเป็นเรื่องที่ยอมรับไม่ได้ ไม่อย่างนั้นการซื้อขายเสียงคงมีประสิทธิภาพอย่างมาก หากผู้ดูแลทุจริต หรือข้อมูลหลุด