Gezegenler Arası Dosya Sistemi (IPFS) Nedir ve Nasıl Kullanırsınız?

Yayınlanan: 2022-06-25
Bir ağa bağlı "insan" sembollerine sahip birkaç altıgen karo.
Andrii Yalanskyi / Shutterstock

Gezegenler Arası Dosya Sistemi (IPFS), dağıtılmış, eşler arası bir dosya paylaşım ağıdır ve yeni, merkezi olmayan bir ağın temeli olacak şekilde iyi konumlandırılmıştır. İşte nasıl çalıştığı ve kullanmaya nasıl başlayabileceğiniz.

İçindekiler

Merkezi Olmayan İnternet
IPFS Nasıl Çalışır?
Veriler Nasıl Depolanır
IPFS Nasıl Kurulur
Web Arayüzü
IPFS Masaüstü İstemcisi
Sırada Ne Var?

Merkezi Olmayan İnternet

Küresel olmasına rağmen, dünya çapında ağ hala merkezi bir ağdır. İnternetin arkasındaki veri depolama, ağırlıklı olarak büyük sunucu çiftliklerinde veya bulut platformlarında bulunan fiziksel veya sanal sunuculardır. Bu tesisler tek bir şirkete aittir. Sunucular başka şirketlere aittir veya başka şirketler tarafından kiralanır ve dış dünya tarafından erişilebilir olacak şekilde yapılandırılır ve sunulur.

HTTPS Nedir ve Neden Önem Vermeliyim?
İLGİLİ HTTPS Nedir ve Neden Önem Vermeliyim?

Bu sunuculardaki bilgilere erişmek isteyen herkes, tarayıcılarından uygun sunucuya bir HTTPS bağlantısı yapmalıdır. Sunucu merkezdedir ve sahip olduğu verilere erişim için tüm istekleri yerine getirir.

Bu elbette bir basitleştirmedir, ancak genel modeli açıklamaktadır. Ölçeklendirmeye izin vermek ve sağlamlık sağlamak için kuruluşlar, yansıtma sunucularını ve içerik dağıtım ağlarını devreye sokabilir. Ancak o zaman bile, insanların bu dosyalara erişmek için gidebileceği nispeten küçük ve sınırlı sayıda konum var.

IPFS, merkezi olmayan bir ağın bir uygulamasıdır. En popüler merkezi olmayan sistemlerden biri, sürüm kontrol yazılımı Git'tir. Git dağıtılmış bir sistemdir çünkü bir havuzu klonlayan her geliştiricinin bilgisayarında geçmiş de dahil olmak üzere tüm havuzun bir kopyası vardır. Merkezi havuz silinirse, havuzun herhangi bir kopyası onu geri yüklemek için kullanılabilir. IPFS, bu dağıtılmış konsepti alır ve dosya depolama ve veri alımına uygular.

IPFS, Juan Benet tarafından oluşturuldu ve onun kurduğu şirket olan Protocol Labs tarafından sürdürülüyor. Git'in merkezi olmayan yapısını ve torrentlerin dağıtılmış, bant genişliği tasarrufu sağlayan tekniklerini aldılar ve IPFS ağındaki tüm düğümlerde çalışan bir dosyalama sistemi oluşturdular. Ve şimdi burada ve çalışıyor.

IPFS Nasıl Çalışır?

IPFS merkezi olmayan web, kendisine bağlı olan ve düğümler olarak bilinen tüm bilgisayarlardan oluşur. Düğümler verileri depolayabilir ve isteyen herkes tarafından erişilebilir hale getirebilir.

Birisi bir dosya veya web sayfası isterse, dosyanın bir kopyası düğümlerinde önbelleğe alınır. Gittikçe daha fazla insan bu verileri talep ettikçe, daha fazla önbelleğe alınmış kopyalar olacaktır. Bu dosyaya yönelik sonraki istekler, üzerinde dosya bulunan herhangi bir düğüm veya düğüm kombinasyonu tarafından karşılanabilir. Verileri teslim etme ve talebi yerine getirme yükü, yavaş yavaş birçok düğüm arasında paylaştırılır.

