Blockchain กับการเลือกตั้ง: อธิบาย แบบเข้าใจง่าย(มั้ง?) :ทำไมใช้ Blockchain แล้วถึงโกงและเปลี่ยนแปลงไม่ได้

กกต 2562

ช่วงนี้ใน social ข่าวที่เป็นกระแสเลย ก็คือการเลือกตั้ง ส่วนใหญ่ก็เป็นการบ่น ถึง
กกต หรือ คณะกรรมการการเลือกตั้ง ว่าทำไมในการเลือกตั้งครั้งนี้ถึงทำระบบเลือกตั้ง และ ระบบรายงานผลต่างๆได้ แย่เหลือเกิน ส่วนตัวแล้วคิดว่า ส่วนหนึ่งเป็นระบบการจัดซื้อจัดจ้างซอฟต์แวร์ของไทยที่ล้าสมัย อย่างเช่น ใครเสนองานทำระบบให้เงินตัวเลขต่ำสุดก็ได้งานไป แต่พอถึงวันเผาจริง คนเสนองานกลับทำตาม requirement ที่สัญญาไว้ไม่ได้ ระบบล่มก็ไม่มีใครรับผิดชอบ 5555 ซึ่งก็เป็นแบบนี้มาหลายครั้งแล้วนะ ตั้งแต่ ระบบ TCAS แล้ว ที่น่าแปลกใจกว่าคือ ไม่มีการกล่าวถึงนโยบายการลงโทษหรือการรับผิดชอบจาก คนทำระบบเลย

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

เบื้องหลังของ Blockchain : ทำไมถึงโกงไม่ได้

Blockchain ถูกสร้างมาเพื่อแก้ปัญหาการไม่เชื่อใจซึ่งกันและกัน โดยตามนิยามแล้ว

Blockchain คือ ระบบที่เก็บข้อมูลไว้ท่ามกลางเครื่องคอมพิวเตอร์หลายๆเครื่อง โดยทุกๆเครื่องจะเชื่อมข้อมูลถึงกันและเก็บข้อมูลชุดเดียวกันอีกด้วย หรือเรียกว่า ระบบแบบกระจายศูนย์ (decentralization) 

ซึ่งจะแตกต่างจากระบบแบบดั้งเดิม ซึ่งก็คือ การเก็บข้อมูลไว้ ณ ที่ใดที่หนึ่ง (centralization) 

โดยประโยชน์หลักๆของ Blockchain มีหลักๆอยู่สามอย่างคือ

1) Decentralization หรือการกำจัดตัวกลาง(ที่อาจจะโกงได้)ออกไปนั่นเอง

ในทางทฤษฎีแล้ว ไอเดียหลักๆก็คือ กำจัดตัวกลางที่ไม่น่าเชื่อถือออกไป ถ้ายกตัวอย่างแบบง่ายๆก็คือ

ระบบการเลือกตั้งแบบดั้งเดิม (หรือ แบบ centralization นั่นเอง)

โดยมีขั้นตอนหลักๆ คือ

  1. เมื่อประชาชนอย่างเราออกไปใช้สิทธิเลือกตั้ง เราก็จะใช้บัตรประชาชนยืนยันตัวเองโดยการเซ็นชื่อกับเจ้าหน้าที่แล้วก็จะรับบัตรเลือกตั้งมา
  2. เดินเข้าคูหา กา แล้วก็หย่อนบัตรเลือกตั้ง
  3. เมื่อปิดหีบ ก็จะมีการนับเสียงโดยเจ้าหน้าที่ ณ หน่วยเลือกตั้ง
  4. รวมเสียงแต่ละหน่วย แล้วบันทึก แล้วส่งไปที่ส่วนกลาง กลต
  5. เมื่อรวมเสียงเสร็จ กกต ก็จะประกาศผลการเลือกตั้ง
Centralized Election Example

