วันที่ 13 ก.พ.69 นายธนารัตน์ กัววัฒนาพันธ์ CEO ของ DomeCloud ผู้เชี่ยวชาญด้านซอฟต์แวร์และเทคโนโลยีบล็อกเชน (Blockchain) โพสต์ข้อความผ่านเฟซบุ๊ก Thanarat Kuawattanaphan ระบุว่า...
แค่รู้ Barcode บนบัตรเลือกตั้ง ก็รู้ว่าต้องไปค้นสมุดเลือกตั้งเล่มไหนเพื่อหาต้นขั้ว ซึ่งจะนำไปสู่ข้อมูลผู้กาบัตรเลือกตั้งใบนั้น จริงหรือ?
คณิตศาสตร์ให้คำใบ้แล้ว บัตรเลือกตั้งไม่มีใบไหนใช้เลขที่ซ้ำกัน แม้จะมาจากคนละเล่มกันก็ตาม จริงหรือ?
เราจะมาพิสูจน์กันครับ
DISCLAIMER: สมมุติว่าภาพหลักฐานที่ว่า Barcode = เลขที่บัตรเลือกตั้งเป็นความจริงแล้วเท่านั้นนะครับ ซึ่งผมก็ไม่รู้เหมือนกันว่าจริงเท็จแค่ไหน
เรื่องนี้ผมไม่ได้พบเอง แต่มีผู้พบความสัมพันธ์ของเลข "เล่มที่" และ "เลขที่" จนลำพังข้อมูลเลขที่อย่างเดียว สามารถใช้สืบย้อนได้ว่าเล่มที่อะไร ซึ่งเป็นแบบเดียวกันทั้ง 3 บัตรเลย ทั้งบัญชีรายชื่อ แบ่งเขต และประชามติ
เนื่องจาก เล่มที่ และ เลขที่ อ่านแล้วงงมาก จะขอแทนตัวแปรใหม่นะครับ
ให้ M หมายถึง เล่มที่
และ N หมายถึง เลขที่
ถ้าผู้ใดล่วงรู้ N ผู้นั้นจะรู้ด้วยว่าต้องไปหยิบสมุดเลือกตั้งเล่มไหนมาหาขั้ว จากความสัมพันธ์นี้ครับ
M = ⌊N/20⌋ + 1
Talk is cheap, show me the code:
```
function getBallotBookId(ballotId){
const prefix = ballotId.slice(0, 1);
const N = parseInt(ballotId.slice(1), 10);
const start = Math.floor(N/20);
return prefix + String(start + 1).padStart(7, "0");
}
```
ก็ประมาณนี้นะครับ ลองเอาไปเทสดู
https://codepen.io/earthchie/pen/vEKbZBb?editors=1010
แต่กล่าวเป็นภาษามักเกิลเลยก็คือ ลำพัง Barcode น่ะ สามารถสืบรู้ยันเลขบัตรประชาชน ชื่อ และนามสกุลของคุณได้เลย!
และนี่ก็เป็นอีกครั้งที่คณิตศาสตร์ได้ให้คำใบ้ว่า เลขที่ จะไม่มีซ้ำกันเลยในบัตรเลือกตั้งแต่ละใบ เพราะเลขที่ของทุกบัตร ล้วน generate ขึ้นมาจากหมายเลขเล่มที่ คูณ 20 แล้วนำมา +1 +2 +3 ไปเรื่อยๆ จนครบ +20 เพราะหนึ่งเล่มมีบัตร 20 ใบ ตราบเท่าที่ไม่มีเล่มที่ซ้ำ ก็จะไม่มีเลขที่ซ้ำเช่นกัน








