"อย่าอิจฉาคนที่มีแฟนน่ารัก แต่จงอิจฉาคนที่มีแฟนที่รักกันสุดหัวใจ"
วิพากษ์ "หมื่นดิจิตอล" และความท้าทายใหญ่หากคิดจะใช้ Blockchain
16 Sep 2023 21:24   [34467 views]

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

ทำไมถึงต้องเข้าใจทุกอย่างก่อนจะเริ่มทำ

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

เอาง่าย ๆ เลย

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

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

ปรับพื้น: Blockchain คืออะไร

เคยเขียนบล็อก Blockchain คืออะไร? อธิบายแบบละเอียด แต่เข้าใจง่าย(มั้ง) ไว้ตั้งแต่ 7 ปีที่แล้ว แต่มันก็เป็นบล็อกที่ยาวทีเดียว ใครอยากเข้าใจแบบถ่องแท้ก็ไปอ่านกันได้ แต่ในบล็อกนี้จะขอเขียนถึงแบบกระชับเพื่อให้เข้าใจในเชิงภาพใหญ่ตั้งแต่ว่ามันเกิดมาทำไม ประโยชน์ของมันคืออะไร ข้อดีข้อเสีย ฯลฯ

ซึ่งก่อนจะเริ่มก็ขอ Quote ไว้แบบสั้น ๆ ก่อนว่า

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

ในแง่เทค ฯ มันไม่ได้มีอะไรมากไปกว่า Database ประสิทธิภาพต่ำตัวนึง ถ้ามันจะเวิร์ค สิ่งที่ได้รับกลับมันต้องคุ้มค่ากับสิ่งที่เสีย

อ่ะ มาขยายความเพิ่มต่อกัน ไปต่อได้ !

Blockchain คือระบบฐานข้อมูลแบบหนึ่ง

Blockchain ถึงจะฟังดูหวือหวาแต่จริง ๆ แล้วมันก็เป็นแค่ฐานข้อมูล (Database) ดี ๆ นี่เอง

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

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

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

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

อ้าว แล้วถ้ามันเป็นแค่ฐานข้อมูลที่ประสิทธิภาพต่ำกว่าสิ่งที่มีอยู่แล้ว แล้วจะทำมาทำไม ?

ฐานข้อมูลแบบที่ไม่ต้องเชื่อใจใคร

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

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

และนี่คือประเด็นหลักที่ Blockchain เกิดขึ้นมา "ทำไมต้องเชื่อใจคนอื่นด้วย ?"

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

ในทางเทคนิค Blockchain เป็นหนึ่งในเทคโนโลยีกลุ่ม Distributed Ledger Technology (DLT) ซึ่งจริง ๆ มีอีกหลายตัวแต่ขอพูดถึงแต่ Blockchain ละกันเพราะตัวอื่นก็แนวทางคล้าย ๆ กันแค่อาจจะช้าเร็วต่างกันบ้าง

ซึ่ง Distributed Ledger Technology เป็นอะไรที่แปลตรงตัวมาก Ledger แปลว่าบัญชี ส่วน Distributed แปลว่ากระจาย ดังนั้น Distributed Ledger Technology ก็แปลว่าบัญชีที่ให้ทุกคนช่วยกันถือ ไม่ใช่ถือแค่คนเดียวเหมือนระบบต่าง ๆ ที่ใช้กันอยู่ก่อนหน้านี้

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

นี่คือการทำงานคร่าว ๆ ของ Blockchain ครับ ระบบฐานข้อมูลที่ไม่ได้ฝากไว้ที่ใคร แต่ทุกคนช่วยกันยืนยันและถือข้อมูลไว้เพื่อจะได้ไม่ต้องไว้ใจใคร

เสียบางอย่างไปเพื่อได้บางอย่างมา

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

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

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

มันคือการพยายามปฏิวัติ

