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

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

У новій версії здійснено відключення за замовчуванням транспорту SECIO, на зміну якому у минулому випуску було запропоновано транспорт ШУМУ, заснований на протоколі шум та розвивається в рамках модульного мережевого стека для P2P-додатків libp2p. Як запасний транспорт залишено TLSv1.3. Адміністраторам вузлів, які використовують старі версії IPFS (Go IPFS < 0.5 або JS IPFS < 0.47) рекомендується оновити програмне забезпечення, щоб уникнути зниження продуктивності.

У новій версії також здійснено перехід на використання за промовчанням ключів ed25519 замість RSA. Підтримка старих RSA-ключів збережена, але нові ключі тепер генеруватимуться з використанням алгоритму ed25519. Застосування вбудованих відкритих ключів ed25519 вирішує проблему зі зберіганням відкритих ключів, наприклад, для верифікації підписаних даних при використанні ed25519 достатньо інформації про PeerId. Імена ключа в IPNS-шляхах тепер кодуються з використанням алгоритму base36 CIDv1 замість base58btc.

Крім зміни типу ключів за замовчуванням IPFS 0.7 додана можливість ротації ідентифікаційних ключів. Для зміни ключа вузла тепер можна виконати команду ipfs key rotate. Крім того, додані нові команди для імпорту та експорту ключів («ipfs key import» та «ipfs key export»), які можна застосовувати з метою резервного копіювання, а також команда «ipfs dag stat» для виведення статистики про DAG (Distributed Acyclic Graphs) ).

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

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

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

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

Джерело: opennet.ru

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