Выпуск глабальнай дэцэнтралізаванай файлавай сістэмы IPFS 0.6

Апублікаваны выпуск дэцэнтралізаванай файлавай сістэмы IPFS 0.6 (InterPlanetary File System), утваральнай глабальнае версіяванае сховішча файлаў, разгорнутае ў форме P2P-сеткі, утворанай з сістэм удзельнікаў. IPFS камбінуе ідэі, раней рэалізаваныя ў такіх сістэмах, як Git, BitTorrent, Kademlia, SFS і Web, і нагадвае адзіны "рой" BitTorrent (піры, якія ўдзельнічаюць у раздачы), які абменьваецца Git-аб'ектамі. IPFS адрозніваецца адрасаваннем па змесце, а не месцы размяшчэння і адвольным імёнам. Код эталоннай рэалізацыі напісаны на мове Go і распаўсюджваецца пад ліцэнзіямі Apache 2.0 і MIT.

Новая версія адметная ўключэннем па змаўчанні транспарта на базе пратакола QUIC, які ўяўляе сабой надбудову над пратаколам UDP, якая падтрымлівае мультыплексаванне некалькіх злучэнняў і забяспечвае метады шыфравання, эквівалентныя TLS/SSL. У IPFS сокет для прыёму UDP-злучэнняў аўтаматычна запускаецца на тым жа адрасе і сеткавым порце, што і апрацоўшчык транспарта на базе TCP. QUIC ужываецца як для ўваходных, так і для выходных злучэнняў, пры гэтым пры падлучэнні да новых вузлоў у выпадку недаступнасці QUIC ажыццяўляецца адкат на выкарыстанне TCP.

Другой важнай навінай стала падтрымка абароненага транспарту Шуман, заснаванага на пратаколе Шум і які развіваецца ў рамках libp2p, модульнага сеткавага стэка для P2P-прыкладанняў. Пасля пачатковага ўзгаднення злучэння ўвесь наступны абмен дадзенымі паміж удзельнікамі шыфруецца і абараняецца ад падслухоўвання.
NOISE прыйшоў на змену транспарту SECIO, але ў якасці прыярытэтнага метаду шыфравання злучэнняў паміж вузламі пакуль працягвае прымяняцца TLS 1.3. NOISE дастаткова просты ў рэалізацыі і пазіцыянуецца як універсальны крос-платформавы транспарт, які можа быць рэалізаваны на розных мовах праграмавання.

У новым выпуску таксама прадстаўлена магчымасць дадання ўласных старонак «404 Not Found» і дададзена апцыянальная падтрымка метаду кадавання Base36, які аптымальны для літарна-лічбавых дадзеных без адрозненняў у рэгістры знакаў, такіх як імёны даменаў (пры выкарыстанні Base32 ключы Ed25519 IPNS на два байта перавышаюць ліміт на памер паддамена, а пры Base36 месцяцца ў ліміт). Акрамя таго, у наладкі дададзена опцыя
«углядаючыся«, Якая вызначае спіс вузлоў для падлучэння, падтрымання злучэння і перападключэння з мэтай вызначэння «ліпкіх» сувязяў паміж часта выкарыстоўваюцца балямі.

Нагадаем, што ў IPFS спасылка для доступу да файла непасрэдна злучана з яго змесцівам і ўключае крыптаграфічны хэш змесціва. Адрас файла немагчыма адвольна пераназваць, ён можа змяніцца толькі пасля змены змесціва. Аналагічна немагчыма занесці змену ў файл без змены адрасу (стары варыянт застанецца на ранейшым адрасе, а новы будзе даступны праз іншы адрас, бо хэш ад змесціва файла зменіцца). Улічваючы тое, што ідэнтыфікатар файла змяняецца пры кожнай змене, каб кожны раз не перадаваць новыя спасылкі прадастаўляюцца сэрвісы для прывязкі пастаянных адрасоў, якія ўлічваюць розныя версіі файла (Ipns), або замацавання псеўданіма па аналогіі з традыцыйнымі ФС і DNS (МФС (Mutable File System) і DNSLink).

Па аналогіі з BitTorrent дадзеныя непасрэдна захоўваюцца на сістэмах удзельнікаў, якія абменьваюцца інфармацыяй у рэжыме P2P, без прывязкі да цэнтралізаваных вузлоў. Пры неабходнасці атрымаць файл з пэўным зместам сістэма знаходзіць удзельнікаў, у якіх ёсць дадзены файл і аддае яго з іх сістэм часткамі ў некалькі патокаў. Пасля загрузкі файла на сваю сістэму ўдзельнік аўтаматычна становіцца адной з кропак па ім раздачы. Для вызначэння ўдзельнікаў сеткі на вузлах якіх прысутнічае цікавы кантэнт выкарыстоўваецца размеркаваная хэш табліца (DHT). Для доступу да глабальнай ФС IPFS можа выкарыстоўвацца пратакол HTTP ці манціравацца віртуальная ФС /ipfs пры дапамозе модуля FUSE.

IPFS дапамагае вырашыць такія задачы як надзейнасць захоўвання (калі зыходнае сховішча будзе выведзена з ладу, файл можна загрузіць з сістэм іншых карыстальнікаў), супрацьстаянне цэнзураванню кантэнту (для блакіроўкі спатрэбіцца заблакаваць усе сістэмы карыстальнікаў, на якіх ёсць копія дадзеных) і арганізацыя доступу пры адсутнасці прамога злучэнні да інтэрнэту ці пры дрэннай якасці канала сувязі (можна загрузіць дадзеныя праз бліжэйшых удзельнікаў у лакальнай сетцы). Акрамя захоўвання файлаў і абмену дадзенымі IPFS можа выкарыстоўвацца як аснова для стварэння новых сэрвісаў, напрыклад, для арганізацыі працы сайтаў, не прывязаных да сервераў, або для стварэння размеркаваных прыкладанняў.

Выпуск глабальнай дэцэнтралізаванай файлавай сістэмы IPFS 0.6

Крыніца: opennet.ru

Дадаць каментар