Blockchain ไม่ใช่พระเจ้า ไม่ได้เทพ ไม่ใช่ความก้าวหน้าทางเทคโนโลยีใด ๆ แต่เป็นการพยายาม "ปฏิวัติ" เพื่อทำระบบฐานข้อมูลมาใช้กับระบบที่ไม่ต้องเชื่อใจใคร ในขณะที่ประสิทธิภาพแย่ลงจนแทบใช้งานจริงไม่ได้

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

คำถามคือ "ทำไมต้องใช้ Blockchain ... และสิ่งที่ได้มานั้นคุ้มกับสิ่งที่เสียไปหรือเปล่า"

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

Blockchain ปลอดภัยจริงมั้ย ?

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

ความปลอดภัยในโลก Blockchain มันมีหลายมิติ ขอลิสต์ดังนี้

1) ข้อมูลแก้ไขไม่ได้ - ตามทฤษฎีแล้ว Blockchain ถูกออกแบบมาให้ข้อมูลที่เขียนลงไปแล้วไม่สามารถแก้ไขได้ด้วยกลวิธีทาง Cryptography และ Hashing อันนี้จะเป็นจริงก็ต่อเมื่อซอฟต์แวร์นั้นได้รับการตรวจสอบว่าทำมาได้อย่างถูกต้อง (จึงจำเป็นต้อง Open Source) และมีคนช่วยยืนยันข้อมูลหลายคน เพราะถ้ามีแค่คนสองคน มันสามารถฮั้วกันและสั่งแก้ไขข้อมูลทั้งหมดได้ทันทีในพริบตาเดียวเช่นกันครับ

2) แฮคเครือข่ายไม่ได้ - เนื่องจากรูปแบบทางอุดมคติของ Blockchain คือมีคนช่วยกันยืนยันหลายคน การจะแฮคเครือข่ายได้มันต้องแฮคเครื่องที่ใช้ยืนยันได้สักครึ่งนึง (หรือตามที่กำหนดในซอฟต์แวร์) ซึ่งดูจะเป็นไปไม่ได้เลย แต่ ... ถ้ามันมีคนยืนยันแค่สองคนหละ ? นั่นแหละครับ แค่เข้าครอบครองได้เครื่องเดียวก็แฮคเครือข่ายได้แล้วครับ เช่นเดียวกับข้อก่อนหน้า ถ้ามันไม่กระจายศูนย์จริง ๆ มันก็แฮคเครือข่ายได้อยู่ดี

3) ไม่สามารถขโมยของในนั้นได้ - ถ้าใครได้ใช้ Blockchain มาก็จะรู้ว่าข้อนี้ไม่มีความจริงเลย มันมีช่องทางเยอะแยะมากมายที่ Scammer จะขโมยของ

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

Blockchain โปร่งใสจริงหรอ ?

ความโปร่งใสของ Blockchain มีหลายมิติเช่นกัน

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

2) ความโปร่งใสของ Smart Contract - Smart Contract คือการเขียนโค้ดฝังลงไปใน Blockchain และเอาไว้รันธุรกรรมที่ซับซ้อนกว่าปกติได้ ซึ่งถ้าเป็น Blockchain แบบเปิด ทุกคนก็จะสามารถเข้าถึง Byte Code ของ Smart Contract ได้ (ย้ำอีกทีว่า Byte Code ไม่ใช่ Source Code) ดังนั้นทุกคนก็จะรู้หมดว่าธุรกิจที่กำลังจะทำนั้นจะทำงานอะไรด้านหลังบ้าง แต่เช่นเดียวกัน ถ้ามันเป็นระบบปิดก็ไม่มีความโปร่งใสตรงนี้อยู่ดี

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

ทั้งนี้ความโปร่งใสนี้ถือเป็นดาบสองคม ส่วนทำไมนั้นเดี๋ยวอ่านไปเรื่อย ๆ จะทราบเองครับ

สรุปเรื่อง Blockchain

สรุปสั้น ๆ ว่า

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

- ถ้าระบบเซตมาดีก็จะมีความโปร่งใสของข้อมูล

