IPFS (англ. InterPlanetary File System, міжпланетна файлова система) — протокол та система розповсюдження даних за змістом, яка побудована на концепції ідентифікування даних за хешом, тобто за ІД, який розраховується й відповідно залежить, від їхнього внутрішнього значення. Це суттєво відрізняється від існуючої на поточний час системи адресації (ідентифікування об'єкту), коли об'єктові штучно надається ім'я, тобто його фактично ІД, яке взагалі не відбиває його ані внутрішню структуру (тип), ані зміст. Використовує одноранговий спосіб зберігання та обміну гіпермедіаданими в розподіленій файловій системі. IPFS започаткував Хуан Бенет (Juan Benet). На поточний час це проект із відкритим кодом, який підтримується спільнотою.
Тип | мережевий протокол[d] файлова система d і Content delivery network |
---|---|
Автор | d |
Розробник | Protocol Labs |
Стабільний випуск | 0.4.15 (12 травня, 2018 ) |
Операційна система | FreeBSD, Linux, macOS, Windows |
Мова програмування | Реалізація протоколу: Go (еталонна реалізація), JavaScript, C, Python Клієнтські бібліотеки: Go, Java, JavaScript, Python, Scala, Haskell, Swift, Common Lisp, Rust, Ruby, PHP, C#, Erlang |
Доступні мови | Go, JavaScript, Python |
Стан розробки | Діючий |
Ліцензія | MIT |
Репозиторій | github.com/ipfs/ipfs |
Вебсайт | ipfs.tech |
|
[[Файл:Wikipedia-logo-v2.svg|thumb|Геш в IPFS логотипу Вікіпедії: QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8D Логотип за цим хешем можна завантажити через HTTP з публічного шлюзу [ 23 січня 2019 у Wayback Machine.] або через [недоступне посилання з травня 2019 локального IPFS клієнта][недоступне посилання з жовтня 2019] ]]
Історія
В 2014 році протокол IPFS використовував блокчейн [en]Bitcoin та його мережевою інфраструктурою для зберігання незмінних даних, прибирання дублікатів файлів по всій мережі та отримання адресної інформації для доступу до вузлів зберігання для пошуку файлів у мережі.
На поточний час існують реалізації на Go та JavaScript, реалізація на Python в стадії розробки. Реалізація Go розглядається як [en] під час розробки формальних специфікацій.
Опис
IPFS — це розподілена файлова система, яка прагне підключатись до всіх комп'ютерних пристроїв з встановленим IPFS для пошуку файлів.
IPFS подібний до Веб, але IPFS можна розглядати як єдиний BitTorrent рій, де відбувається обмін об'єктами в єдиному Git сховищі. IPFS використовує високопродуктивну модель зберігання із адресацією блоків за їхнім вмістом. Ця модель організації блоків даних фактично утворює спрямований ациклічний граф — дерево Меркла. IPFS поєднує розподілену хеш-таблицю з обміном блоками та самопідтвердженим простором назв. IPFS не має єдиної точки відмови, вузли не повинні довіряти один одному, самостійно перевіряють отримані блоки для захисту від підробок при передачі даних. Розподілена система доставки контенту зберігає пропускну здатність та дозволяє запобігти DoS-атакам, на які уразливий HTTP.
Доступ до даних надається через механізми FUSE або HTTP. Локальні файли можуть бути доданими в IPFS і це зробить їх доступними на будь-якому IPFS-вузлі. Файли ідентифікуються за своїми хешами.
IPFS має власну службу імен IPNS, глобальний простір імен побудований на основі відкритих ключів, які використовуються також для побудови довірчих ланцюгів. IPNS може відображатись на інші простори імен, такі як DNS, .onion, .bit
Див. також
Примітки
- Agorise (23 жовтня 2017). Github.com. Архів оригіналу за 22 квітня 2020. Процитовано 25 жовтня 2017.
- Finley, Kurt (20 червня 2016). . Wired. Архів оригіналу за 15 грудня 2020. Процитовано 31 липня 2018.
- . Ipfs.io. Архів оригіналу за 27 березня 2021. Процитовано 11 вересня 2015.
- . Github.io. Архів оригіналу за 11 листопада 2020. Процитовано 11 вересня 2015.
- . Cointelegraph.com. Архів оригіналу за 8 листопада 2020. Процитовано 25 жовтня 2017.
- . GitHub (англ.). Архів оригіналу за 23 березня 2021. Процитовано 13 лютого 2017.
- . GitHub (англ.). Архів оригіналу за 15 березня 2021. Процитовано 13 лютого 2017.
- . GitHub (англ.). Архів оригіналу за 24 вересня 2018. Процитовано 13 лютого 2017.
- . GitHub (англ.). Архів оригіналу за 29 листопада 2020. Процитовано 13 лютого 2017.
- Allison, Ian (13 жовтня 2016). . Ibtimes.co.uk. Архів оригіналу за 20 січня 2021. Процитовано 25 жовтня 2017.
- . Ipfs.io. Архів оригіналу за 27 березня 2021. Процитовано 27 березня 2018.
- . Github.com. Архів оригіналу за 11 листопада 2020. Процитовано 11 вересня 2015.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
IPFS angl InterPlanetary File System mizhplanetna fajlova sistema protokol ta sistema rozpovsyudzhennya danih za zmistom yaka pobudovana na koncepciyi identifikuvannya danih za heshom tobto za ID yakij rozrahovuyetsya j vidpovidno zalezhit vid yihnogo vnutrishnogo znachennya Ce suttyevo vidriznyayetsya vid isnuyuchoyi na potochnij chas sistemi adresaciyi identifikuvannya ob yektu koli ob yektovi shtuchno nadayetsya im ya tobto jogo faktichno ID yake vzagali ne vidbivaye jogo ani vnutrishnyu strukturu tip ani zmist Vikoristovuye odnorangovij sposib zberigannya ta obminu gipermediadanimi v rozpodilenij fajlovij sistemi IPFS zapochatkuvav Huan Benet Juan Benet Na potochnij chas ce proekt iz vidkritim kodom yakij pidtrimuyetsya spilnotoyu InterPlanetary File SystemTipmerezhevij protokol d fajlova sistema d i Content delivery networkAvtordRozrobnikProtocol LabsStabilnij vipusk0 4 15 12 travnya 2018 6 rokiv tomu 2018 05 12 Operacijna sistemaFreeBSD Linux macOS WindowsMova programuvannyaRealizaciya protokolu Go etalonna realizaciya JavaScript C Python Kliyentski biblioteki Go Java JavaScript Python Scala Haskell Swift Common Lisp Rust Ruby PHP C ErlangDostupni moviGo JavaScript PythonStan rozrobkiDiyuchijLicenziyaMITRepozitorijgithub com ipfs ipfsVebsajtipfs tech Mediafajli u Vikishovishi Fajl Wikipedia logo v2 svg thumb Gesh v IPFS logotipu Vikipediyi QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8D Logotip za cim heshem mozhna zavantazhiti cherez HTTP z publichnogo shlyuzu 23 sichnya 2019 u Wayback Machine abo cherez nedostupne posilannya z travnya 2019 lokalnogo IPFS kliyenta nedostupne posilannya z zhovtnya 2019 IstoriyaV 2014 roci protokol IPFS vikoristovuvav blokchejn en Bitcoin ta jogo merezhevoyu infrastrukturoyu dlya zberigannya nezminnih danih pribirannya dublikativ fajliv po vsij merezhi ta otrimannya adresnoyi informaciyi dlya dostupu do vuzliv zberigannya dlya poshuku fajliv u merezhi Na potochnij chas isnuyut realizaciyi na Go ta JavaScript realizaciya na Python v stadiyi rozrobki Realizaciya Go rozglyadayetsya yak en pid chas rozrobki formalnih specifikacij OpisIPFS ce rozpodilena fajlova sistema yaka pragne pidklyuchatis do vsih komp yuternih pristroyiv z vstanovlenim IPFS dlya poshuku fajliv IPFS podibnij do Veb ale IPFS mozhna rozglyadati yak yedinij BitTorrent rij de vidbuvayetsya obmin ob yektami v yedinomu Git shovishi IPFS vikoristovuye visokoproduktivnu model zberigannya iz adresaciyeyu blokiv za yihnim vmistom Cya model organizaciyi blokiv danih faktichno utvoryuye spryamovanij aciklichnij graf derevo Merkla IPFS poyednuye rozpodilenu hesh tablicyu z obminom blokami ta samopidtverdzhenim prostorom nazv IPFS ne maye yedinoyi tochki vidmovi vuzli ne povinni doviryati odin odnomu samostijno pereviryayut otrimani bloki dlya zahistu vid pidrobok pri peredachi danih Rozpodilena sistema dostavki kontentu zberigaye propusknu zdatnist ta dozvolyaye zapobigti DoS atakam na yaki urazlivij HTTP Dostup do danih nadayetsya cherez mehanizmi FUSE abo HTTP Lokalni fajli mozhut buti dodanimi v IPFS i ce zrobit yih dostupnimi na bud yakomu IPFS vuzli Fajli identifikuyutsya za svoyimi heshami IPFS maye vlasnu sluzhbu imen IPNS globalnij prostir imen pobudovanij na osnovi vidkritih klyuchiv yaki vikoristovuyutsya takozh dlya pobudovi dovirchih lancyugiv IPNS mozhe vidobrazhatis na inshi prostori imen taki yak DNS onion bitDiv takozhR2R hosting ZeroNet I2P Kademlia Freenet Dat Namecoin Coral Content Distribution Network Sistema zberezhennya danih za zmistomPrimitkiAgorise 23 zhovtnya 2017 Github com Arhiv originalu za 22 kvitnya 2020 Procitovano 25 zhovtnya 2017 Finley Kurt 20 chervnya 2016 Wired Arhiv originalu za 15 grudnya 2020 Procitovano 31 lipnya 2018 Ipfs io Arhiv originalu za 27 bereznya 2021 Procitovano 11 veresnya 2015 Github io Arhiv originalu za 11 listopada 2020 Procitovano 11 veresnya 2015 Cointelegraph com Arhiv originalu za 8 listopada 2020 Procitovano 25 zhovtnya 2017 GitHub angl Arhiv originalu za 23 bereznya 2021 Procitovano 13 lyutogo 2017 GitHub angl Arhiv originalu za 15 bereznya 2021 Procitovano 13 lyutogo 2017 GitHub angl Arhiv originalu za 24 veresnya 2018 Procitovano 13 lyutogo 2017 GitHub angl Arhiv originalu za 29 listopada 2020 Procitovano 13 lyutogo 2017 Allison Ian 13 zhovtnya 2016 Ibtimes co uk Arhiv originalu za 20 sichnya 2021 Procitovano 25 zhovtnya 2017 Ipfs io Arhiv originalu za 27 bereznya 2021 Procitovano 27 bereznya 2018 Github com Arhiv originalu za 11 listopada 2020 Procitovano 11 veresnya 2015