Bu, yeni bir web adresi türü gerektirir. Verilerin konumunu bilmeniz ve bu verilere belirli bir URL sağlamanız gereken adres tabanlı yönlendirme yerine, merkezi olmayan web içerik tabanlı yönlendirmeyi kullanır.

Yeni Başlayanlar için BitTorrent: Torrent İndirmeye Nasıl Başlanır?
İLGİLİ Yeni Başlayanlar için BitTorrent: Torrent İndirmeye Nasıl Başlanır?

Verilerin nerede olduğunu söylemiyorsunuz; istediğinizi talep edersiniz ve sizin için bulunur ve alınır. Veriler birçok farklı bilgisayarda depolandığından, bu bilgisayarların tümü, torrent indirme gibi verilerin parçalarını bir kerede bilgisayarınıza besleyebilir. Bu, gecikmeyi azaltmak, bant genişliğini azaltmak ve tek bir merkezi sunucunun neden olduğu darboğazları önlemek için tasarlanmıştır.

Merkezi modelden uzaklaşmak, bilgisayar korsanlarının saldırabileceği bir odak noktası olmadığı anlamına gelir. Ancak çoğu insan için acil endişe, dosyalarının, görüntülerinin ve diğer medyanın başkalarının bilgisayarlarında depolanacağı fikri olacaktır.

Pek öyle değil. IPFS, bağlandığınız ve yüklediğiniz bir şey değildir. Dağıtılmış, ortak bir Dropbox değil. Bu, bir düğümü barındırarak veya bir bulut hizmeti tarafından barındırılan profesyonel olarak sağlanmış bir düğümü kullanmak için ödeme yaparak katıldığınız bir şeydir. Ve bir şeyi paylaşmayı veya yayınlamayı seçmediğiniz sürece, başka kimse ona erişemeyecek. Aslında, “yükleme” terimi yanıltıcıdır. Gerçekten yaptığınız şey, dosyaları kendi düğümünüze aktarmaktır.

Şifreleme Nedir ve Nasıl Çalışır?
İLGİLİ Şifreleme Nedir ve Nasıl Çalışır?

Bir dosyanın başkaları tarafından erişilebilir olmasını istiyorsanız ancak içeriği belirli birkaç kişiyle sınırlı tutmanız gerekiyorsa, içe aktarmadan önce onu şifrelemeniz gerekir. Veri aktarımı her iki yönde de şifrelenir, ancak içe aktarılan dosyalar varsayılan olarak bilerek şifrelenmez. Bu, şifreleme teknolojisi seçimini size bırakır. IPFS, "resmi" şifreleme olarak bir tür dosya depolama şifrelemesini zorlamaz.

Veriler Nasıl Depolanır

Veriler, IPFS nesneleri adı verilen 256 KB'lik parçalar halinde depolanır. Bundan daha büyük dosyalar, dosyayı barındırmak için gereken sayıda IPFS nesnesine bölünür. Dosya başına bir IPFS nesnesi, o dosyayı oluşturan diğer tüm IPFS nesnelerine bağlantılar içerir.

Sağlama Toplamı Nedir (ve Neden İlgilenmelisiniz)?
İLGİLİ Sağlama Toplamı Nedir (ve Neden Dikkat Etmelisiniz)?

IPFS ağına bir dosya eklendiğinde, ona içerik kimliği veya CID adı verilen benzersiz, 24 karakterlik bir karma kimliği verilir. IPFS ağı içinde bu şekilde tanımlanır ve başvurulur. Dosya alındığında karmayı yeniden hesaplamak, dosyanın bütünlüğünü doğrular. Kontrol başarısız olursa, dosya değiştirildi. Dosyalar yasal olarak güncellendiğinde, dosyaların sürümlerini IPFS yönetir. Bu, dosyanın yeni sürümünün önceki sürümle birlikte depolandığı anlamına gelir. IPFS, dağıtılmış bir dosya sistemi gibi çalışır ve bu sürüm oluşturma kavramı, bu dosya sistemine bir dereceye kadar değişmezlik sağlar.

