Випуск глобальної децентралізованої файлової системи IPFS 0.8

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

В новой версії:

  • Реалізовано можливість створення зовнішніх сервісів для закріплення даних користувачів (pinning – прив'язка даних до вузла, для гарантування збереження важливих даних). Закріплені за сервісом дані можуть мати окремі імена, відмінні від ідентифікатора вмісту (CID). Можливий пошук даних як на ім'я, так і на CID. Для обробки запитів із закріплення даних запропоновано API IPFS Pinning Service, який може використовуватися безпосередньо в go-ipfs. У командному рядку для прикріплення запропонована команда ipfs pin remote: ipfs pin remote service add mysrv https://my-service.example.com/api-endpoint myfile ipfs pin remote ls —service=mysrv —name=myfile ipfs pin remote rm —service=mysrv —name=myfile
  • Прискорено операції прив'язки (pinning) та відв'язки (unpinning) даних на локальному вузлі. Збільшення продуктивності і скорочення пам'яті особливо помітно при виконанні операцій виведення або зміни на системах з великим числом прив'язок.
  • Під час формування посилань «https://» для шлюзів додано можливість передачі імен DNSLink з використанням піддоменів. Наприклад, для завантаження імені «ipns://en.wikipedia-on-ipfs.org» окрім посилань «https://dweb.link/ipns/en.wikipedia-on-ipfs.org» тепер можна використовувати посилання « https://en-wikipedia-on-ipfs-org.ipns.dweb.link», в яких точки в початкових іменах замінюються на символ «-«, а існуючі символи «-» екрануються ще одним подібним символом.
  • Розширено підтримку протоколу QUIC. Для збільшення продуктивності надано можливість збільшення буферів для UDP.

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

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

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

Випуск глобальної децентралізованої файлової системи IPFS 0.8


Джерело: opennet.ru

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