- ประสิทธิภาพต่ำมากจนไม่สามารถเทียบกับระบบฐานข้อมูลทั่วไปได้

- จะปลอดภัย (ในหลาย ๆ ความหมาย) ก็ต่อเมื่อมีคนช่วยยืนยันข้อมูลเยอะพอ

- อาจจะโปร่งใสหรือไม่โปร่งใสก็ได้ แล้วแต่ว่าทำระบบมายังไง

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

- Blockchain ไม่จำเป็นจะต้องทำเกี่ยวกับ Payment เท่านั้นเพราะอย่างที่บอก จริง ๆ มันก็แค่ฐานข้อมูล จะเก็บอะไรก็ได้

- แต่ข้อมูลใหญ่มากก็เก็บไม่ได้ ข้อจำกัดของมันอีกเช่นกัน

- ย้ำอีกทีว่าถ้าจะใช้ Blockchain ในระบบใด ๆ ต้องตอบให้ได้อย่างชัดเจนว่าสิ่งที่เสียไปมันคุ้มกับสิ่งที่ได้มามั้ย ถ้าตอบไม่ได้ก็ไม่ควรหยิบมาใช้มั่ว ๆ ครับ

ถ้าไม่กระจายศูนย์ก็แทบไม่มีเหตุต้องใช้ Blockchain

อย่างที่บอก

Blockchain คือฐานข้อมูลที่แลกการที่ไม่ต้องมีศูนย์กลางและไม่ต้องเชื่อใจใครไปกับประสิทธิภาพและปัญหานานับประการ

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

ปรากฏคราวนี้ข้อดีเพียงไม่กี่อย่างของ Blockchain ก็จะโดนตัดทิ้งทันที แถมข้อเสียที่เหลือยังอยู่ครบ สุดท้ายเราก็จะได้ระบบฐานข้อมูลที่ช้า ค่าใช้จ่ายสูง ปัญหาเยอะ ฯลฯ มาแทน ความโปร่งใสก็ไม่มี ความปลอดภัยก็ไม่เหลือ (ด้วยเหตุผลที่เขียนไว้ด้านบน)

พอถามว่าทำไมต้องใช้ ทำไมไม่ใช้ระบบฐานข้อมูลแบบศูนย์กลางปกติ (DBMS) เพราะมันเร็วกว่าเป็นพันเป็นหมื่นเท่าแถมถูกกว่าในทุกมิติ

ส่วนใหญ่จะตอบไม่ได้ ก็แค่บอกว่าจะใช้อ่ะ มันคืออนาคต มันล้ำยุค ซึ่งถ้าตอบแบบนี้แปลว่าไม่ได้เข้าใจ Blockchain เลย

แต่ถามว่าระบบที่เป็นแบบรวมศูนย์ (Centralized) ห้ามใช้ Blockchain เลยมั้ย ก็ตอบว่าไม่ใช่ มันยังอาจมีประโยชน์อย่างอื่นอยู่ แต่เช่นเคย คนที่จะหยิบมันมาใช้ต้องตอบให้ได้ว่า "สิ่งที่ได้มันคุ้มกับสิ่งที่เสียไปหรือเปล่า" ครับ

ระบบหมื่นดิจิทัลกับฟีเจอร์ของ Blockchain

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

สมมติฐาน: ใช้ Blockchain กับ Payment System

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

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

เป็นระบบรวมศูนย์ ทำไมถึงต้องใช้ Blockchain ?

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

อ่ะ สมมติว่ายังไงก็จะใช้ ไปต่อกันในแง่ว่าจะต้องเจออะไรบ้างละกัน

ความต้องการของผู้ใช้

เราทำซอฟต์แวร์มาก็เพื่อตอบความต้องการของผู้ใช้ ดังนั้นขอลิสต์ก่อนว่าผู้ใช้ต้องการอะไรในทางด้านพื้นฐานจากระบบหมื่นดิจิทัล

1) ระบบต้องไม่ล่ม ต้องทำงานได้แบบ 24/7

