Programmer with anxiety

Life is always under maintenance

ประสบการณ์ไปงานบาร์แคมป์

จากบล็อกที่แล้ว ที่ผมชวนไปงานบาร์แคมป์บางเขนและแอบโฆษณา(555) ว่าผมจะไปเสนอหัวข้อว่าNDID คืออะไร และ เรื่องทางเทคนิคของ NDID บล็อกนี้เลยขอจดบันทึกไว้เสียหน่อย

Session ที่ได้พูด

หัวข้อที่ตั้งใจไปเสนอ ตอนแรกอยากเสนอเป็น session ยาว แต่ปรากฎว่าปีนี้ไม่มีให้เลือกระยะเวลา ผมจึงเสนอหัวข้อแรกไปในรอบบ่าย

ndid-first-vote บนเว็บบาร์แคมป์หน้าประกาศ session ลงชื่อเราผิด เสียใจ T_T

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

ndid-second-vote

ซึ่งก็ได้รับเลือกอีกครั้ง แต่คนน้อยลงอย่างเห็นได้ชัด ยังไงก็ขอขอบคุณผู้ฟังทุกคนมา ณ ที่นี้ครับ

และนี่คือสรุป Feedback เกี่ยวกับ NDID ที่ได้รับ

Feedback ที่ในงานตอบไม่ค่อยดี

มี Feedback สองอย่างที่ผมคิดว่าในงานตอบไม่ดีเท่าที่ควร เลยขอเอามาตอบใหม่ตรงนี้

ใน session แรกที่ผมพูด ได้รับคำถามเกี่ยวกับ พรบ. ข้อมูลส่วนบุคคล โดยเจาะจงที่มาตรา 4 วงเล็บ 6 ว่าบริษัท NDID อยู่ในฐานะอะไร

  • NDID อยู่ในฐานะผู้จัดทำ platform ไม่ใช้เจ้าของหรือผู้จัดเก็บข้อมูล พรบ.นี้จึงใช้บังคับกับสมาชิกในระบบมากกว่าใช้บังคับกับบริษัท NDID โดยตรง

ใน session อื่น (Blockchain isn’t like that) มีการติติงถึง design ของระบบ NDID ว่ามีการทำให้ privacy leak โดยที่ IDP จะรู้ว่าลูกค้าทำธุกรรมอะไรบ้างซึ่งไม่สมควรต้องรู้ และเสนอแนะว่า IDP ควรทำหน้าที่เพียงแค่ออก identity ที่เชื่อถือได้ และให้ลูกค้ารับผิดชอบนำ identity นั้นไปใช้งานเอง

ผมได้ชี้แจงว่าหากเราไม่มีการแจ้งเตือนมายัง IDP ก็อาจจะเกิดปัญหากรณีคุณณิชาขึ้นซ้ำได้อีก ซึ่งจากที่ผมได้คุยกับทางผู้นำเสนอนั้น ทางผู้นำเสนอนั้นเห็นว่าเรื่องนี้เป็นความรับผิดชอบของผู้ใช้ แต่ระบบต้องรักษาความเป็นส่วนตัวให้ได้มากที่สุด แล้วถ้าหากผู้ใช้รายใดอยาก trade-off การแจ้งเตือนเพื่อความปลอดภัยกับ privacy จึงค่อยหาผู้ให้บริการ IDP ที่มีการสร้างระบบเพิ่มเติมเพื่อให้ตอบโจทย์ตรงนี้ได้

ผมได้บอกไปตอนนั้นว่าเป็นเรื่องการจัดลำดับว่าเราให้น้ำหนักตัวเลือกใดมากกว่า ระหว่างความเป็นส่วนตัวและความปลอดภัยซึ่ง platform ได้เลือกความปลอดภัยมาก่อน

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

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

นั่นคือสำหรับผู้ใช้ที่มีความรู้ทางเทคนิคและกังวลเรื่องความเป็นส่วนตัวในกรณีนี้นั้น จะสามารถเลือกให้ RP ไม่ส่งรายละเอียดธุรกรรมที่เกิดขึ้นไปยัง IDP (แต่ยังส่ง requestId เพื่ออ้างอิง) ซึ่งเมื่อ IDP ได้รับคำขอประเภทนี้ ก็จะดึงค่า hash มาแสดงให้ผู้ใช้เห็นเพื่อ consent และเป็นหน้าที่ของผู้ใช้ที่จะนำคำขอจาก RP ไปคำนวณค่า hash เพื่อเปรียบเทียบว่าตรงกับที่ IDP แสดงไหม

จะเห็นว่าในกรณีนี้ เรามีตัวเลือกสามอย่างนั่นคือ

  1. ความปลอดภัยที่ผู้ใช้จะได้รับการแจ้งเตือนเมื่อ identity ถูกนำไปใช้
  2. ความเป็นส่วนตัวที่จะไม่ให้ IDP รับรู้รายละเอียดธุรกรรม
  3. ความใช้งานง่ายของผู้ใช้ที่จะไม่ต้องคำนวณ hash เองทุกธุรกรรม

ซึ่งเราสามารถเลือกได้แค่สองข้อเป็น trade-off กัน และในเบื้องต้นความเห็นของ NDID เลือกข้อ 1 และ 3 ให้ ซึ่งขัดกับความคิดเห็นของผู้เสนอที่ให้ความสำคัญกับข้อ 2 มากกว่า