จะสังเกตได้ว่า ระบบแบบ centralized จะรวมข้อมูลไว้ที่จุดใดจุดหนึ่ง ในที่นี้คือการที่รวมเสียงไว้ที่หน่วยเลือกตั้ง แล้ว รวมเสียงจากหน่วยหลายหน่วย ไว้ที่ส่วนกลางของ กกต อีกทีนึง โดยข้อผิดพลาดมักจะเกิด ณ จุด ที่รวมข้อมูลเอาไว้( centralized ) และ
ปัญหาหลักๆ ที่จะทำให้เกิดข้อผิดพลาด มักจะเกิดจาก Human Error หรือ มนุษย์ นั่นเอง เช่น การกรอกเลขหลังนับคะแนนเสร็จผิดพลาดจากหลักร้อยเป็นหลักพัน เป็นต้น หรือ เมื่อศูนย์กลางมีปัญหาระบบทั้งหมดก็จะมีปัญหาไปด้วย

ซึ่งระบบนี้จะใช้ได้ผล และ ทุกคนยอมรับในผลของการเลือกตั้ง ก็ต่อเมื่อประชาชนทุกคนจะต้องมีความเชื่อใจ(Trust) ใน ตัวกลาง คือ 1) หน่วยเลือกตั้ง กับ 2) ส่วนกลาง กกต เพราะหากสองส่วนนี้ใส่ข้อมูลที่ผิดพลาดหรือเปลี่ยนแปลงข้อมูล ข้อมูลก็จะไม่ถูกต้อง ส่งผลให้การเลือกตั้งไม่น่าเชื่อถืออีกต่อไป

ระบบแบบ decentralization

ก่อนที่จะพูดต่อเรื่องระบบเลือกตั้ง ขอเล่าถึงแนวคิดนี้แบบ decentralization ก่อน ซึ่งมาจาก ความคิดที่ว่า

ในเมื่อเราไม่สามารถเชื่อใจตัวกลางได้ เราก็ออกแบบระบบมาใหม่โดยการกำจัดตัวกลางที่ไม่น่าเชื่อถือออกไปซะสิ

โดยตัวอย่างที่ง่ายที่สุดคือ Bitcoin ซึ่งใช้ระบบแบบ Blockchain นั่นเอง

ซึ่งจุดกำเนิดมากจาก นาย Satoshi Nakamoto ไม่เชื่อใจและได้ตั้งคำถามในระบบธนาคารของโลกนี้ ธนาคารสามารถโกงเงินลูกค้าไปเมื่อไหร่ก็ได้ ถ้าในบ้านเราตัวอย่างง่ายๆก็คือการรวมอำนาจ (Centralized Power) ไปยังพนักงานธนาคารส่วนหนึ่งในธนาคารทำให้เขามีอำนาจมากเกินทำให้เกิดการโกงได้ นาย Satoshi ก็เลยคิดค้น เครือข่าย Bitcoin Network ขึ้นมาในปี 2008


กรุงไทย เอาผิดพนักงานโกงเงินลูกค้า พบยักยอก 13 ราย รวม 4 ล้านบาท

ธนาคารกรุงไทย แจ้งความเอาผิดพนักงาน โกงเงินลูกค้า พบยักยอก 13 ราย เป็นเงิน 4 ล้านบาท ขณะที่เงินทั้งหมด ได้โอนคืนลูกค้าแล้ว…

ไทยรัฐออนไลน์ 9 ม.ค. 2562 19:32 น. https://www.thairath.co.th/content/1465686

ในระบบแบบดั้งเดิม ธนาคาร และ payment services เหล่านี้ ที่เป็นระบบรวมศูนย์กลาง (Centralized) เวลามีการทำธุรกรรมการโอนเงินเกิดขึ้น ตัวกลางเหล่านี้จะเป็นคนยืนยันการโอนให้กับเรา โดยแลก กับค่าธรรมเนียมที่เราจ่ายให้กับตัวกลางเหล่านี้

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

Destroying Traditional and Centralized Payment System