2) การชำระเงินต้องเร็ว จ่ายแล้วรู้ผลทันทีใน 1-5 วินาที

3) ชำระเงินสำเร็จแล้วต้องสำเร็จเลย เงินไม่มาหายตอนหลัง

4) ต้องไม่โดนแฮคง่าย

5) ต้องไม่โดนสวมรอยง่าย

6) ต้องไม่โดนหลอกลวงจาก Scammer ง่าย

7) ต้องไม่ให้คนอื่นมาเห็นยอดเงินและการใช้จ่ายของเราได้ (Privacy)

งั้นมาดูความท้าทายกันว่าถ้าใช้ Blockchain ทำ Payment จะตอบโจทย์อะไรพวกนี้มั้ย

ความท้าทาย 1: Blockchain จะประมวลผลทันมั้ย ?

หนึ่งในความท้าทายหลักของ Blockchain คือมันสามารถประมวลผลธุรกรรมได้ค่อนข้างช้า ถึงแม้ในการทดลองจะบอกว่าทำได้ถึง 5,000 - 10,000 ธุรกรรมต่อวินาที แต่ในการใช้งานจริง แค่วินาทีละ 1,000 ธุรกรรมก็กระอักแล้ว

โชคดีที่ Blockchain ก็มีอยู่หลายตัว บางตัวก็สามารถประมวลผลได้ค่อนข้างสูงและเร็ว เช่น Solana หรือ EOS ที่สามารถประมวลผลได้ 3,000 - 4,000 ธุรกรรมต่อวินาทีได้โดยรอเพียง 1-2 วินาที ซึ่งก็ยังสามารถนำมาใช้ได้ แต่มีโอกาสสูงมากที่ธุรกรรมอาจจะพุ่งในช่วงพีค เช่น ตอนกินข้าวเที่ยง แล้วทำให้การยืนยันธุรกรรมช้าได้

ตัวเลขอ้างอิง: Visa ประมวลผลธุรกรรมอยู่ที่ประมาณ 1,700 ธุรกรรมต่อวินาที ส่วน Mastercard อยู่ที่ 5,000 ธุรกรรมต่อวินาที

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

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

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

ความท้าทาย 2: ยืนยันธุรกรรมแบบทันทีได้รึเปล่า ?

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

Blockchain แต่ละตัวมีเวลายืนยันตรงนี้ไม่เท่ากัน มีตั้งแต่ 0.5 วินาทีไปจนถึงหลายนาที ซึ่งความต้องการขอผู้ใช้จะอยู่แค่หลักวินาทีเท่านั้น ไม่เกิน 5 วินาทีประมาณนั้น

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

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

ความท้าทาย 3: ถ้าทำธุรกรรมตอนนี้แล้วไปเสร็จตอนอีก 2 ชั่วโมงข้างหน้าจะทำยังไง ?

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

ดังนั้นในทางปฏิบัติมันมีโอกาสที่ธุรกรรมจะถูกสร้างตอน 6 โมงเย็นแต่ได้รับการยืนยันอีกทีตอน 2 ทุ่ม (โดยเฉพาะระบบที่มีการใช้งานเยอะ) หรืออาจจะค้างไปเลยอีก 3 วันก็ได้ เป็นไปได้หมด

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

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

ความท้าทาย 4: จัดการกับการ Reorg ยังไง ?

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

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

ความท้าทาย 5: Blockchain กู้คืนระบบได้ช้า

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

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

ความท้าทาย 6: ป้องกัน Spam ได้มั้ย ?

Blockchain สามารถทำงานช้าลงได้ถ้าถูก Spam ธุรกรรมเข้าไปในระบบ ใน Public Blockchain เค้าป้องกันธุรกรรมด้วยการคิดค่า Gas ซึ่งมีค่าใช้จ่ายจริง

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

ความท้าทาย 7: ซ่อนข้อมูลบน Blockchain ยังไง ?

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

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

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

