Neocities стал первым крупным сайтом, использующим распределённый веб IPFS
Создатели распределённого протокола для хостинга произвольного содержимого 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 проектов.