| Penulis | Juan Benet |
|---|---|
| Tanggal publikasi | 14 Juli 2014 |
| Versi | Draft 3 |
| Proyek | IPFS / Protocol Labs |
| Lisensi | Makalah yang dirujuk tidak menyatakan lisensi secara eksplisit. |
| Catatan makalah | arXiv:1407.3561 |
| Salinan Draft 3 dari Protocol Labs Research (PDF) |
Halaman ini merangkum rancangan teknis tahun 2014, bukan reproduksi teks makalah atau spesifikasi IPFS terkini. CryptoGloss bukan penulis karya aslinya; hak atas karya tetap dimiliki pemegangnya.
“IPFS — Content Addressed, Versioned, P2P File System” adalah makalah rancangan Juan Benet yang diajukan pada 2014. Makalah tersebut mengusulkan jaringan peer-to-peer yang mengalamati data berdasarkan isi, menggunakan blok content-addressed, Merkle DAG, routing peer, dan pertukaran blok. Makalah ini merupakan rancangan historis; IPFS saat ini terdiri dari protokol dan alat yang berkembang setelah dokumen tersebut. Catatan makalah Benet di arXiv dan ikhtisar IPFS terkini membantu membedakan keduanya.
Publikasi dan cakupan
Benet mengirimkan makalah ini pada 14 Juli 2014. Isinya memaparkan rancangan sistem file peer-to-peer yang memadukan gagasan dari distributed hash table, struktur Merkle DAG, dan pertukaran blok antar-peer. Tujuannya adalah membantu node menemukan dan mengambil data yang dikenali lewat kontennya. Baca dokumen itu sebagai proposal desain pada masanya; spesifikasi serta implementasi IPFS telah berkembang sejak saat itu. Salinan Protocol Labs Research menandai dokumen tersebut sebagai Draft 3.
Content addressing dan CID
Content Identifier (CID) mengidentifikasi sebuah blok terkode atau akar dari struktur konten yang saling tertaut. CID menggunakan multihash kriptografis serta informasi yang menjelaskan versi dan codec; representasi teksnya memakai pengodean base. Karena itu, CID tidak selalu sama dengan checksum biasa untuk seluruh berkas. IPFS dapat membagi berkas menjadi beberapa blok dan menautkannya dalam DAG, sehingga CID akar mewakili akar struktur tersebut, bukan sekadar hash datar dari semua byte berkas. Panduan CID dari IPFS dan spesifikasi CID menjelaskan format ini.
Perubahan pada konten yang diidentifikasi menghasilkan CID berbeda. CID membantu memeriksa apakah blok yang diterima cocok dengan identitas yang diminta, tetapi tidak menunjukkan peer mana yang masih menyimpan salinan atau menjamin peer itu tetap melayani data. Berkas dengan byte yang sama pun dapat menghasilkan CID berbeda bila pengaturan chunking atau pengodeannya berbeda.
Merkle DAG, berkas, dan direktori
IPFS menghubungkan data dalam directed acyclic graph (DAG). Blok untuk berkas besar atau direktori dapat menunjuk ke blok anak melalui CID. Jika blok berubah, CID jalur induk yang menunjuk kepadanya juga berubah, sementara blok anak lain yang tidak berubah dapat mempertahankan CID masing-masing. UnixFS menyediakan representasi berkas dan direktori di atas blok IPFS; struktur lengkapnya tidak harus berupa satu hash atas satu berkas datar. Spesifikasi format data IPFS menjelaskan codec dan format UnixFS.
Menemukan peer dan bertukar blok
Alamat konten menjawab data apa yang diminta; routing membantu node mencari peer yang mungkin menyediakannya. Distributed Hash Table (DHT) IPFS menyimpan catatan penyedia yang menunjuk ke peer pengiklan CID, bukan isi data itu sendiri. Setelah peer ditemukan, node dapat meminta blok melalui protokol pertukaran data seperti Bitswap. Peer dan catatan routing dapat berubah, sehingga pencarian dapat gagal bila tidak ada peer yang dapat dijangkau dan masih menyediakan blok tersebut. Spesifikasi Kademlia DHT IPFS menguraikan pencarian penyedia ini.
Nama yang dapat diubah dan akses web biasa
CID menunjuk ke konten tertentu yang tidak berubah; perubahan data menghasilkan CID baru. IPNS menyediakan nama bertanda tangan yang dapat diperbarui agar menunjuk ke CID lain. Alamat ipfs:// merujuk ke konten melalui CID, sedangkan gateway HTTP dapat menyajikannya lewat alamat https:// biasa untuk peramban dan alat yang tidak menggunakan IPFS secara langsung. Gateway membuat konten IPFS dapat diakses melalui web, tetapi IPFS tidak menghapus atau menggantikan semua URL biasa. Lihat spesifikasi catatan IPNS dan panduan gateway IPFS.
Ketersediaan, pinning, dan Filecoin
Mengetahui sebuah CID tidak menjamin datanya akan selalu daring. Node IPFS dapat menyimpan konten yang diambil sebagai cache lalu menghapus data yang tidak dipin saat garbage collection. Pinning meminta node tertentu untuk mempertahankan konten pilihan. Untuk akses yang lebih andal, pemilik perlu merencanakan retensi, misalnya dengan beberapa salinan independen; pinning tetap bukan jaminan universal bahwa data akan tersedia selamanya.
Filecoin terpisah dari IPFS. IPFS menyediakan pengalamatan konten dan protokol pengambilan data, sedangkan Filecoin menyediakan jaringan penyimpanan dengan kesepakatan antara klien dan penyedia. Memiliki CID saja tidak otomatis membuat kesepakatan penyimpanan Filecoin. Panduan IPFS tentang persistensi dan pinning menjelaskan batas ketersediaan serta hubungan IPFS dengan Filecoin.
Istilah Terkait
Lihat Juga
- Filecoin: Jaringan Penyimpanan Terdesentralisasi — membahas kesepakatan penyimpanan dan bukti pada jaringan yang terpisah.
- Yellow Paper Arweave — rancangan penyimpanan arsip dengan model ekonomi yang berbeda.
- Storj: Kerangka Jaringan Penyimpanan Cloud Terdesentralisasi — rancangan penyimpanan objek terdistribusi dengan arsitektur berbeda.
Sumber
- Juan Benet, “IPFS — Content Addressed, Versioned, P2P File System” (2014) — catatan primer makalah dan tanggal pengajuannya.
- Protocol Labs Research, PDF Draft 3 — salinan rancangan tahun 2014 yang dirujuk.
- Dokumentasi IPFS, “What is IPFS?” — ikhtisar IPFS saat ini sebagai kumpulan protokol dan alat.
- Dokumentasi IPFS, “Content Identifiers (CIDs)” — menjelaskan penyusunan CID, codec, multihash, dan perbedaannya dari checksum berkas.
- Standar IPFS, spesifikasi CID — format CID mandiri yang digunakan dalam sistem saat ini.
- Standar IPFS, spesifikasi format data — menjelaskan format dan struktur UnixFS.
- Standar IPFS, Kademlia DHT — menguraikan pencarian catatan penyedia dan peer.
- Standar IPFS, protokol dan catatan IPNS — menjelaskan nama bertanda tangan yang menunjuk ke CID.
- Dokumentasi IPFS, “Persistence, permanence, and pinning” — membahas cache, pinning, batas ketersediaan, dan hubungan dengan Filecoin.
- Dokumentasi IPFS, “IPFS Gateway” — menjelaskan akses melalui gateway HTTP.