Представьте, что вы заходите на какой-то популярный сайт и обнаруживаете, что грузится он невероятно медленно. Если падение скорости никак не связано с работой провайдера, это может указывать на проблемы с самим ресурсом, например, скорость доступа к нему упала вследствие большого наплыва пользователей или преднамеренной DDoS-атаки. А еще сайт может быть заблокирован или оказаться недоступным из-за неполадок на сервере. А теперь давайте предположим, что сайт лежит не на одном конкретном сервере, а на множестве узлов, а доступ к нему осуществляется примерно таким же образом, как к файлам на торрент-трекере. Поскольку такой сайт децентрализован, «положить» его будет значительно труднее, а уж взять и закрыть просто нереально, поскольку тогда пришлось бы физически удалить его со всех компьютеров. И это вовсе не фантастика, мы уже стоим на пороге качественно новой модели интернета, в которой значительная часть контента будет распределена между сотнями миллионов компьютеров, являющихся одновременно и клиентами, и серверами. Наиболее ярким примером такой модели может послужить IPFS — распределенный гипермедиа-протокол и одновременно универсальная файловая система с контентной адресацией, которая, по замыслу ее автора Хуана Бенета, должна заменить традиционную модель хранения контента в Глобальной сети и способ обмена им между пользователями. Как работает IPFS Если с чем и можно сравнить межпланетную файловую систему, а именно так расшифровывается аббревиатура IPFS (InterPlanetary File System), то это с торрентом. И действительно, IPFS работает по тому же принципу, что и любая технология P2P. А еще ее можно сравнить с биткоином, поскольку для доступа к данным IPFS используются привязанные к ним уникальные криптографические хеши-идентификаторы. Исходить следует из того, что все файлы, включая страницы сайтов, изначально хранятся на компьютерах пользователей и децентрализованных серверах. Когда вы добавляете в IPFS новый файл, он разбивается на блоки, каждому из таких блоков и целому файлу в отдельности присваиваются уникальные идентификаторы, являющиеся по сути их криптографическими хэшами. Эти же хэши одновременно являются ссылками, которыми вы можете делиться с другими участниками сети. Получив ссылку с ID, пользователи получают доступ и к контенту, в свою очередь они могут поделиться ссылкой с другими людьми и так далее по разветвляющейся цепочке. Помимо фактических данных, каждый узел хранит часть индекса, который позволяет другим пользователям сети найти запрашиваемый файл. Когда вы запрашиваете контент, специальное программное обеспечение отправляет запрос в распределенную индексную базу хэшей и формирует список компьютеров, на которых хранятся данные с соответствующим идентификатором. После чего ваш ПК подключается к ближайшим из них, скачивает фрагменты файлов и собирает их воедино. Преимущества IPNS • Децентрализация, отсутствие цензуры в интернете. • Персистентность ссылок, являющихся по сути уникальными хэшами файлов. • Подлинность файлов подтверждается их контрольными суммами. • Успешное противодействие DDoS-атакам и региональным блокировкам. • Более высокая скорость доступа к данным, чем при использование традиционного протокола HTTP. • В перспективе создание «локального» интернета, в котором обычный компьютер может служить провайдером. • Разработка веб-приложений, использующих вычислительные мощности миллионов компьютеров. Как опробовать IPNS Несмотря на то, что значительная часть функционала сети находится в ранней стадии разработки, опробовать IPNS вы можете уже сейчас. Для этого вам нужно скачать и установить со страницы проекта https://github.com/ipfs-shipyard/ipfs-desktop/releases приложение-клиент. Графический интерфейс приложения представлен пятью разделами: • Status — содержит идентификатор и локальный адрес пользователя, API, публичный ключ и данные об активности сети. • Files — содержит список файлов и папок, к которым вы открыли доступ в децентрализованной сети, а также файлы, к которым вы получили доступ по ссылкам-хэшам. В контекстном меню каждого объекта вам будут доступны опции для удаления, переименования, скачивания и получения хэша объекта, которым вы вольны делиться с другими пользователями. В верхней части окна имеется поле для ввода запросов, но похоже на то, что вставлять в него пока что можно только IPNS-хэши, никаких намеков на возможность использования «человекопонятных» запросов нами обнаружено не было. • Explore — содержит сведения о проектах, здесь же отображаются данные инспектирования линков-хэшей — контрольные суммы, списки файлов в каталогах, типы данных, размер и т.п. • Пиры — раздел содержит список пиров с указанием их ID, типом соединения, скорости установки соединения и примечаниями. • Settings — раздел настроек. Дополнительно разработчик предлагает расширения для браузеров Chrome и Firefox, благодаря им вы сможете скачивать файлы по IPNS-ссылкам без десктопного клиента.