Izdanje globalnog decentraliziranog datotečnog sustava IPFS 0.6

Objavljeno izdanje decentraliziranog datotečnog sustava IPFS 0.6 (InterPlanetary File System), koji tvori globalnu verzioniranu pohranu datoteka, postavljenu u obliku P2P mreže formirane od sustava sudionika. IPFS kombinira ideje prethodno implementirane u sustavima kao što su Git, BitTorrent, Kademlia, SFS i Web, i nalikuje jednom BitTorrent "roju" (vršnjacima koji sudjeluju u distribuciji) koji razmjenjuju Git objekte. IPFS se razlikuje po adresiranju prema sadržaju, a ne prema lokaciji i proizvoljnim imenima. Referentni implementacijski kod napisan je u Go i distribuira pod licencama Apache 2.0 i MIT.

Nova verzija poznata je po uključivanju prijenosa temeljenog na protokolu prema zadanim postavkama QUIC, koji je sloj na UDP protokolu koji podržava multipleksiranje više veza i pruža metode šifriranja ekvivalentne TLS/SSL-u. U IPFS-u, utičnica za prihvaćanje UDP veza automatski se pokreće na istoj adresi i mrežnom priključku kao rukovatelj prijenosom baziran na TCP-u. QUIC se koristi i za dolazne i za odlazne veze, a pri povezivanju s novim čvorovima, ako QUIC nije dostupan, vraća se na korištenje TCP-a.

Druga važna inovacija bila je podrška za siguran transport BUKA, temeljen na protokolu Buka i razvijen unutar libp2p, modularni mrežni skup za P2P aplikacije. Nakon inicijalnog dogovora o povezivanju, sva daljnja komunikacija između sudionika je šifrirana i zaštićena od prisluškivanja.
BUKA je zamijenila prijevoz SECIO, ali TLS 1.3 i dalje se koristi kao prioritetna metoda za šifriranje veza između čvorova. NOISE je prilično jednostavan za implementaciju i pozicioniran je kao univerzalni međuplatformski prijenos koji se može implementirati u različitim programskim jezicima.

Novo izdanje također pruža mogućnost dodavanja prilagođenih stranica "404 Not Found" i dodaje izbornu podršku za metodu kodiranja Base36, koja je optimalna za alfanumeričke podatke koji ne razlikuju velika i mala slova kao što su nazivi domena (koristeći Base32, Ed25519 IPNS ključevi su dva bajta veći ograničenje veličine poddomene, a s Base36 se uklapaju u ograničenje). Osim toga, u postavke je dodana opcija
«vireći“, koji definira popis čvorova na koje se treba povezati, održavati vezu s kojima se i ponovno povezati s njima kako bi se identificirale „ljepljive” veze između često korištenih ravnopravnih uređaja.

Podsjetimo se da je u IPFS-u veza za pristup datoteci izravno povezana s njezinim sadržajem i uključuje kriptografski hash sadržaja. Adresa datoteke ne može se proizvoljno preimenovati; može se promijeniti samo nakon promjene sadržaja. Isto tako, nemoguće je izvršiti promjenu datoteke bez promjene adrese (stara verzija će ostati na istoj adresi, a nova će biti dostupna preko druge adrese, jer će se promijeniti hash sadržaja datoteke). S obzirom da se identifikator datoteke mijenja sa svakom promjenom, kako se ne bi svaki put prenosili novi linkovi, osigurani su servisi za povezivanje stalnih adresa koji uzimaju u obzir različite verzije datoteke (IPNS), ili dodjeljivanje aliasa po analogiji s tradicionalnim FS-om i DNS-om (MFS (Mutable File System) i DNSLink).

Po analogiji s BitTorrentom, podaci se izravno pohranjuju na sustave sudionika koji razmjenjuju informacije u P2P modu, bez vezivanja za centralizirane čvorove. Ako je potrebno primiti datoteku s određenim sadržajem, sustav pronalazi sudionike koji imaju tu datoteku i šalje je iz svojih sustava u dijelovima u nekoliko niti. Nakon preuzimanja datoteke u svoj sustav, sudionik automatski postaje jedna od točaka za njezinu distribuciju. Odrediti sudionike mreže na čijim čvorovima je prisutan sadržaj od interesa polovan distribuirana hash tablica (DHT). Za pristup globalnom IPFS FS-u, može se koristiti HTTP protokol ili se virtualni FS /ipfs može montirati pomoću FUSE modula.

IPFS pomaže u rješavanju problema kao što su pouzdanost pohrane (ako originalna pohrana nestane, datoteka se može preuzeti sa sustava drugih korisnika), otpornost na cenzuru sadržaja (blokiranje zahtijeva blokiranje svih korisničkih sustava koji imaju kopiju podataka) i organiziranje pristupa u nedostatku izravne veze s internetom ili ako je kvaliteta komunikacijskog kanala loša (podatke možete preuzeti preko obližnjih sudionika na lokalnoj mreži). Osim za pohranjivanje datoteka i razmjenu podataka, IPFS se može koristiti kao osnova za kreiranje novih usluga, na primjer, za organiziranje rada stranica koje nisu vezane za poslužitelje ili za kreiranje distribuiranih aplikacije.

Izdanje globalnog decentraliziranog datotečnog sustava IPFS 0.6

Izvor: opennet.ru

Dodajte komentar