Значительное обновление глобальной децентрализованной файловой системы IPFS 0.5
[
https://www.opennet.ru/opennews/art.shtml?num=52834]
Представлен новый выпуск децентрализованной файловой системы IPFS 0.5 (InterPlanetary File System), образующей глобальное версионированное хранилище файлов, развёрнутое в форме P2P-сети, образованной из систем участников. IPFS комбинирует идеи, ранее реализованные в таких системах, как Git, BitTorrent, Kademlia, SFS и Web, и напоминает единый "рой" BitTorrent (пиры, участвующие в раздаче), обменивающийся Git-объектами. Для доступа к глобальной ФС IPFS может использоваться протокол HTTP или монтироваться виртуальная ФС /ipfs при помощи модуля FUSE. Код эталонной реализации написан на языке Go и распространяется под лицензиями Apache 2.0 и MIT. Дополнительно развивается реализация протокола IPFS на JavaScript, которая может работать в браузере.
В версии IPFS 0.5 существенно повышена производительности и надёжность работы. Общедоступная сеть на базе IPFS преодолела отметку в 100 тысяч узлов и изменения в IPFS 0.5 отражают адаптацию протокола для работы в подобных условиях. Оптимизации в основном были сосредоточены на улучшении механизмов маршрутизации контента, отвечающих за поиск, анонсирование и извлечение данных, а также на повышении эффективности реализации распределённой хэш таблицы (DHT), предоставляющей информацию об узлах, имеющих искомые данные. Связанный с DHT код был практически полностью переписан, что значительно ускорило операции поиска контента и определения записей IPNS.
В частности, скорость выполнения операций добавления данных увеличилась в 2 раза, анонсирования в сеть нового контента в 2.5 раз, извлечения данных от 2 до 5 раз, а поиска контента от 2 до 6 раз. Переработанные механизмы маршрутизации и отправки анонсов позволили ускорить работу сети в 2-3 раза за счёт более эффективного использования пропускной способности и фоновой передачи трафика. В следующем выпуске намечено внедрение транспорта на базе протокола QUIC, что позволит добиться ещё большего прироста производительности за счёт сокращения задержек.
Ускорена работа и повышена надёжность системы IPNS (Inter-Planetary Name System), применяемой для создания постоянных ссылок на меняющийся контент. Новый экспериментальный транспорт pubsub дал возможность ускорить доставку записей IPNS в 30-40 раз при тестировании в сети с тысячей узлов (для экспериментов разработан специальный симулятор P2P-сети). Примерно в два раза увеличена производительность прослойки Badger, применяемой для взаимодействия с ФС операционной системы. Благодаря поддержке операций асинхронной записи Badger теперь работает в 25 раз быстрее старой прослойки flatfs. Повышение производительности также затронуло механизм Bitswap, применяемый для передачи файлов между узлами.
#IPFS@dcntr