Apa itu Sistem File Antarplanet (IPFS) dan Bagaimana Cara Menggunakannya?

Diterbitkan: 2022-06-25
Beberapa ubin heksagonal dengan simbol "manusia" terhubung dalam sebuah web.
Andrii Yalanskyi / Shutterstock

Sistem File Antarplanet (IPFS) adalah jaringan berbagi file peer-to-peer terdistribusi yang diposisikan dengan baik untuk menjadi fondasi web baru yang terdesentralisasi. Inilah cara kerjanya, dan bagaimana Anda dapat mulai menggunakannya.

Daftar isi

Internet Terdesentralisasi
Bagaimana IPFS Bekerja
Bagaimana Data Disimpan
Cara Menginstal IPFS
Antarmuka Web
Klien Desktop IPFS
Apa yang Datang Selanjutnya?

Internet Terdesentralisasi

Meskipun bersifat global, world wide web masih merupakan jaringan terpusat . Penyimpanan data di belakang internet sebagian besar adalah server—fisik atau virtual—dalam kumpulan server besar atau platform cloud. Fasilitas ini dimiliki oleh satu perusahaan. Server dimiliki atau disewa oleh perusahaan lain dan dikonfigurasi serta diekspos agar dapat diakses oleh dunia luar.

Apa itu HTTPS, dan Mengapa Saya Harus Peduli?
TERKAIT Apa itu HTTPS, dan Mengapa Saya Harus Peduli?

Siapa pun yang ingin mengakses informasi di server tersebut harus membuat koneksi HTTPS dari browser mereka ke server yang sesuai. Server berada di tengah, melayani semua permintaan akses ke data yang dipegangnya.

Ini adalah penyederhanaan tentu saja, tetapi ini menggambarkan model umum. Untuk memungkinkan penskalaan dan memberikan ketahanan, organisasi dapat menggunakan server cermin dan jaringan pengiriman konten. Namun meskipun demikian, masih ada sejumlah kecil dan terbatas lokasi yang dapat dikunjungi orang untuk mengakses file tersebut.

IPFS adalah implementasi dari jaringan terdesentralisasi . Salah satu sistem terdesentralisasi yang paling populer adalah Git, perangkat lunak pengontrol versi. Git adalah sistem terdistribusi karena setiap pengembang yang telah mengkloning repositori memiliki salinan seluruh repositori, termasuk riwayatnya, di komputer mereka. Jika repositori pusat dihapus, salinan repositori apa pun dapat digunakan untuk memulihkannya. IPFS mengambil konsep terdistribusi itu dan menerapkannya pada penyimpanan file dan pengambilan data.

IPFS dibuat oleh Juan Benet dan dikelola oleh Protocol Labs, perusahaan yang ia dirikan. Mereka mengambil sifat Git yang terdesentralisasi dan teknik torrent yang terdistribusi dan hemat bandwidth dan menciptakan sistem pengarsipan yang bekerja di semua node dalam jaringan IPFS. Dan itu di sini sekarang, dan bekerja.

Bagaimana IPFS Bekerja

Web terdesentralisasi IPFS terdiri dari semua komputer yang terhubung dengannya, yang dikenal sebagai node . Node dapat menyimpan data dan membuatnya dapat diakses oleh siapa saja yang memintanya.

Jika seseorang meminta file atau halaman web, salinan file di-cache di node mereka. Karena semakin banyak orang meminta data itu, semakin banyak salinan cache akan ada. Permintaan berikutnya untuk file tersebut dapat dipenuhi oleh node mana pun—atau kombinasi node—yang memiliki file tersebut. Beban pengiriman data dan pemenuhan permintaan secara bertahap dibagi di antara banyak node.

Ini membutuhkan jenis alamat web baru. Alih-alih perutean berbasis alamat di mana Anda harus mengetahui lokasi data dan memberikan URL khusus untuk data itu, web yang terdesentralisasi menggunakan perutean berbasis konten .

BitTorrent untuk Pemula: Cara Memulai Mengunduh Torrent
BitTorrent TERKAIT untuk Pemula: Cara Memulai Mengunduh Torrent

Anda tidak mengatakan di mana datanya; Anda meminta apa yang Anda inginkan, dan itu ditemukan dan diambil untuk Anda. Karena data disimpan di banyak komputer yang berbeda, semua komputer tersebut dapat memasukkan sebagian data ke komputer Anda sekaligus, seperti unduhan torrent. Ini dimaksudkan untuk menurunkan latensi, mengurangi bandwidth, dan menghindari kemacetan yang disebabkan oleh satu server pusat.

Menjauh dari model terpusat berarti tidak ada titik fokus bagi peretas untuk menyerang. Tetapi perhatian utama kebanyakan orang adalah gagasan bahwa file, gambar, dan media lain mereka akan disimpan di komputer orang lain.

