image

Создатели распределённого протокола для хостинга произвольного содержимого IPFS объединились с хостингом сайтов Neocities для продвижения своей идеи распределённого интернета. Теперь странички на Neocities доступны и всем людям, тестирующим новый протокол.

IPFS – это распределённая файловая система (создатели назвали её «Interplanetary File System», «межпланетная (но по сути, конечно, всепланетная) файловая система»), которая, по замыслу разработчиков, должна заменить текущий протокол HTTP для доступа к вебу. По описанию создателей, это можно сравнить с группой пользователей, разделяющих между собой один и тот же torrent, содержимое которого представляет собой проект на github.

Разработчики всячески подчёркивают фундаментальные (а иногда и фатальные) недостатки HTTP-протокола, которые, по их мнению, нельзя исправить путём его постепенного улучшения. Интернет развивался, как сеть серверов, предоставляющих контент. Но известно, что если сервер выходит из строя, то контент становится недоступен. Ситуацию поменяли распределённые сети, в которых файлы хранятся у самих же пользователей, а другие пользователи в поисках нужного файла скачивают его по кусочкам из разных мест.

По замыслу разработчиков IPFS, новая система должна стать более надёжной, менее затратной в использовании, а главное – не должна быть подвержена атакам со стороны правительств и корпораций.

Сеть IPFS оперирует криптографическими хэшами – по хэшу находится соответствующий ему контент, хранящийся у кого-либо из пользователей сети. При этом каждому пользователю не нужно хранить всё содержимое – он сам выбирает, при помощи механизма, напоминающего закладки в браузере, какой именно контент он хочет сохранить.

Идея распределённого интернета не нова – я уже писал про подобные проекты, стремящиеся увеличить надёжность и отказоустойчивость веба. Один сделали сами создатели протокола bittorrent – это peer-2-peer браузер Project Maelstrom. Второй – находящийся в стадии альфа проект Ephemeral, который больше напоминает реализацию концепции. В нём созданные страницы существуют до тех пор, пока они открыты в браузере хотя бы одного человека.

У IPFS есть существенное и критичное отличие от упомянутых проектов – возможность изменения страниц. Система IPNS позволяет использовать криптоключи для подписи ссылки на IPFS-хэш, представляющий самую свежую версию сайта. Хэш, указывающий на сайт, остаётся одним и тем же, а содержимое можно менять.

Кроме этого, создатели предусмотрели использование и человеко-читаемых адресов вместо хэшей, используя существующую систему DNS. Для этого через nameserver соответствующая TXT-запись. В планах – также использовать распределённую и децентрализованную систему имён Namecoin, чтобы полностью отвязаться от каких бы то ни было контролируемых систем.

Все желающие могут подключиться к тестированию и поддержке системы. Она написана на языке Go, исходники её лежат на github. Есть скомпилированные версии для Mac Os, Linux и Windows.

Neocities (приставка neo- вместе с отсылкой к одному из первых веб-хостингов GeoCities) – бесплатный хостинг. Авторам страничек предоставляется дисковое пространство без возможности запуска серверных скриптов. Весной 2015 создатели сообщали, что на сайте хостятся около 43500 проектов.

Комментарии (6)


  1. NeoCode
    09.09.2015 21:35

    Интересно было бы сравнить с I2P.


    1. GamePad64
      09.09.2015 22:52
      +2

      Это — протокол передачи файлов, функционально напоминающий FTP, но распределённый. Динамические сайты на нём сделать нельзя, всё содержимое хранится на клиентах.
      Динамику можно попробовать сделать client-side, с распределённой базой данных через, например, WebRTC, но это крайне сложно, ненадёжно, да и не нужно, на самом деле.

      А I2P — протокол маршрутизации сети и передачи данных, функционально напоминающий связку TCP и UDP и предназначенный для установления шифрованного соединения между двумя компьютерами. Вот поверх I2P можно запустить HTTP, FTP и всё остальное.

      Это совершенно разные протоколы, работающие на разных уровнях, и предназначенные для разных вещей.


      1. IRainman
        10.09.2015 19:54

        Динамику не обязательно делать совсем распределённой сразу. Самой главной проблемой сейчас является как раз толстый статический контент. Динамику можно пока спокойно пускать через кэширующие системы. От единой точки отказа это не избавляет, но значительно снижает к ней требования, да и к кэширующим сервисам тоже, что уже большой шаг вперёд.


  1. Vinchi
    10.09.2015 16:45
    +1

    1. Foror
      10.09.2015 16:56

      -


    1. ValdikSS
      19.09.2015 16:53

      Retroshare это такой eDokney / DC++ улучшенный, и f2f, разве нет? Там же, вроде, нет распределенности.
      А вот в Perfect Dark есть, но он не open-source.