หรือถ้าไม่ซ่อนยอดเงินของแต่ละคนก็บันเทิงดีนะ ...

ความท้าทาย 8: โปร่งใส ?

ถ้าซ่อนข้อมูลตามที่บอกไว้ข้างบน แล้วความโปร่งใสอยู่ตรงไหน ? ถ้าระบบเป็น Centralized เราจะรู้ได้ยังไงว่าทุกอย่างทำงานได้อย่างถูกต้องและไม่มีคนในมาแอบทำธุรกรรมมั่ว ๆ ผ่านซอฟต์แวร์หละ ? ต่อให้เปิด Source Code ของ Smart Contract ก็ไม่ช่วยอะไรนะ

สรุปแล้วระบบนี้อาจจะไม่มีความโปร่งใสใด ๆ เลยก็ได้นะ ไม่ต่างอะไรกับการใช้ DBMS เลย 

ความท้าทายยังมีอีกหลายอย่าง

จริง ๆ ยังมีอีกหลายอย่างมาก ๆ ที่ท้าทายถ้าจะเอา Blockchain มาทำระบบ Payment ในหมื่นดิจิทัล แต่น่าจะพอเห็นภาพแล้วหละว่ามันมีเรื่องที่ต้องคิดพิจารณามากมาย นอกจากเรื่องความเหมาะสมของบล็อกเชนแล้วยังมีเรื่องว่าจะป้องกันพวก Scammer ฯลฯ ยังไง และถ้าทำไม่ดีแม้แต่นิดเดียวก็จะส่งผลกระทบต่อชีวิตประชาชนได้เลย

ถ้าไม่ได้ใช้ Blockchain ทำส่วน Payment หละ ?

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

จบเท่านี้สำหรับเรื่องทางเทคนิค ขอไปต่อเรื่องเศรษฐศาสตร์และสังคมศาสตร์

วิพากษ์เชิงเศรษฐศาสตร์: ต้องหาเงิน 500,000 ล้านมาค้ำรึเปล่า ? เอามาจากไหน ?

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

คำถามที่น่าสนใจคือเงิน 500,000 ล้านบาทที่จะอัดฉีดเข้ามาเป็นเงินดิจิทัลนี้จะต้องมีอะไรมาค้ำด้านหลังแบบ 1:1 มั้ย ?

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

คำถามต่อไปคือถ้าต้องเอาเงินมาค้ำจะเอาที่ไหนมาค้ำ ? เงิน 500,000 ล้านบาทคือเยอะมากนะ ก็ยังอยากได้คำตอบที่ชัดเจนในเรื่องนี้

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

วิพากษ์เชิงสังคมศาสตร์: 4 กิโลเมตรไม่เหมาะสมในทางปฏิบัติ

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

ฝากไว้แค่นี้เลยว่าเราไม่เห็นด้วย แต่จะทำยังไงแก้ไขยังไงขอยกให้กับทีมทำงานต่อไป

ไม่ต่อต้านแต่ต้องการความชัดเจน

เป็นอีกบล็อกที่เขียนยาวและยากพอตัวเพราะพยายามเลี่ยงภาษา Geek ให้มากที่สุด ก็หวังว่าจะทำให้เห็นภาพมากขึ้นถึงแม้จะเป็นคนสาย non-Tech ก็ตาม

อยากจะบอกจุดยืนของตัวเองให้เคลียร์ ๆ ว่า

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

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

ฝากไว้เท่านี้ครับ

บทความที่เกี่ยวข้อง

Nov 29, 2020, 06:59
51389 views
มีอะไรใหม่ใน PHP 8.0? เร็วขึ้นจริงมั้ย โค้ดดูปลอดภัยขึ้นจริงหรือเปล่า มาดูกัน
Jan 29, 2020, 13:30
33039 views
แจกไฟล์ JSON ข้อมูลย้อนหลังการแพร่เชื้อและเสียชีวิตของโรค SARS จากองค์การอนามัยโลก
0 Comment(s)
Loading