Hello Web3 World!

Piampoon Kay
odds.team
Published in
3 min readMar 21, 2024

เมื่อช่วงเดือนกรกฎาคม 2023 ผมได้มีโอกาสไปงาน CityJs ที่ Singapore จะเป็นงาน conference เกี่ยวกับการพัฒนาแอพพลิเคชั่นด้วย JavaScript เป็นหลัก ซึ่งหนึ่งในนั้นมีหัวข้อหนึ่งเกี่ยวข้องกับพัฒนาการของ Web3 ในปัจจุบันที่ผมหยิบมาเล่าให้ฟังวันนี้

ในหัวข้อชื่อ “Why JavaScript will dominate Web3 development”

ซึ่งพูดหลักๆ เกี่ยวกับเรื่องพัฒนาการของ Web3 และสิ่งที่มันจะเกิดขึ้นในอนาคต

ก่อนอื่นอาจต้องเล่าที่มาที่ไปของ Technology ตัวนี้ก่อนเราจะได้เดินทางไปพร้อมกันว่าอุตสาหกรรมนี้กำลังแก้ปัญหาอะไรกันอยู่

โครงสร้างของแอพพลิเคชั่นที่เราทำงานกันจะถูกเรียกกันว่า Web2 โดยมีโครงสร้างคร่าวๆ หน้าตาประมาณนี้

หลักๆ แอพพลิเคชั่นที่เราใช้งานจะประกอบไปด้วย 3 ส่วนแบบคร่าวๆ คือ Front-end, Back-end และ Database

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

เรียกว่า “Centalize Service” จนภายหลังที่บล็อกเชนเทคโนโลยีได้รับความนิยมเพิ่มขึ้นเลยทำให้การพัฒนาการของ Web3 เติบโตไปด้วยเช่นกัน โดยพยายามเข้ามาแก้ความเป็น “Centalize Service”

โดยใช้ความสามารถในการกระจายศูนย์ของบล็อกเชนเพื่อทำให้แอพพลิเคชั่น กลายไปเป็น “Decentralized Service” ให้ได้

หลังจากปูพื้นฐานเสร็จหลังจากนี้เราจะมาเจาะลึกกันถึงเรื่องพัฒนาการขององค์ประกอบต่างๆ เพื่อให้ทำให้ web3 มีความเป็น Decentralized Service

เริ่มจากการอธิบายจากภาพนี้จะเข้าใจง่ายกว่า

จะเห็นได้ว่าภายใต้ Web3 ส่วนที่ต่างจาก Web2 เลยคือ เราแยก Layer ของ Backend และ Database ขึ้นมาอยู่บนบล็อกเชนโดยใช้เครือข่ายที่มีความกระจายศูนย์มากสุดและสามารถทำ Turing Complete คือ สามารถประมวลผลลอจิกหรืออัลกอริทึมได้เหมือนที่ computer ทำงานในแบบที่กระจายศูนย์

ซึ่งในตอนนี้เครือข่ายที่ได้รับความนิยมสูงสุดคือ Ethereum Network ที่มีความกระจายศูนย์มากพอและต้องสามารถเขียน logic และรันคำสั่งบนนั้นได้โดยเรารู้จักในชื่อ Smart Contract นั่งเอง

โดยตอนนี้ภาษาที่ใช้งานในปัจจุบันคือ Solidity ซึ่งเป็นภาษาโปรแกรมที่ออกแบบมาเฉพาะเพื่อสร้างและจัดการกับสัญญาอัจฉริยะบนแพลตฟอร์มนี้

บน Web3 การจัดการเรื่องการยืนยันตัวตนจะทำผ่านสิ่งที่เรียกว่า wallet เปรียบเสมือนตัวแทน identity ของเราในรูปแบบที่ไม่สามารถระบุตัวตนของเราได้ เช่นนั้นการยืนยันตัวตนของผู้ใช้จะเกิดขึ้นผ่านการยืนยันด้วย สิ่งที่เรียกว่า wallet แทนที่ centalize authentication เช่น Google หรือ Facebook etc.. เหมือนที่ผ่านมา

ในทุกธุรกรรมบนบล็อกเชนที่สร้างมาจากเราจะถูก sign ด้วย wallet ของเราเพื่อพิสูจน์ว่าเราเป็นทำธุรกรรมนั้นจริงๆ

ที่เก็บข้อมูลบน Blockchain

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

นั่นเป็นเหตุให้ Decentralized file service protocoll (IPFS) เป็นที่นิยมในการใช้งานเพื่อเก็บไฟล์หรือข้อมูล บางที่มีการใช้ Protocol นี้เพื่อเก็บข้อมูลสำหรับ Front-end แอพพลิเคชั่นเพื่อทำให้ทั้งบริการมีความกระจายศูนย์เต็มรูปแบบ

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

‍การค้นหาข้อมูลที่ถูกเก็บบน Blockchain

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

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

The Graph เข้ามาช่วยให้เราสามารถทำการค้นหาข้อมูลบนบล็อกเชนได้โดยไม่ต้องทำการดาวน์โหลดข้อมูลทั้งบล็อกเชนหรือต้องประมวลผลหนักๆ

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

แก้ปัญหาการ Scaling decentralized application

ก่อนอื่นเราต้องรู้ศัพท์เฉพาะเพิ่มนิดหนึ่งก่อน

Layer 1 หรือเครือข่ายหลัก (Main Network) คือที่มีบล็อกต่างๆและ ข้อมูลการทำธุรกรรมต่างๆที่ เก็บไว้

Layer 2 Scaling Solutions (Side Network) คือเทคโนโลยีที่ตั้งอยู่ด้านบน Layer 1 เพื่อแก้ปัญหา Scaling ของระบบ Layer 1 ประมาณว่าทางด่วนที่วิ่งขนานไปกับถนนหลัก ที่ไม่ต้องเจอรถติด น้ำท่วม และถูกกว่า

การใช้งานในวงกว้างจะเป็นไปไม่ได้เลยถ้าเราเราติดคอขวดอยู่ที่ บล็อกเชน ที่ตอนนี้ยังจำกัดในเรื่องของจำนวนการทำธุรกรรมต่อวินาที (transactions per second, TPS) และมีค่าใช้จ่ายที่สูงมากสำหรับการทำธุรกรรม

Layer 2 Scaling เลยเข้ามาแก้ปัญหานี้โดยทำการจะรวมธุรกรรมหลายๆ อันเข้าด้วยกันแล้วเอาไปประมวลผลนอกเครือข่ายหลัก จากนั้นจึงนำผลลัพธ์ที่ได้กลับไปบันทึกใน Layer 1 เพื่อรักษาความมั่นคงและความปลอดภัยของเครือข่าย

ผลที่ได้คือ

  • ปริมาณการทำธุรกรรมที่เพิ่มขึ้น
  • ค่าธรรมเนียมการทำธุรกรรมถูกลงมหาศาล
  • เวลายืนยันการทำธุรกรรมสั้นลง
  • การใช้พลังงานลดลง

แต่แลกมาด้วยความกระจายศูนย์ที่อ่อนแอลงเพราะเรามี Third-party เข้ามีส่วนในการประมวลผลข้อมูลนอกเครือข่ายหลัก

ทั้งหมดทั้งมวลนี้ย้อนกลับไปที่ภาพแรกที่แสดงถึงแนวคิดของ Web3

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

จบแล้วครับ …

--

--