จินตนาการ: Download Latest Memes รอจนเสร็จ Meme = Fire ส่ง Link ให้เพื่อน พวกเขาได้ File จากโทรศัพท์คุณ Share ให้เพื่อนของพวกเขา ตอนนี้ Meme อยู่บน Devices หลายสิบ ตอน New Person ได้ Link พวกเขา Connect หลายคน Get Pieces จากแต่ละคน Download เกือบ Instantaneous
ขอบคุณ Interplanetary File System ระบบจริง ใช้ง่าย駭人 อาจเป็น Key ไปสู่ Internet เร็วกว่าDemocratic กว่า Basic Idea: User Devices Store, Index, Deliver Data ที่ปัจจุบันอยู่ Centralized Servers 聽起來像 Cryptocurrency ไมผิด: Juan Benet (Founder) อธิบาย IPFS ว่า "In a sense, doing to websites... what Bitcoin did to money."
Interplanetary File System คืออะไร?
รู้ BitTorrent หรือ P2P Technology = Most Way เข้าใจ IPFS ส่ง Files (HTML, CSS, JS Files ของ Websites) และ Pieces ระหว่าง User Devices เหมือน Torrent Public Domain Music อย่างถูกต้อง
แทน Connect Server ดู Site คุณ Check ใครใกล้คุณ Store Page (หรือ Pieces) Connect พวกเขาแทน Download Page แล้ว Device คุณ Store ไว้สักพัก ให้คนอื่น Get จากคุณ (หรือ Pieces) 聽起來ซับซ้อน แต่ Efficient กว่า Current System: Single Server-Client Pipeline HTTP Protocol
ทำไม Awesome?
IPFS Advantages ใหญ่ Over Traditional Web:
- Faster/Efficient Content Delivery: Download Pieces จาก Geographically Close Sources Minimize Travel Time/Bandwidth
- Decentralization: No Single Source Control Data/Access
- Information Preservation: No Single Server Stores All Data ไม่ Disappear พร้อม GeoCities Websites
- Faster/Stable Connections ใน Poorly-connected Areas: Content Downloaded ที่ Access ได้ ไม่ต้อง Long-Distance Connection Massive Help ใน Areas Sporadic/Compromised Connections
- Censorship Resistance: ไม่ Perfect แต Better Than Centralized Model
How It Works: Short Version
Anyone Use IPFS Network ตอนนี้ User-friendly มาก นี่คือสิ่งที่เกิด:
- Add File ไป IPFS: File Split Blocks แต่ละ Block Run Algorithm ได้ Unique ID Whole File รวม Block IDs ก็ได้ ID ตอนแรก Machine คุณ = Only Place ได้ File แต Nodes อื่น Pick Up Distribute ได้
- Network Notice Data Identical Content Already Stored: ใช้ Existing แทน Copy ใหม่ Example: Host "Deluxe Edition" Album 10 Songs Same As Album เดิม 2 Songs New Add IPFS System Recognize Duplicates ใช้ Existing IDs 2 เพลงใหม่ Add New IDs
- Each Node Stores Some Data (Data Node อยาก Distribute + Data Opened Recently) + Part ของ Index ช่วย Lookup Content บน Network
- Open File: Ask Network Lookup ID Connect ให้กับคนที่มี Naming System IPNS Convert Human-readable Names เป็น Machine-readable IDs ที่ System Search
Even Simpler: IPFS ให้ทุก Data ชื่อ ทำ List Data อยู่ไหน เวลาไหน ช่วย Devices ส่ง Data ตรงกัน
How It Works: Technical Version
3 Main Things Make IPFS Tick: Content Addressing (Identity), Merkle-DAGs (Structure), Distributed Hash Tables (Location)
Content Addressing: What, Not Where
Current Content: Location-based Addresses (C:/Users/..., 192.124.249.3) บอก Where to Find Data ไม่ Work ใน Decentralized System Content Stored Anywhere IPFS/BitTorrent ใช้ "Content Addressing"
Content-addressing: Run Data Through Algorithm ได้ Unique ID/Hash Identical Copies = Same ID IPFS Lookup = Find Every Instance on Network
Merkle-DAGs: Everything Has CID, All Connected
Merkle-DAG (Directed Acyclic Graph) = Organize Data ทุก Piece มี Content ID (CID): Folders, Files, Blocks Inside Files Everything Files Split Parts, Authenticated, Reassembled
IPFS Docs: "Turtles all the way down" Everything Broken Down Collection of Data Identifiable by CID Folder CID → File/Folder CIDs → Other CIDs → Other Content Pieces คว Change Any File = Hash File + Hash Folder Change
Data ไม่ Live Here แค่บอก Where to Find + How Pieces Put Together Merkle-DAG = Structure ให้ IDs เหมือน File System Computer
Distributed Hash Tables: IPFS Locate Content
Big Database Match Content IDs กับ Locations Computers Hosting Content Database Split Between Everyone Network Request CID Computer Search CID จนเจอ List People Who Have It Connect Download Pieces Assemble = Distributed Hash Table = Big List Who Has What
IPFS Cool แตจะ Take Off ไหม?
IPFS Start 2015 Rapid Progress Dozens Apps/Sites Built On It: Blockchain File Storage (Filecoin), GeoCities Replacement (Neocities) Hit Right Mix Decentralization + User-friendliness Go-to Projects Decentralization: Sociall (Decentralized Social Network), Brave
Cloudflare IPFS Gateway Big Hit Use Network Easier: Download Program + Browser Extension Debate: Best Solution? ไม่ Far From Only Project Same Vision แต No Signs of Slowing Down แม้ไม่ Fully Replace HTTP จะเป็น Part ของ Next Version of Internet