วันพุธ, ตุลาคม 16

บล็อคเชนกับการเลือกตั้ง (Blockchain voting)

สวัสดีครับ ท่านผู้อ่าน ทุกท่าน วันนี้ทาง Blockchain Fish มีสิ่งที่น่าสนใจมานำเสนอ ปัจจุบันนี้มีเทคโนโลยีหลายอย่างมาก ที่เข้ามามีบทบาท ต่อประเทศของเรา หรือต่อองค์กรของท่านเอง รวมทั้ง ตัว Blockchain พระเอกของเรานี้ ก็เข้ามาปรับเปลี่ยนความคิดใหม่ๆ ได้ดีเลยแหละ ไหนใครยังไม่รู้จัก Blockchain ยกมือขึ้น !!
( คลิก ลิงค์เข้าไปดูได้ที่  : https://bit.ly/2Fpu1nN  )

 

แต่ถ้าเป็น การเลือกตั้ง + Blockchain หละ ? จุดเด่นก็คงเป็นเรื่อง
ความโปร่งใส ที่ใครหน้าไหน ก็เข้ามาเปลี่ยนแปลงข้อมูลไม่ได้  

 

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

ข้อดีของการเลือกตั้งบนเทคโนโลยี Blockchain นั้น ทุกคนจะทราบข้อมูลแบบโปร่งใส ระบุได้เลยว่าใคร ได้กี่คะแนน
และไม่ต้องห่วงว่าใครจะมาสวมสิทธิเลยแหละ

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

ตัว Blockchain ที่มีชื่อว่า Ethereum นี้  ( Ethereum คืออะไร ? คลิก : https://bit.ly/2Ukl44G ) ซึ่งสามารถเขียน
Smart Contract ( เงื่อนไขของโปรแกรม ) ได้ และเราสามารถเขียนเงื่อนไขของ การเลือกตั้ง บนโปรแกรมได้อีกด้วย
โดยโค้ดการเลือกตั้งของโปรแกรมนี้ ก็มีให้เราสามารถใช้ฟรี เอาไปลองเล่นกันเองได้
( สามารถเข้าไปดูได้ที่ :
https://remix.ethereum.org และ https://github.com/dappuniversity/election )

ตัวระบบการเลือกตั้งบน Blockchain ตามตัวอย่างที่เราจะมาลองเจาะลึกกัน จะประกอบไปด้วย สามส่วนหลักๆ ง่ายๆ

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

เห็นไหมครับ  ไม่มีอะไรยุ่งยากซับซ้อนเลย ไม่เจอปัญหาเครื่องคิดเลขไม่มีอีก ระบบคำนวณให้เสร็จ และข้อมูลนั้น
ไม่สามารถแก้ได้อีกด้วย (ฮ่าๆ) !!

 

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

 

ตัวอย่าง code การเลือกตั้ง

https://github.com/dappuniversity/election/blob/master/contracts/Election.sol

เห็นcode แล้วทุกท่านอาจจะ งง กันใช่ไหมหละครับ ผมจะขอเขียนแบบสรุปง่ายๆนะครับ  องค์ประกอบโค้ด ไม่มีอะไรมาก

เริ่มจาก อันดับแรกเราต้องมีผู้สมัครอยู่ในระบบเรียบร้อยก่อน ซึ่งในภาพนั้น ได้กำหนดผู้สมัครไว้แล้ว สองคน
คือ Candidate 1 และ Candidate 2

  1. นำเข้าข้อมูลผู้สมัคร เข้าสู่ระบบ

    กดที่ deploy

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

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

     2. ดูจำนวนผู้สมัครและข้อมูลผู้สมัคร

         ดูจำนวนผู้สมัคร คลิกไปที่ candidatesCount

มีผู้สมัครอยู่สองคน

           ดูข้อมูลของผู้สมัคร คลิกไปที่ candidates โดยกรอกเบอร์ของผู้สมัครในโปรแกรมนี้ มี 2 เบอร์คือ 1 กับ 2

แสดงเบอร์ ชื่อ และจำนวนในการโหวตของผู้สมัคร

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

    3. มาเริ่มเลือกตั้งกันเถอะ

เลือกเบอร์ 1 “Candidate_1”

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

บันทึกข้อมูลลงบน Blockchain

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

  1. เช็คสิทธิในการโหวต
ได้ใช้สิทธิในการโหวตไปเรียบร้อยแล้ว

         

       ใส่ Address เข้าไปใน ฟังก์ชั่น และกด voters เสร็จแล้วจะแสดงข้อมูลออกมาว่าตัวเราได้ทำการโหวตไปแล้วหรือยัง

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

หรือถ้าต้องการศึกษาเพิ่มเติม Remix ก็มีตัวอย่างการ Vote Proposal ให้เหมือนกันครับ

File : ballot.sol

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

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

ขอบคุณเครดิตรูปภาพ
https://unsplash.com/@Element5 Digital