Ini tidak seperti itu. IPFS bukanlah sesuatu yang Anda sambungkan dan unggah. Ini bukan Dropbox komunal yang terdistribusi. Ini adalah sesuatu yang Anda ikuti, dengan menghosting node atau membayar untuk menggunakan node yang disediakan secara profesional yang dihosting oleh layanan cloud. Dan kecuali Anda memilih untuk membagikan atau memublikasikan sesuatu, itu tidak akan dapat diakses oleh orang lain. Sebenarnya, istilah "mengunggah" itu menyesatkan. Apa yang sebenarnya Anda lakukan adalah mengimpor file ke node Anda sendiri.

Apa Itu Enkripsi, dan Bagaimana Cara Kerjanya?
TERKAIT Apa Itu Enkripsi, dan Bagaimana Cara Kerjanya?

Jika Anda ingin file dapat diakses oleh orang lain tetapi perlu membatasi konten untuk beberapa orang tertentu, Anda harus mengenkripsinya sebelum Anda mengimpornya. Transmisi data dienkripsi di kedua arah, tetapi file yang diimpor sengaja tidak dienkripsi secara default. Ini menyerahkan pilihan teknologi enkripsi kepada Anda. IPFS tidak mendorong bentuk enkripsi penyimpanan file sebagai enkripsi "resmi".

Bagaimana Data Disimpan

Data disimpan dalam potongan 256 KB, yang disebut objek IPFS. File yang lebih besar dari itu dipecah menjadi objek IPFS sebanyak yang diperlukan untuk mengakomodasi file. Satu objek IPFS per file berisi tautan ke semua objek IPFS lain yang menyusun file itu.

Apa itu Checksum (dan Mengapa Anda Harus Peduli)?
TERKAIT Apa itu Checksum (dan Mengapa Anda Harus Peduli)?

Saat file ditambahkan ke jaringan IPFS, file tersebut diberi ID hash 24 karakter yang unik, yang disebut ID konten , atau CID. Begitulah cara itu diidentifikasi dan dirujuk dalam jaringan IPFS. Menghitung ulang hash saat file diambil akan memverifikasi integritas file. Jika pemeriksaan gagal, file telah dimodifikasi. Ketika file diperbarui secara sah, IPFS menangani versi file. Itu berarti versi baru dari file tersebut disimpan bersama dengan versi sebelumnya. IPFS beroperasi seperti sistem file terdistribusi, dan konsep pembuatan versi ini memberikan tingkat kekekalan pada sistem file tersebut.

Katakanlah Anda menyimpan file dalam IPFS di node Anda, dan seseorang bernama Dave memintanya dan mengunduhnya ke node mereka. Orang berikutnya yang meminta file itu mungkin mendapatkannya dari Anda, atau dari Dave, atau dengan cara seperti torrent dengan bagian file yang berasal dari node Anda dan dari node Dave. Semakin banyak orang yang mengunduh file tersebut, semakin banyak node yang dapat dimasukkan dan membantu dengan permintaan file berikutnya.

Pengumpulan sampah secara berkala akan menghapus objek IPFS yang di-cache. Jika Anda ingin menyimpan file secara permanen, Anda dapat menyematkannya ke node.js Anda. Itu berarti tidak akan dibersihkan selama pengumpulan sampah. Anda dapat membayar penyimpanan di penyedia penyimpanan cloud yang memaparkan data Anda ke jaringan IPFS dan menyimpannya secara permanen, dan ada layanan yang dirancang khusus untuk situs web hosting yang dapat diakses oleh IPFS.

Jika sesuatu di situs web Anda menjadi viral dan mendorong gelombang besar lalu lintas ke situs web Anda, halaman tersebut akan di-cache di semua node yang mengambil halaman tersebut. Halaman-halaman yang di-cache itu akan digunakan untuk membantu melayani permintaan halaman lebih lanjut, membantu Anda mengatasi gelombang dan memenuhi permintaan.

Tentu saja, semua ini tergantung pada jumlah node yang cukup aktif dan tersedia, dan dengan cukup banyak data yang disematkan dan di-cache. Dan itu membutuhkan peserta.

Cara Menginstal IPFS

Pengguna Windows dapat mengunduh dan menjalankan file EXE yang ada di halaman rilis IPFS. Jika Anda menggunakan Mac, unduh file DMG dan seret ke Aplikasi seperti biasa. Jika Anda mengalami masalah, lihat dokumentasi resmi.

Untuk tujuan demonstrasi, kita akan berjalan melalui instalasi di Ubuntu. Ada paket Snap yang tersedia untuk IPFS dan untuk klien desktop IPFS pada distribusi Linux apa pun. Jika Anda baru saja menginstal IPFS, Anda akan memiliki node IPFS yang berfungsi penuh yang dapat Anda kontrol dan kelola menggunakan browser. Jika Anda menginstal klien desktop, Anda tidak perlu menggunakan browser, klien menyediakan semua fungsi yang sama.

Untuk menginstal Snaps gunakan:

 sudo snap instal ipfs 

Memasang snap IPFS inti

 sudo snap install ipfs-desktop 

