IPFS (Inter Planetary File System)
IPFS (InterPlanetary File System) หากแปลตรงตัวคือ “ระบบไฟล์ระหว่างดวงดาว” ชื่อนี้ถูกตั้งขึ้นเพื่อสื่อถึงเครือข่ายสำหรับแลกเปลี่ยนข้อมูลที่สามารถเชื่อมโยงผู้คนได้ทั่วโลก คล้ายกับที่ Internet Protocol ทำให้คอมพิวเตอร์บนอินเทอร์เน็ตสื่อสารกันได้ แม้ในความเป็นจริงจะไม่ได้เกี่ยวข้องกับการสื่อสารระหว่างดาวเคราะห์ก็ตาม
IPFS คือระบบเครือข่ายสำหรับจัดเก็บและแบ่งปันข้อมูลแบบกระจายศูนย์ (Decentralized) ซึ่งหลายคนมองว่าเป็นหนึ่งในเทคโนโลยีที่อาจเปลี่ยนแปลงโครงสร้างพื้นฐานของอินเทอร์เน็ตในอนาคต
IPFS เป็นโปรโตคอลแบบเปิด (Open Protocol) สำหรับการกำหนดตำแหน่งของข้อมูล (Addressing) การค้นหาเส้นทาง (Routing) และการรับส่งข้อมูลบนเครือข่าย โดยมีแนวคิดสำคัญคือ ข้อมูลทุกชิ้นควรมีตัวตนของตัวเอง ไม่ใช่อ้างอิงจากสถานที่ที่จัดเก็บ และสามารถแลกเปลี่ยนข้อมูลกันแบบบุคคลต่อบุคคล (Peer-to-Peer)
HTTP กับ IPFS แตกต่างกันอย่างไร
เว็บไซต์ส่วนใหญ่ในปัจจุบันใช้โปรโตคอล HTTP โดยข้อมูลมักถูกเก็บไว้บนเซิร์ฟเวอร์หรือผู้ให้บริการคลาวด์เป็นศูนย์กลาง หากต้องการดูไฟล์ใดไฟล์หนึ่ง เราจะต้องระบุตำแหน่งของไฟล์นั้น เช่น
https://example.com/cat.jpgหากเซิร์ฟเวอร์ดังกล่าวล่ม ถูกปิด หรือไม่สามารถเข้าถึงได้ เราก็จะไม่สามารถเปิดไฟล์นั้นได้ แม้ว่าจะมีคอมพิวเตอร์เครื่องอื่นที่มีไฟล์เดียวกันอยู่ก็ตาม
ในทางตรงกันข้าม IPFS ใช้แนวคิด Content-based Addressing หรือการอ้างอิงจาก “เนื้อหาของข้อมูล” แทน “ตำแหน่งที่จัดเก็บ”
เมื่อไฟล์ถูกเพิ่มเข้าสู่เครือข่าย IPFS ระบบจะสร้างรหัสประจำไฟล์ที่เรียกว่า Content Identifier (CID) ซึ่งคำนวณมาจากเนื้อหาของไฟล์โดยตรง
ตัวอย่างเช่น
bafybeig...หากต้องการเรียกดูไฟล์นั้น ผู้ใช้เพียงระบุ CID ระบบก็จะค้นหาโหนด (Node) ที่กำลังเก็บไฟล์ดังกล่าวอยู่ ไม่ว่าจะอยู่ที่ใดในโลก แล้วส่งข้อมูลกลับมาให้ผู้ใช้ โดยไม่จำเป็นต้องรู้ว่าไฟล์ถูกเก็บอยู่บนเซิร์ฟเวอร์เครื่องใด
ข้อดีของ IPFS
1. มีความทนทานต่อการล่มของระบบ
เนื่องจากข้อมูลสามารถถูกเก็บไว้บนหลายโหนดในเครือข่าย หากโหนดหนึ่งไม่สามารถใช้งานได้ ระบบยังสามารถดึงข้อมูลจากโหนดอื่นที่มีไฟล์เดียวกันได้ จึงลดความเสี่ยงจากการพึ่งพาเซิร์ฟเวอร์เพียงเครื่องเดียว
2. ประหยัดแบนด์วิดท์
IPFS ใช้หลักการคล้ายกับเครือข่าย Peer-to-Peer เช่น BitTorrent
ตัวอย่างเช่น หากคนหนึ่งในสำนักงานดาวน์โหลดไฟล์มาแล้ว เครื่องอื่นภายในเครือข่ายก็สามารถรับไฟล์จากเครื่องนั้นได้ แทนที่จะต้องดาวน์โหลดจากเซิร์ฟเวอร์ต้นทางซ้ำหลายครั้ง ช่วยลดปริมาณการใช้แบนด์วิดท์และเพิ่มความเร็วในการรับส่งข้อมูล
3. ตรวจสอบความถูกต้องของข้อมูลได้
CID ถูกสร้างจากค่า Hash ของข้อมูล ดังนั้นหากมีการแก้ไขไฟล์แม้เพียงเล็กน้อย ค่า Hash และ CID จะเปลี่ยนไปทันที ทำให้สามารถตรวจสอบได้ว่าไฟล์ที่ได้รับเป็นไฟล์ต้นฉบับหรือถูกแก้ไขมาแล้ว
ข้อมูลถูกเก็บไว้ที่ไหน
หลายคนเข้าใจผิดว่าเมื่ออัปโหลดไฟล์ขึ้น IPFS แล้ว ไฟล์จะอยู่บนเครือข่ายตลอดไป แต่ความจริงไม่ใช่เช่นนั้น
ไฟล์จะยังคงอยู่ก็ต่อเมื่อมีโหนดอย่างน้อยหนึ่งเครื่องเก็บไฟล์นั้นไว้ หากไม่มีโหนดใดเก็บไฟล์ หรือโหนดทั้งหมดออฟไลน์ ก็จะไม่สามารถเรียกดูไฟล์นั้นได้
ด้วยเหตุนี้จึงมีบริการที่เรียกว่า Pinning Service ซึ่งทำหน้าที่เก็บไฟล์ไว้บนโหนดอย่างต่อเนื่อง เพื่อให้มั่นใจว่าข้อมูลจะยังสามารถเข้าถึงได้ตลอดเวลา
IPFS ถูกนำไปใช้อย่างไรในปัจจุบัน
การจัดเก็บข้อมูลของ NFT
ไฟล์รูปภาพ วิดีโอ หรือสื่อดิจิทัลของ NFT ส่วนใหญ่ไม่ได้ถูกเก็บไว้บนบล็อกเชนโดยตรง เนื่องจากต้นทุนในการจัดเก็บข้อมูลบนบล็อกเชนมีราคาสูง
โดยทั่วไป บล็อกเชนจะเก็บเพียงข้อมูลความเป็นเจ้าของ (Ownership) และรหัส CID ของไฟล์ ส่วนไฟล์จริงจะถูกเก็บไว้บน IPFS
เว็บไซต์แบบกระจายศูนย์
นักพัฒนาสามารถนำเว็บไซต์ไปเผยแพร่บน IPFS ได้ ทำให้เว็บไซต์ไม่ต้องพึ่งพาเซิร์ฟเวอร์เพียงเครื่องเดียว และมีความทนทานต่อการล่มหรือการถูกปิดกั้นมากกว่าเว็บไซต์แบบดั้งเดิม
อย่างไรก็ตาม เว็บไซต์จะยังสามารถเข้าถึงได้ก็ต่อเมื่อยังมีโหนดที่เก็บข้อมูลของเว็บไซต์นั้นไว้บนเครือข่าย
สรุป
IPFS เปลี่ยนแนวคิดของอินเทอร์เน็ตจากการค้นหาข้อมูลด้วย “สถานที่” (Location-based Addressing) ไปสู่การค้นหาด้วย “ตัวข้อมูล” (Content-based Addressing)
แนวคิดนี้ช่วยให้การจัดเก็บและแบ่งปันข้อมูลมีความยืดหยุ่นมากขึ้น ลดการพึ่งพาเซิร์ฟเวอร์เพียงแห่งเดียว เพิ่มความทนทานของเครือข่าย และทำให้สามารถตรวจสอบความถูกต้องของข้อมูลได้อย่างมีประสิทธิภาพ
แม้ IPFS จะยังไม่สามารถแทนที่ HTTP ได้ทั้งหมดในปัจจุบัน แต่ก็ถือเป็นหนึ่งในเทคโนโลยีสำคัญของ Web3 และระบบอินเทอร์เน็ตแบบกระจายศูนย์ที่กำลังได้รับความสนใจเพิ่มขึ้นอย่างต่อเนื่อง