โปรเจค EdChance

Kanisorn Thongprapaisaeng
Band Protocol Thailand
3 min readJun 9, 2019

เนื่องจากวันที่ 25–26 พฤษภาคม 2562 ที่ผ่านมา ผมได้มีโอกาสเข้าร่วมงาน Surge Hackathon Bangkok โดย Unicef เป็นผู้จัดงานนี้ขึ้นมา เป้าหมายของงานนี้คือการใช้ blockchain ช่วยในเรื่องของ Financial Inclusion เช่นเรื่องระดมทุนเพื่อการบริจาคหรือ การกระจายเงินบริจาคให้เข้าถึงผู้รับ

โดยทีมของผมเป็นตัวแทนจาก BandProtocol ซึ่งประกอบไปด้วย 4 คน ได้แก่ peach(Front End Developer), Paul Chonpimai(Project Manager), Ming(Designer), Q-jipyeongseon Geunyang Samgagbeob(Smart contract Developer)

ที่มาของโปรเจค EdChance

โปรเจคนี้ได้แนวคิดมาจากปัญหาของเด็กที่ต้องย้ายตามพ่อแม่ที่เป็นแรงงานข้ามชาติมาทำงานก่อสร้างในประเทศไทย ทำให้เกิดปัญหาเด็กไม่ได้เข้ารับการศึกษาขั้นพื้นฐาน จากสถิติเด็กที่ย้ายเข้ามามีประมาณเกือบ 370,000 คน แต่เด็กที่ได้รับการศึกษาในโรงเรียนรัฐมีแค่ 145,379 คน อีก 18,912 คนที่ในศูนย์ต่างๆ และอีก 200,000 คนที่ไม่ได้เข้ารับการศึกษา!!

ปัญหาที่ทำให้การสนับสนุนทุนการศึกษาเกิดขึ้นได้ยากได้แก่

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

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

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

EdChance จึงเกิดขึ้น

เราสร้าง Smart contract บน Ethereum เพื่อจัดการแบ่งงบจากบริษัทให้ทั้งสองฝ่าย(โรงเรียนกับพ่อแม่) และช่วยให้ไม่จำเป็นต้องสร้าง infrastructure ที่ซับซ้อนในการเชื่อมทุกองค์กรเข้าด้วยกัน

โดยเราจะมี 2 เว็บไซต์ให้บริษัทและโรงเรียน ส่วน Token ที่ใช้คือ DAI เป็นสกุลเงิน (DAI เป็น stablecoin ที่ราคาเทียบเท่าราคา USD)

โครงสร้างของระบบ

ก่อนอื่นเลยต้องเล่าถึงโครงสร้างก่อนว่าประกอบไปด้วยอะไรบ้าง

  • Gnosis Wallet ใช้เป็น wallet ของทางฝั่งบริษัทและโรงเรียน (สามารถใช้ Metamask ก็ได้เช่นกัน)
  • Company Web Dashboard เป็นเว็บไซต์ให้สำหรับทางบริษัทโอนเงินเข้า Smart contract, เพิ่มนักเรียน, ตรวจสอบข้อมูลการเข้าเรียน, ตรวจสอบข้อมูลโรงเรียน (React.JS)
  • Smart contract ใช้สำหรับเก็บข้อมูลของนักเรียน, เก็บข้อมูลโรงเรียน, โอนเงินให้แก่โรงเรียนและพ่อแม่เมื่อนักเรียนเข้าเรียน (Solidity 0.5.8)
  • Band Protocol สร้าง List ของโรงเรียนที่น่าเชือถือโดยวิธี Token-Curated DataSources
  • Keycard จาก Status เป็น hardware wallet ใช้แทนบัตรประจำตัวนักเรียน หรือ สามารถใช้ซื้อของในโรงเรียนได้
  • School Check-in Web Portal เป็นเว็บไซต์สำหรับทางโรงเรียนเพื่อแสดงข้อมูลของนักเรียนที่ check-in และส่งข้อมูลไปยัง Ethereum (React.JS)
  • Card Reader Server ใช้ภาษา Python กับ Library ของ Status เพื่อขอข้อมูลนักเรียนจาก Keycard และรวมถึงการ Sign Message โดยใช้คู่กับ School Check-in Web Portal
แผนผังของระบบ

ผู้ใช้งานระบบของเราจะมีทั้งหมด 3 กลุ่ม ได้แก่

  • บริษัทก่อสร้าง มีหน้าที่นำงบการศึกษาโอนเข้า Smart contract และ เพิ่มรายชื่อนักเรียน
  • พ่อแม่(แรงงานข้ามชาติ) เด็กแต่ละคนจะได้รับ Keycard คนละใบใช้สแกนก่อนเข้าเรียนที่โรงเรียน
  • โรงเรียน ใช้ School Check-in Web Portal คู่กับเครื่อง Card Reader สแกน Keycard ของนักเรียนก่อนเข้าโรงเรียน