ในอนาคตทางระบบอาจมีตัวเลือกที่ยืดหยุ่นขึ้น ให้ผู้ใช้เป็นฝ่ายเลือกว่าจะ trade-off อย่างไร

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

Feedback ที่จะนำไปปรึกษาเพิ่มเติม

ใน session ที่สองที่ผมพูด มีการเสนอ hash algorithm ชื่อ bcrypt แทน SHA256 ที่เลือกใช้ในปัจจุบัน ซึ่งผู้เสนอกล่าวว่าปลอดภัยกว่า SHA256 เพราะป้องกันการ brute force attack ได้

และเขายังได้ช่วยไปตั้ง github issue บน ndidplatform ให้ด้วย

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

บันทึก session ที่ได้เข้าฟัง

รายชื่อ session ที่เสนอทั้งหมด คลิกช่วงเวลาทางซ้ายเพื่อดูนะครับ

เช้า

  • ความไม่เป็นกลางของเทคโนโลยี
    • พูดถึงกรณีที่รายงานทางวิทยาศาสตร์หรือเทคโนโลยีอาจจะได้รับผลกระทบจากการเมือง เพื่อบิดเบือนหรือเลือก รายงาน/ไม่รายงาน ข้อมูลหนึ่งๆ ตัวอย่างเป็นเขื่อนที่ประเทศสเปน
  • Deep learning Demystified (ฟังไม่ครบ)
    • ผมฟังไม่ครบแล้วคิดว่าไม่น่าใช่แนวที่อยากฟัง จึงเดินออกกลางคันไปอีกห้องหนึ่งแทน
  • Fediverse ก้าวข้ามเผด็จการเครือข่ายสังคมออนไลน์ (ฟังไม่ครบ)
    • session ที่เลือกเข้าหลังจากเดินออกจากห้องด้านบน แต่ตอนเข้าก็จบการบรรยายแล้ว เป็นช่วงถามตอบ เลยได้แค่คำศัพท์อันนี้ กับลิงค์อันนี้ ให้ไปหาอ่านเพิ่มเอง
  • How To Become 100k THB Salary Full-stack Developer?
    • ได้เรียนรู้แนวคิด nano-niche ที่ทำสินค้าเพื่อคนกลุ่มเล็กมากๆให้ยอมจ่ายเงินให้เรา เช่น 100 คนประเทศไทยยอมจ่ายเดือนละ 9$ ทั่วโลกก็จะได้ลูกค้าประมาณ 10,000 คน คิดเป็นรายได้ 1,000,000$ ต่อปี แต่เท่าที่ฟัง คนพูดเป็นฟรีแลนซ์รายได้ 100k ต่อเดือนนะ ไม่ใช่พนักงานประจำ…

บ่าย

  • พูด (NDID non-technical)

  • Basic to Cyber Security
    • ทางออกเพื่อ cyber security คือให้คิดเหมือน hacker และหาความรู้จากแหล่งเดียวกับ hacker แล้วเราจะรู้เองว่าควรป้องกันอย่างไร ผู้พูดได้แนะนำเว็บไซต์ต่างๆ เช่น CVE detail เป็นต้น
  • OONI : Scientificly Measuring the online censorship วัดผลว่ามีใครทำอะไรกับเน็ตเราอยู่ไหม
    • เป็นเครื่องมือที่ให้คนจากทั่วโลกคอยสอดส่องการเข้าถึงเว็ปไซต์ต่างๆอย่างเป็นระบบ และส่งข้อมูลกลับเพื่อรวบรวมให้มีมาตรฐานในการสืบค้น สามารถกดเล่นได้ที่นี่
  • Blockchain isn’t like that
    • พูดเรื่องความเข้าใจผิดเกี่ยวกับ blockchain และยกตัวอย่าง blockchain use case ในประเทศไทย ซึ่งพูดถึง NDID ด้วย เลยได้มีโอกาสแลกเปลี่ยนกับผู้นำเสนอหลังจบ session ดังที่กล่าวไปในหัวข้อ “Feedback ที่ในงานตอบไม่ค่อยดี”

เย็น

  • พูด (NDID technical)

  • ปีนี้เกมเต้นครบรอบ 20 ปี รำลึกความหลังกัน 30 นาทีครับ
    • รำลึกความหลังแฟรนชายส์ DDR (Dance Dance Revolution) กับ @5argon เพื่อนร่วมรุ่น การได้ฟังคนมี passion พูดในเรื่องนั้นๆนี่ได้พลังบวกดีนะครับ สนุกดีด้วย
  • ไม่ได้เข้าฟัง
    • รู้สึกเหนื่อย เลยหนีไปพักและเยี่ยมเยียนที่ห้องแลปเก่าสมัยเรียน แหะๆ

เหตุการณ์ประทับใจ

มีคนมาทัก 5argon เกี่ยวกับบล็อกนี้ บอกว่าเป็นแรงบันดาลใจให้เขาได้ดีมาก ดีใจกับเพื่อนด้วยที่ passion สามารถส่งต่อไปยังคนอื่นได้สำเร็จนะครับ ^_^

สุดท้ายนี้

ขอบคุณทีมงานที่จัดงานดีๆแบบนี้ขึ้นมานะครับ งานนี้มีประโยชน์มากๆ หวังว่าบาร์แคมป์จะยังมีคนจัดต่อไปอีกเรื่อยๆ