На GitHub опубликован код системы, которая позволит пользоваться интернетом без доменов и серверов

Три дня назад на GitHub был опубликован интересный проект — web2web. Он представляет из себя веб-страницу, которая загружает своё содержимое с помощью технологии торрентов и блокчейнов и может работать без центральных серверов и доменов.

Зачем это нужно?

По многим причинам. Идея создания одноранговой сети существует уже давно, и выглядит она довольно многообещающие:

  • Защита от взлома. Обычный веб-сайт можно взломать, получив несанкционированный доступ к серверу. В одноранговой сети нет серверов как таковых, а значит и взламывать попросту нечего.
  • Защита от атак. Работу обычного сайта можно заблокировать при помощи распределённой DOS-атаки на сервер. Провести DOS-атаку на всех членов сети, которые хранят копии страницы, невозможно.
  • Отсутствие цензуры. Самый понятный для жителей России пример — блокировки сайтов правительством. Сервера в обычном Интернете можно заблокировать по IP адресу (правда, блокировку не так трудно обойти) или по домену. При передаче данных через торренты, единственный способ блокировки — полная фильтрация всего трафика.
  • Нет проблем с ресурсами. Данные хранятся бесплатно и в неограниченном объёме.

Круто! А почему раньше никто такого не делал?

На самом деле, делали. Уже существуют такие проекты, как MaidSafe — распределённая система хранения и передачи данных, представляющая из себя децентрализованный сервер, — или ZeroNet — приложение, обеспечивающее доступ к распределённой системе сайтов, на основе BitTorrent.

Эээ… А чем тогда этот проект отличается от остальных?

Тем, что он работает прямо в вашем браузере. MaidSafe требует для работы установки клиентского приложения. ZeroNet работает из бразуера, но его тоже нужно отдельно устанавливать. Такой подход (создание приложения, требующего установки) позволяет реализовать гораздо больше возможностей, однако, в то же время, сильно поднимает входной порог для обычных пользователей. Мало кто захочет качать, а потом ещё и устанавливать что-то, ради посещения одного сайта. Web2Web решает эту проблему.

Хорошо. А можно подробнее о том, как это работает?

Система очень простая. Вы открываете html-страницу (вы можете получить её любым способом — как по URL адресу, так и от друга на флешке) любым браузером. На этой странице вы увидите сообщение с просьбой подождать несколько минут. В это время js-скрипт запросит по определённому bitcoin-адресу последнюю исходящую транзкацию, через OP_RETURN. Это скрипт будет содержать информацию для скачивания новой страницы через торрент. После скачивания эта страница заменит собой старую (с просьбой подождать).

В какой стадии находится проект?

Пока существует только proof-of-concept. Вы можете убедиться, что решение действительно работает, перейдя на демонстрационную страницу. К сожалению, наша редакция заметила, что страница не всегда показывается корректно. В том, что это всё не обман, нам всё же удалось убедиться, открыв страницу через браузер Chromium (правда, видео всё равно не работало). Мы надеемся, что автор в скором времени вернёт всё в полностью рабочее состояние.

Пётр Соковых, транслятор двоичного кода в русский язык