โดย Company Web Dashboard จะมีทั้งหมด 4 ส่วนได้แก่

  • ส่วน Topup เป็นส่วนให้โอนเงินเข้า Smart contract
  • ส่วน List ของโรงเรียน (Column ซ้าย) เป็นส่วนแสดง List ของโรงเรียนที่ผ่านเกณฑ์และสามารถเข้าร่วมโครงการ (โดยหลักการสร้าง List ของโรงเรียนคือ Token-Curated DataSources)
  • ส่วน Student List (Column กลาง) เป็นส่วนแสดงรายชื่อนักเรียนที่พ่อแม่ทำงานให้กับบริษัทของตน โดยสามารถเพิ่มนักเรียนเข้าสู่ระบบได้
  • ส่วน Student Checked-in (Column ขวา) เป็นส่วนแสดงว่านักเรียนคนไหนได้เข้าเรียนที่โรงเรียนไหนตอนกี่โมง และ จำนวนเงินที่โอนให้กับพ่อแม่และโรงเรียน
Company Web Dashboard

เมื่อบริษัทกดปุ่ม Topup จะมี form ให้ใส่จำนวนเงินที่ต้องการโอน (หน่วยเป็น DAI)

ขั้นตอนการโอนเงินเข้าSmart contract (Company Web Dashboard)

หลังจากกด Confirm แล้ว Safe Wallet จะขึ้นมาให้ Confirm อีกที

ใช้ Safe wallet ของ Gnosis(Company Web Dashboard)

School Check-in Web Portal

ก่อนนักเรียนจะสแกน Keycard โรงเรียนจะเห็นแบบนี้

เมื่อไม่มีนักเรียน Check-in (School Check-in Web Portal)

เมื่อนักเรียนสแกน Keycard เว็บจะแสดงข้อมูลของนักเรียนและรูปภาพของเจ้าของ Keycard ซึ่งในขณะนั้นโรงเรียนจะ Sign วันและเวลาที่นักเรียนคนนี้เข้าเรียน ส่วน Keycard ของนักเรียนก็จะทำการ Sign วันและเวลาเดียวกัน หลังจากนั้นโรงเรียนจะส่งข้อมูลที่ถูก Sign จากทั้งสองฝ่ายไปบน Chain เพื่อตรวจสอบว่าข้อมูลนักเรียนและโรงเรียนทั้งหมดถูกต้อง แล้ว Smart contract จะทำการโอนเงินให้ทั้งสองฝ่ายอัตโนมัติ

เมื่อมีนักเรียน Check-in (School Check-in Web Portal)

สรุป

โปรเจคนี้เป็น Prototype สำหรับการแก้ไขปัญหาของหน่วยงาน Unicef ที่ต้องการจัดสรรทุนการศึกษาของเด็กข้ามชาติ โดยที่ไม่ต้องการหน่วยงานกลางมากำกับดูแลการจัดสรรงบให้ทั่วถึงทุกฝ่าย

  • ผู้ปกครองมีแรงจูงใจในการส่งลูกหลานไปโรงเรียน เพราะว่าเด็กจำเป็นต้องใช้ Keycard กับเครื่องสแกนบัตรของทางโรงเรียนภายในเวลาเข้าเรียนเท่านั้น
  • โรงเรียนมีแรงจูงใจในการรับเด็กเข้าเรียน เพราะว่าการจะได้รับเงินจากบริษัทนั้นจำเป็นต้องใช้ Keycard ของเด็กด้วย
  • ไม่จำเป็นต้องมีหน่วยงานกลางมาจัดสรรเงิน
  • ป้องกัน attack vector เช่น การสร้าง address โรงเรียนปลอมขึ้นมาเพื่อรับเงิน เนื่องจาก message ต้องถูก signed ด้วย private key ซึ่งอยู่ภายใน wallet ของโรงเรียนที่เข้าร่วมโครงการเท่านั้น
  • นักเรียนสามารถย้ายโรงเรียนไปยังโรงเรียนอื่นๆใน List ของโครงการได้ เนื่องจากข้อมูลนักเรียนนั้นถูกเก็บอยู่บน Smart contract
  • บริษัทสามารถมั่นใจได้ว่าเงินสนับสนุนการศึกษานั้นถูกจ่ายให้โรงเรียนและเด็กโดยตรงและ โปร่งใสตรวจสอบได้

รางวัลที่ได้รับ

ได้รับ 2 รางวัลด้วยกัน ได้แก่

1. รางวัลที่ 1 ของงานนี้ได้จากทาง MESG

2. รางวัลนี้ได้จากทาง Gnosis โดยการใช้ gnosis safe เป็น wallet ในโปรเจคนี้

สุดท้ายนี้ขอขอบคุณผู้จัดงานและ ทีมงานทุกๆคนครับ ส่วนใครมีคำถามสามารถ comment มาได้เลยนะครับ ขอบคุณครับ

ภาพทีม

--

--