Значне оновлення глобальної децентралізованої файлової системи IPFS 0.5

представлений новий випуск децентралізованої файлової системи IPFS 0.5 (InterPlanetary File System), що створює глобальне версіоноване сховище файлів, розгорнуте у формі P2P-мережі, утвореної із систем учасників. IPFS комбінує ідеї, раніше реалізовані в таких системах, як Git, BitTorrent, Kademlia, SFS і Web, і нагадує єдиний «рій» BitTorrent (бенкети, що беруть участь у роздачі), що обмінюється Git-об'єктами. Для доступу до глобальної FS IPFS може використовуватися протокол HTTP або монтуватися віртуальна FS /ipfs за допомогою модуля FUSE. Код еталонної реалізації написаний мовою Go та поширюється під ліцензіями Apache 2.0 та MIT. Додатково розвивається реалізація протоколу IPFS на JavaScript, яка може працювати у браузері.

Ключовий особливістю IPFS є адресація за вмістом, коли посилання для доступу до файлу безпосередньо пов'язане з його вмістом (включає криптографічний хеш вмісту). IPFS має вбудовану підтримку версіонування. Адреса файлу неможливо довільно перейменувати, вона може змінитися лише після зміни вмісту. Аналогічно неможливо змінити файл без зміни адреси (старий варіант залишиться на колишній адресі, а новий буде доступний через іншу адресу, оскільки хеш від вмісту файлу зміниться). Враховуючи те, що ідентифікатор файлу змінюється при кожній зміні, щоб щоразу не передавати нові посилання, надаються сервіси для прив'язки постійних адрес, що враховують різні версії файлу (IPNS), або закріплення псевдоніму за аналогією з традиційними ФС та DNS (МФС (Mutable File System) та DNSLink).

За аналогією з BitTorrent, дані безпосередньо зберігаються на системах учасників, які обмінюються інформацією в режимі P2P, без прив'язки до централізованих вузлів. При необхідності отримати файл з певним вмістом система знаходить учасників, які мають цей файл і віддає його з їх систем частинами в кілька потоків. Після завантаження файлу на свою систему учасник автоматично стає однією з точок його роздачі. Для визначення учасників мережі на вузлах яких присутній цікавий контент використовується розподілена хеш таблиця (DHT).

Значне оновлення глобальної децентралізованої файлової системи IPFS 0.5

По суті, IPFS можна розглядати як розподілену реінкарнацію Web з адресацією за вмістом, а не місцем розміщення та довільними іменами. Крім зберігання файлів та обміну даними IPFS може використовуватися як основа для створення нових сервісів, наприклад для організації роботи сайтів, не прив'язаних до серверів, або для створення розподілених додатків.

IPFS допомагає вирішити такі завдання як надійність зберігання (якщо вихідне сховище буде виведено з ладу, файл можна завантажити з систем інших користувачів), протистояння цензуруванню контенту (для блокування потрібно заблокувати всі системи користувачів, на яких є копія даних) та організація доступу за відсутності прямого з'єднання з Інтернетом або за поганої якості каналу зв'язку (можна завантажити дані через найближчих учасників у локальній мережі).

У версії IPFS 0.5 суттєво підвищена продуктивність та надійність роботи. Загальнодоступна мережа на базі IPFS подолала позначку 100 тисяч вузлів і зміни в IPFS 0.5 відображають адаптацію протоколу для роботи в подібних умовах. Оптимізації в основному були зосереджені на покращенні механізмів маршрутизації контенту, які відповідають за пошук, анонсування та вилучення даних, а також на підвищення ефективності реалізації розподіленої хеш таблиці (DHT), що надає інформацію про вузли, що мають дані, що шукаються. Пов'язаний з DHT код практично повністю переписаний, що значно прискорило операції пошуку контенту та визначення записів IPNS.

Зокрема, швидкість виконання операцій додавання даних збільшилася вдвічі, анонсування в мережу нового контенту в 2 разів,
отримання даних від 2 до 5 разів, а пошуку контенту від 2 до 6 разів.
Перероблені механізми маршрутизації та відправлення анонсів дозволили прискорити роботу мережі в 2-3 рази за рахунок більш ефективного використання пропускної спроможності та фонової передачі трафіку. У наступному випуску намічено використання транспорту на базі протоколу QUIC, що дозволить досягти ще більшого приросту продуктивності за рахунок скорочення затримок.

Прискорено роботу та підвищено надійність системи IPNS (Inter-Planetary Name System), що застосовується для створення постійних посилань на контент, що змінюється. Новий експериментальний транспорт pubsub дав можливість прискорити доставку записів IPNS в 30-40 разів при тестуванні в мережі з тисячею вузлів (для експериментів розроблено спеціальний симулятор P2P-мережі). Приблизно вдвічі збільшено продуктивність прошарку
Badger, що застосовується для взаємодії з ФС операційної системи. Завдяки підтримці операцій асинхронного запису Badger тепер працює в 25 разів швидше за старий прошарок flatfs. Підвищення продуктивності також торкнулося механізму Bitswapдля передачі файлів між вузлами.

Значне оновлення глобальної децентралізованої файлової системи IPFS 0.5

З функціональних покращень згадується задіяння TLS для шифрування з'єднань між клієнтами та серверами. З'явилася підтримка піддоменів у HTTP-шлюзі – розробники можуть розміщувати децентралізовані додатки (dapps) та web-контент в ізольованих піддоменах, які можна використовувати з хеш-адресами, IPNS, DNSLink, ENS тощо. Додано новий простір імен /p2p, у якому винесені дані, пов'язані з адресами бенкетів (/ipfs/peer_id → /p2p/peer_id). Додано підтримку посилань «.eth» на базі блокчейна, що розширить застосування IPFS в розподілених додатках.

Підтримуючий розробку IPFS стартап Protocol Labs також паралельно розвиває проект FileCoin, який є надбудовою над IPFS. Якщо IPFS дозволяє учасникам зберігати, вимагати та передавати дані між собою, то Filecoin розвивається як заснована на технологіях блокчейна платформа для постійного зберігання. Filecoin дає можливість користувачам, у яких є дисковий простір, що не використовується, за певну винагороду надати його мережі, а користувачам, яким потрібне місце для зберігання, купити його. Якщо потреба у місці зникла, користувач може продати його. Таким чином, формується ринок місця в сховищі, розрахунки в якому виробляються в токенах. filecoin, що утворюються за допомогою майнінгу

Джерело: opennet.ru

Додати коментар або відгук