IPFS (, міжпланетна файлова система) — протокол та система розповсюдження даних за змістом, яка побудована на концепції ідентифікування даних за хешом, тобто за ІД, який розраховується й відповідно залежить, від їхнього внутрішнього значення. Це суттєво відрізняється від існуючої на поточний час системи адресації (ідентифікування об'єкта), коли об'єктові штучно надається ім'я, тобто його фактично ІД, яке взагалі не відбиває ані його внутрішню структуру (тип), ані зміст. Використовує одноранговий спосіб зберігання та обміну гіпермедіаданими в розподіленій файловій системі. IPFS започаткував Хуан Бенет (Juan Benet). На поточний час це проект із відкритим кодом, який підтримується спільнотою.
Історія
В 2014 році протокол IPFS використовував блокчейн Bitcoin та його мережевою інфраструктурою для зберігання незмінних даних, прибирання дублікатів файлів по всій мережі та отримання адресної інформації для доступу до вузлів зберігання для пошуку файлів у мережі.
На поточний час існують реалізації на Go та JavaScript, реалізація на Python в стадії розробки. Реалізація Go розглядається як під час розробки формальних специфікацій.
Опис IPFS — це розподілена файлова система, яка прагне підключатись до всіх комп'ютерних пристроїв з встановленим IPFS для пошуку файлів.
IPFS подібний до Веб, але IPFS можна розглядати як єдиний BitTorrent рій, де відбувається обмін об'єктами в єдиному Git сховищі. IPFS використовує високопродуктивну модель зберігання із адресацією блоків за їхнім вмістом. Ця модель організації блоків даних фактично утворює спрямований ациклічний граф — дерево Меркла. IPFS поєднує розподілену хеш-таблицю з обміном блоками та самопідтвердженим простором назв. IPFS не має єдиної точки відмови, вузли не повинні довіряти один одному, самостійно перевіряють отримані блоки для захисту від підробок при передачі даних. Розподілена система доставки контенту зберігає пропускну здатність та дозволяє запобігти DoS-атакам, на які уразливий HTTP.
Доступ до даних надається через механізми FUSE або HTTP. Локальні файли можуть бути доданими в IPFS і це зробить їх доступними на будь-якому IPFS-вузлі. Файли ідентифікуються за своїми хешами.
IPFS має власну службу імен IPNS, глобальний простір імен побудований на основі відкритих ключів, які використовуються також для побудови довірчих ланцюгів. IPNS може відображатись на інші простори імен, такі як DNS, .onion, .bit.
Див. також Coral Content Distribution Network Dat
Kademlia Namecoin
Р2Р хостінг ZeroNet
Система збереження даних за змістом
Примітки