Menginstal snap klien desktop IPFS

Sekarang Anda perlu menjalankan perintah untuk menginisialisasi node Anda.

 ipfs init 

Menginisialisasi simpul IPFS

Perintah berikut disarankan oleh IPFS jika Anda mengalami kesulitan dan daemon tidak berjalan, atau Anda tidak dapat terhubung ke sana. Pada semua komputer uji yang kami coba, ini diperlukan, jadi Anda sebaiknya melanjutkan dan menerbitkannya sekarang:

 ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["webui://-", "http://localhost:3000", "http://127.0.0.1:5001", "https ://webui.ipfs.io"]' 

Mengonfigurasi permintaan lintas asal di IPFS

 ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]' 

Mengonfigurasi metode akses di IPFS

 sudo sysctl -w net.core.rmem_max=2500000 

Menyesuaikan ukuran buffer jaringan

Dengan itu, Anda dapat memulai daemon IPFS.

 ipfs daemon 

Memulai daemon IPFS

Ketika daemon diluncurkan, ia melaporkan dua alamat yang dapat Anda gunakan untuk terhubung dengannya. Salah satunya untuk desktop IPFS dan yang lainnya untuk "webui" atau antarmuka pengguna web IPFS.

Alamat koneksi daemon IPFS

Antarmuka Web

Rekatkan alamat webui http://127.0.0.1:5001/webui ke browser Anda untuk terhubung ke front end web IPFS.

Halaman default adalah layar "Status". Ini adalah dasbor yang menunjukkan status dan aktivitas node Anda. Ini menunjukkan ukuran file yang Anda hosting, ditambah ukuran total objek IPFS yang di-cache yang dihosting oleh node Anda. Ini adalah data dari tempat lain di jaringan IPFS. Dasbor juga menampilkan dua pengukur waktu nyata yang menunjukkan lalu lintas IPFS masuk dan keluar, dan grafik waktu nyata yang menunjukkan riwayat lalu lintas tersebut.

Layar Status webui IPFS

Untuk beralih ke layar lain, klik salah satu ikon di bilah sisi kiri. Layar "File" memungkinkan Anda melihat file yang telah Anda impor ke IPFS. Anda dapat menggunakan tombol biru "Impor" untuk mencari file atau folder di komputer Anda yang ingin Anda impor ke IPFS.

Layar File IPFS webui

IPFS memanfaatkan pohon Merkle. Ini adalah superset pohon hash biner yang sangat efisien, ditemukan pada tahun 1979 oleh Ralph Merkle. Jika Anda memiliki banyak pohon, Anda memiliki hutan. Ikon "Jelajahi" membuka layar yang memungkinkan Anda menelusuri berbagai jenis informasi yang disimpan dalam IPFS dan hutan Merkle-nya.

Layar File IPFS webui

Ada arsip kartun dari situs web XKCD yang terkenal. Mengklik opsi itu dan memilih kartun mengirimkan kartun pilihan Anda kepada Anda melalui IPFS.

Kartun XKCD dikirim melalui IPFS

Ikon "Rekan" membuka peta dunia yang memplot lokasi koneksi IPFS Anda di seluruh dunia.

Layar rekan IPFS webui

Dalam beberapa menit, kami memiliki koneksi dari Australia, Belarus, Belgia, Kanada, Cina, Finlandia, Prancis, Jerman, Jepang, Malaysia, Belanda, Norwegia, Polandia, Portugal, Rumania, Rusia, Singapura, Korea Selatan, Swedia, Taiwan, Turki, Inggris, dan tentu saja, Amerika Serikat.

Bukti positif, jika ada yang diperlukan, bahwa IPFS telah menghasilkan buzz global. Anda tidak akan terhubung ke setiap node yang tersedia, tentu saja. Itu akan menjadi tidak efisien.

Klien Desktop IPFS

Temukan Desktop IPFS di peluncur aplikasi sistem Anda. Di GNOME, dengan daemon IPFS berhenti , tekan tombol "Super" Anda dan ketik "ipfs." Anda akan melihat ikon kubus IPFS berwarna biru.

Klik ikon ini dan klien desktop akan mulai. Ini akan memulai daemon itu sendiri.

Tampilan dan fungsionalitas klien desktop sama persis dengan antarmuka web, tetapi kali ini berjalan sebagai aplikasi yang berdiri sendiri.

Klien desktop IPFS

Salah satu fitur tambahan yang disediakan aplikasi adalah indikator aplikasi di area notifikasi.

Ini memberi Anda akses cepat ke menu opsi dan indikator lampu lalu lintas status node Anda. Indikatornya hijau untuk berjalan normal, merah untuk kesalahan, dan kuning untuk memulai.

Menu indikator aplikasi IPFS

Apa yang Datang Selanjutnya?

Tidak ada yang akan tiba-tiba menggantikan web terpusat yang ada, tetapi seiring waktu semuanya akan berkembang. Mungkin IPFS adalah sekilas tentang apa yang mungkin berkembang.