มาถึงตรงนี้ อาจจะงงว่าแล้วใครจะเป็นตัวกลางที่น่าเชื่อถือมาคอยทำธุรกรรมแทนแทุกคนที่อยู่ในระบบหละ? แล้วจะเชื่อใจได้ยังไงว่าคนๆนี้จะไม่โกง? Satoshi ก็เลยบอกว่า งั้นเรามากำหนด ฉันทามติ(Consensus) กัน หรือ กฏที่ทุกคนในระบบ เห็นพ้องต้องกันตั้งแต่แรกเริ่ม และทุกคนจะทำตามกฏอย่างเคร่งครัด โดยใน Bitcoin Network จะใช้กฏที่เรียกว่า Proof of Work Consensus ซึ่งก็คือ

คนแรกที่สามารถแก้สมการทางคณิตศาสตร์จะได้สิทธิในการยืนยันธุรกรรม และเมื่อบันทึกธุรกรรมสำเร็จ ได้รับรางวัล และ/หรือ ค่าธรรมเนียมในการโอนเป็น bitcoin

ซึ่งการที่จะหาคำตอบสมการจากเหล่านี้ทำได้ยากมากกกกกกก โดยจะต้องแก้ด้วยวิธี สุ่มหาคำตอบไปเรื่อยๆด้วยคอมพิวเตอร์เท่านั้น เพื่อพิสูจน์ว่าคนๆนั้นมีการทำงานอย่างหนักเพื่อยืนยันธุรกรรม โดยตัวกลางเหล่านี้เรียกว่า Miner หรือ แปลตามตัวก็คือนักขุดนั่นเอง

Bitcoin Network

เมื่อ Miner ได้ยืนยันธุรกรรมสำเร็จแล้ว ก็จะบรรจุ ธุรกรรมทั้งหมดลงใน กล่อง(Block) แล้วส่งต่อให้คนที่เหลือในระบบเช็คว่า คำตอบที่ได้นั้นผ่านการทำงานหนักจริงๆ คนอื่นๆก็จะได้รับอัพเดตข้อมูล และ นำ Block ใหม่มาต่อกับ Bฺlocks เก่าๆ เป็น chain เรียกว่า Blockchain นั่นเอง โดยทุกคนจะถือ Blockchain เป็นสำเนาฐานข้อมูลชุดเดียวกัน

แล้วทำไมวิธีในการสุ่มหาคำตอบถึงโกงไม่ได้ละ?

เมื่อ มี Miners ขุด หรือ แข่งกันหาคำตอบ ในระบบ Bitcoin Network มากเพียงพอ จะทำให้ Miner ที่ได้สิทธ์ในการยืนยันธุรกรรม ในแต่ละครั้ง จะเปลี่ยนมือไปเรื่อยๆ จนเกิดเป็นการสุ่มขึ้น ทำให้ไม่มีคนใดคนหนึ่งที่ได้สิทธิเด็ดขาดในการบันทึกและเปลี่ยนแปลง ธุรกรรมอยู่ตลอดเวลา หรือสามารถเรียกได้ว่า เกิดการกระจายศูนย์กลางของอำนาจ(decentralization) นั่นเอง

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

2) เปลี่ยนแปลงไม่ได้? : Immutable

จริงๆแล้ว Blockchain ใช้หลักเศรษฐศาสตร์ ในการทำให้เกิดความมั่นใจว่า ข้อมูลที่บันทึกลงใน ฺBlock ไปแล้วจะไม่สามารถถูกเปลี่ยนแปลงได้ โดยหลักง่ายๆก็คือ

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

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

สำหรับ Bitcoin ต้นทุนหลักๆก็คือ ต้นทุนค่าไฟฟ้าในการประมวลผลหาคำตอบ ระหว่างการแข่งกับ Miner อื่นๆ จนกระทั่งได้รับสิทธิในการยืนยันธุรกรรม

