IPFS ย่อมาจาก InterPlanetary File System เป็น peer-to-peer distributed file system ถูกออกแบบมาเพื่อสร้างการจัดเก็บไฟล์แบบกระจาย และเก็บถาวรในอินเตอร์เน็ต
IPFS มีเป้าหมายที่ต้องการจะเก็บไฟล์แบบกระจายแทนที่จะอยู่จุดเดียวแบบการเก็บใน server
เราไปดูรูปภาพแสดงความแตกต่างระหว่างเก็บไฟล์แบบเก็บใน Server กับแบบ IPFS กัน
จากรูปจะเห็นว่า แบบเก็บใน Server เราจะเก็บไว้ที่ Server ส่วนเดียว แล้วคอมต่าง ๆ ก็มาเรียกใช้งานไฟล์เหล่านั้น ทางด้านขวาคือการเก็บแบบ IPSF ที่เก็บไว้ในคอมหลาย ๆ เครื่อง แล้วเรียกหากันแบบ peer-to-peer
ใน IPFS ไฟล์จะถูกแบ่งออกเป็นส่วนย่อย ๆ และจะถูกกำหนดไว้โดย content identifier (CID)
CID ถูกสร้างขึ้นตามเนื้อหาโดยใช้อัลกอริทึมการแฮชแบบเข้ารหัส ซึ่งหมายความว่าเนื้อหาเดียวกันจะมี CID เดียวกันเสมอ ทำให้มั่นใจได้ถึงความสมบูรณ์ของเนื้อหาและช่วยให้การแจกจ่ายและการตรวจสอบมีประสิทธิภาพ
คุณสมบัติหลักอย่างหนึ่งของ IPFS คือความสามารถในการใช้เครือข่ายของเพียร์ที่เชื่อมต่อกันเพื่อดึงเนื้อหา เมื่อมีการร้องขอไฟล์ IPFS จะค้นหาเนื้อหาทั่วทั้งเครือข่าย โดยดึงข้อมูลจากแหล่งที่ใกล้ที่สุดและเร็วที่สุด วิธีการกระจายอำนาจนี้ช่วยลดการพึ่งพาเซิร์ฟเวอร์เฉพาะและปรับปรุงความทนทานต่อข้อผิดพลาดและความพร้อมใช้งาน
IPFS ยังรวมเอาระบบควบคุมเวอร์ชันแบบกระจายที่คล้ายกับ Git ทำให้ผู้ใช้สามารถติดตามการเปลี่ยนแปลงและจัดการการแก้ไขไฟล์ได้ คุณลักษณะนี้ช่วยให้แก้ไขและแชร์ไฟล์ร่วมกันได้ในขณะที่รักษาประวัติการเปลี่ยนแปลง