Düğümünüzde IPFS'de bir dosya depoladığınızı ve Dave adında biri bunu ister ve düğümüne indirdiğini varsayalım. Bu dosyayı isteyen bir sonraki kişi, dosyayı sizden veya Dave'den veya dosyanın bölümlerinin sizin düğümünüzden ve Dave'in düğümünden geldiği torrent benzeri bir şekilde alabilir. Dosyayı ne kadar çok kişi indirirse, eklenecek ve sonraki dosya isteklerine yardımcı olacak daha fazla düğüm vardır.

Çöp toplama, önbelleğe alınmış IPFS nesnelerini düzenli aralıklarla kaldırır. Bir dosyayı kalıcı olarak saklamak istiyorsanız, onu düğümünüze sabitleyebilirsiniz . Bu, çöp toplama sırasında temizlenmeyeceği anlamına gelir. Verilerinizi IPFS ağına maruz bırakan ve onları kalıcı olarak sabit tutan bulut depolama sağlayıcılarında depolama için ödeme yapabilirsiniz ve IPFS'ye erişilebilen web sitelerini barındırmak için özel olarak tasarlanmış hizmetler vardır.

Web sitenizdeki bir şey viral hale gelir ve web sitenize büyük trafik dalgaları çekerse, sayfalar bu sayfaları alan tüm düğümlerde önbelleğe alınır. Bu önbelleğe alınmış sayfalar, daha fazla sayfa isteğine hizmet etmek için kullanılacak, dalgayı sürmenize ve talebi karşılamanıza yardımcı olacak.

Tabii ki, tüm bunlar yeterli sayıda düğümün açık ve kullanılabilir olmasına ve yeterli sabitlenmiş ve önbelleğe alınmış veriye bağlıdır. Bu da katılımcı gerektirir.

IPFS Nasıl Kurulur

Windows kullanıcıları, IPFS sürüm sayfasında bulunan EXE dosyasını indirebilir ve çalıştırabilir. Mac kullanıyorsanız, DMG dosyasını indirin ve normalde yaptığınız gibi Uygulamalar'a sürükleyin. Sorun yaşarsanız, resmi belgelere bakın.

Gösteri amacıyla, Ubuntu'daki kurulumu inceleyeceğiz. Herhangi bir Linux dağıtımında IPFS ve IPFS masaüstü istemcisi için Snap paketleri mevcuttur. Sadece IPFS'yi kurarsanız, bir tarayıcı kullanarak kontrol edebileceğiniz ve yönetebileceğiniz tamamen çalışan bir IPFS düğümünüz olur. Masaüstü istemcisini kurarsanız, tarayıcıyı kullanmanıza gerek kalmaz, istemci aynı işlevlerin tümünü sağlar.

Snaps'i yüklemek için şunu kullanın:

 sudo snap yükleme ipfs 

Çekirdek IPFS ekini yükleme

 sudo ek kurulum ipfs-desktop 

IPFS masaüstü istemci ekini yükleme

Şimdi düğümünüzü başlatmak için komutu çalıştırmanız gerekiyor.

 ipfs başlangıcı 

Bir IPFS düğümünü başlatma

Aşağıdaki komutlar, zorluklarla karşılaşırsanız ve arka plan programı çalışmıyorsa veya ona bağlanamıyorsanız IPFS tarafından önerilir. Denediğimiz tüm test bilgisayarlarında bunlar gerekliydi, bu yüzden devam edip şimdi yayınlayabilirsiniz:

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

IPFS'de çapraz kaynaklı istekleri yapılandırma

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

IPFS'de erişim yöntemlerini yapılandırma

 sudo sysctl -w net.core.rmem_max=2500000 

Ağ arabelleği boyutunu ayarlama

Bunların dışında kalanlar ile IPFS arka plan programını başlatabilirsiniz.

 ipfs arka plan programı 

IPFS arka plan programını başlatma

Daemon başlatıldığında, ona bağlanmak için kullanabileceğiniz iki adresi bildirir. Biri IPFS masaüstü için, diğeri ise IPFS “webui” veya web kullanıcı arayüzü içindir.