เมื่อมีคนพยายามจะเปลี่ยนหรือแก้ไขข้อมูลของธุรกกรรมก่อนหน้าในอดีต คนๆนั้นจำเป็นที่จะต้องแก้สมการหาคำตอบใหม่ทั้งหมดตั้งแต่ Block นั้นๆจนถึง Block ปัจจุบัน และยังต้องเพิ่มจำนวน คนในระบบเพื่อยืนยัน คำตอบใหม่ให้มากกว่าครึ่งหนึ่งของระบบด้วย และทั้งหมดนี้ยังต้องทำในเวลาที่จำกัดก่อนที่ Miner คนอื่นจะยืนยันธุรกรรมใหม่ ลงไปใน Block ด้วย ทำให้ในทางปฎิบัติ เป็นไปได้ยากมากที่จะเจาะและโกงระบบ Blockchain ที่มีความ Decenctralized สูง อย่าง Bitcoin เพราะจะเกิดต้นทุนในการประมวลผลที่มหาศาลจนไม่คุ้มทุนนั่นเองครับ

แล้วการที่บอกว่า ฐานข้อมูลแบบ Blockchain ที่บันทึกไปแล้ว ปลอดภัย และ ไม่สามารถเปลี่ยนแปลงได้ก็ไม่ถูกซะทีเดียว เพราะใน Blockchain เองก็มีหลายแบบ และแต่ละแบบก็มี consensus ที่ไม่เหมือนกันอีก ซึ่งแต่ละ
 consensus ก็จะมีความ decentralized ที่แตกต่างกันออกไปอีก โดยบางตัวมีความ centralized สูงจนแทบจะไม่อยากเรียกว่า Blockchain เลยซะด้วยซ้ำ

ถ้าอยากรู้เรื่อง ของ consensus ต่างๆให้ลึกซึ้งมากกว่านี้ ผมขอแนะนำ blog นี้ ของคุณหนูเนยเลยครับ https://nuuneoi.com/blog/blog.php?read_id=933

3) Transparent ตรวจสอบได้

เป็นอีกหนึ่งในคุณสมบัติหลักๆของ Blockchain อย่างที่ได้รู้กัน ทุกๆคนในระบบจะมีสำเนา Blockchain ชุดเดียวกัน ทำให้การตรวจสอบธุรกรรมเก่าๆเป็นเรื่องที่ทำได้ง่ายมาก และสามารถทำได้ทันที และเรายังสามารถเห็นข้อมูลธุรกรรมที่กำลังเพิ่มขึ้นมาแบบ Real-time อีกด้วย

ซึ่งจะแตกต่างจากระบบแบบ centralized ซึ่งหากข้อมูลเปลี่ยนแปลง เราจะต้องขอตรวจสอบไปยังส่วนกลางซึ่งยากมากแก่การตรวจสอบ และ เชื่อถือไม่ได้อีกด้วย

การใช้ Blockchain กับการเลือกตั้ง

จริงอยู่ที่ว่า Blockchain สามารถแก้ปัญหาความไม่เชื่อใจซึ่งกันและกันได้ แต่ก็ต้องแลกมาซึ่ง ความอืดของระบบ และ สูญเสียการ scalability ไป พูดง่ายๆก็คือ ยิ่งระบบมีคนในระบบใช้งานมากเท่าไหร่ หรือระบบมีความ Decentralized สูงเท่าไหร่ ระบบยิ่งใช้เวลานานในการยืนยันข้อมูลมากขึ้นไปเท่านั้น ดังนั้นการใช้ Blockchain ในการเลือกตั้งที่มีคนหลายล้านคนในการยืนยันข้อมูลจำนวนมากในเวลาสั้นๆเพียงหนึ่งวัน อาจจะไม่ตอบโจทย์เท่าไหร่ และยังมีต้นทุนสูงมากอีกด้วย

แต่เหตุผลจริงๆที่ทำให้ Blockchain อาจจะยังไม่เหมาะกับการเลือกตั้ง ในปัจจุบัน ก็คือ

จริงอยู่ที่เรามั่นใจและเชื่อได้ว่าข้อมูลที่ถูกบันทึกไว้ใน Blockchain ไม่สามารถถูกเปลี่ยนแปลงได้ แต่ถ้าข้อมูลที่ถูกบันทึกไปผิดหรือถูกบิดเบือนไปตั้งแต่แรกหละ?

เราจะเชื่อได้อย่างไรว่าข้อมูลนั้นถูกต้อง และเราต้องไม่ลืมด้วยว่า ข้อมูลใดๆที่ถูกบันทึกไปแล้วไม่สามารถถูกแก้ไขหรือย้อนกลับได้ เหมือนกับระบบแบบดั้งเดิม

ยกตัวอย่างเช่น ในความเป็นจริง การเลือกตั้งเราไม่สามารถออกแบบระบบ รวมไปถึง Consensus ที่ไม่มีตัวกลางโดยสมบูรณ์ได้ เหมือนกับ ระบบ Bitcoin network ได้ ในบางพื้นที่ เราไม่สามารถใช้เทคโนโลยีในการแทนมนุษย์ได้ทั้งหมด เรายังจำเป็นที่ต้องอาศัยมนุษย์เป็นตัวกลางในการดำเนินการบางอย่างอยู่ จะเห็นได้ว่าปัญหาก็จะวนมาแบบเดิมอีกๆอีกครั้งคือ Human Error เหมือนกับระบบการเลือกตั้งแบบเดิมๆอีกรอบ

ถ้าใช้ Blockchain จริงๆ ต้องใช้อะไรเพิ่มบ้าง

  1. เครื่องมือดิจิตอล ที่ทุกคนใช้ได้ อย่างเช่น การปล่อยแอพลิเคชั่นให้ประชาชน download แต่ไม่ใช่ทุกคนในประเทศไทยที่จะเข้าถึงโทรศัพท์และโหลดได้ นนอกจากนี้ยังมีความเสี่ยงเกี่ยวกับการควบคุมความปลอกภัยของ software ในตัวเครื่องอีกด้วย
  2. Blockchain Infastructure ที่ใหญ่, น่าเชื่อถือ, และคุ้มค่า พอสำหรับการเลือกตั้ง เรายังขาด Public Blockchain หรือ Blockchain ที่ผู้มีสิทธ์ทุกคนสามารถตรวจสอบธุรกรรม หรือ คะแนนเลือกตั้งย้อนหลังได้อย่างอิสระ ส่วนตัวแล้ว ผมคิดว่า ฺblockchain สำหรับการเลือกตั้ง ควรที่จะเป็น blockchain เดียวกันแล้วใช้ร่วมๆกันหลายประเทศ ไปเลย จะได้มีความน่าเชื่อถือสูง เนื่องจากต่างชาติสามารถเข้ามาตรวจสอบได้นั่นเอง แต่ในปัจจุบัน ยังไม่มีโครงสร้างไหนที่ตอบโจทย์ครับ

แล้ว Blockchain เหมาะกับอะไรหละ?

Blockchain เหมาะอย่างยิ่งสำหรับ การดำเนินการใดๆก็ตามที่ต้องอาศัยความเชื่อใจสูง เช่น อุตสาหรรม การเงิน สุขภาพ ประกันภัย และ ประกันชีวิต รวมไปถึง การ automate งานทั่วๆไปที่ไม่ต้องอาศัยจินตนาการมาก หรือ พูดอีกอย่างก็คือ งานทั่วไปที่คอมพิวเตอร์สามารถทำแทนได้นั่งเอง

From: goldmansachs.com

Blockchain มีไว้เพื่อสร้างระบบแบบอัตโนมัติที่สามารถส่งข้อมูลและมูลค่า(Value)ไปมาได้โดยที่ไม่ต้องอาศัยความเชื่อใจกันนั่นเองครับ ( Trustless System)

ปัญหาอีกอย่างหนึ่งคือ หลักการ ของ Blockchain เป็นอะไรที่เข้าใจ และ นำไปใช้จริงยากมาก ทำให้ไม่ปัจจุบัน ยังไม่มีเกิด Mass adoption หรือการนำไปใช้อย่างแพร่หลายนั่นเอง

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

สรุป

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