IPFS arka plan programı bağlantı adresleri

Web Arayüzü

IPFS web ön ucuna bağlanmak için webui adresini http://127.0.0.1:5001/webui tarayıcınıza yapıştırın.

Varsayılan sayfa “Durum” ekranıdır. Bu, düğümünüzün durumunu ve etkinliğini gösteren bir panodur. Barındırdığınız dosyaların boyutunu ve düğümünüzün barındırdığı önbelleğe alınmış IPFS nesnelerinin toplam boyutunu gösterir. Bu, IPFS ağının başka bir yerinden gelen verilerdir. Pano ayrıca, gelen ve giden IPFS trafiğini gösteren iki gerçek zamanlı gösterge ve bu trafiğin geçmişini gösteren gerçek zamanlı bir grafik görüntüler.

IPFS webui Durum ekranı

Farklı bir ekrana geçmek için sol kenar çubuğundaki simgelerden birini tıklayın. “Dosyalar” ekranı, IPFS'ye aktardığınız dosyaları görmenizi sağlar. Bilgisayarınızda IPFS'ye aktarmak istediğiniz dosya veya klasörleri aramak için mavi “İçe Aktar” düğmesini kullanabilirsiniz.

IPFS webui Dosyaları ekranı

IPFS, Merkle ağaçlarını kullanır. Bunlar, 1979'da Ralph Merkle tarafından icat edilen ikili hash ağaçlarının çok verimli bir üst kümesidir. Çok ağacınız varsa, ormanınız var demektir. “Keşfet” simgesi, IPFS ve onun Merkle ormanında saklanan farklı bilgi türlerine göz atmanızı sağlayan bir ekran açar.

IPFS webui Dosyaları ekranı

Tanınmış XKCD web sitesinden bir karikatür arşivi var. Bu seçeneğe tıklamak ve bir çizgi film seçmek, seçtiğiniz çizgi filmi size IPFS üzerinden teslim eder.

IPFS aracılığıyla teslim edilen XKCD karikatürü

"Eşler" simgesi, IPFS bağlantılarınızın dünya genelinde nerede bulunduğunu gösteren bir dünya haritası açar.

IPFS webui Eşler ekranı

Birkaç dakika içinde Avustralya, Beyaz Rusya, Belçika, Kanada, Çin, Finlandiya, Fransa, Almanya, Japonya, Malezya, Hollanda, Norveç, Polonya, Portekiz, Romanya, Rusya, Singapur, Güney Kore, İsveç, Tayvan'dan bağlantılarımız oldu. Türkiye, İngiltere ve tabii ki ABD.

Gerekirse, IPFS'nin küresel bir vızıltı yarattığının kanıtı. Elbette mevcut her düğüme bağlanmayacaksınız. Bu verimsiz olurdu.

IPFS Masaüstü İstemcisi

Sisteminizin uygulama başlatıcısında IPFS Masaüstünü bulun. GNOME'da, IPFS arka plan programı durdurulmuş durumdayken "Süper" anahtarınıza basın ve "ipfs" yazın. Mavi IPFS küp simgesini göreceksiniz.

Bu simgeye tıklayın, masaüstü istemcisi başlayacaktır. Daemon'un kendisini başlatacak.

Masaüstü istemcinin görünümü ve işlevselliği web arayüzü ile tamamen aynıdır, ancak bu sefer bağımsız bir uygulama olarak çalışmaktadır.

IPFS masaüstü istemcisi

Uygulamanın sağladığı ek bir özellik, bildirim alanındaki bir uygulama göstergesidir.

Bu, bir seçenekler menüsüne ve düğümünüzün durumunu gösteren bir trafik ışığı göstergesine hızlı erişim sağlar. Gösterge normal çalışma için yeşil, hata için kırmızı ve başlatma için sarıdır.

IPFS uygulama göstergesi menüsü

Sırada Ne Var?

Hiçbir şey birdenbire mevcut, merkezileştirilmiş ağın yerini almayacak, ancak zamanla her şey gelişecek. Belki de IPFS, neye dönüşebileceğine dair bir fikirdir.