В рамках проекта ZeroNet (https://zeronet.io/) развивает децентрализованная web-платформа, которая предлагает использовать механизмы шифрования Bitcoin и технологии BitTorrent для создания сайтов, которые невозможно подвергнуть цензуре или заблокировать. Содержимое сайтов хранится в P2P-сети на машинах посетителей, а для адресации используются система альтернативных корневых DNS-серверов Namecoin (https://ru.wikipedia.org/wiki/Namecoin). Проект написан на языке Python и распространяется (https://github.com/HelloZeroNet/ZeroNet) под лицензией GPLv2.
Размещаемые на сайте данные зашифрованы и привязаны к одному аккаунту владельца сайта, работа которого организована по аналогии с привязкой кошельков Bitcoin, что также даёт возможность контролировать актуальность информации и обновлять контент в режиме реального времени. Для скрытия IP-адресов может использоваться анонимная сеть Tor, поддержка которой встроена в ZeroNet. После открытия сайта, просмотренные страницы оседают в кэше на локальной машине и становятся доступны для раздачи по аналогии с раздачей файлов, загруженных через BitTorrent.
Для просмотра сайтов ZeroNet достаточно запустить скрипт zeronet.py, после чего в браузере можно открывать сайты через URL "http://127.0.0.1:43110/адрес_zeronet" (например, "http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NMH3PMwF3qbebTf1D&qu.... При открытии сайта программа находит ближайших peer-ов, используя сеть BitTorrent, и загружает связанные с запрошенной страницей файлы (html, css, картинки и т.п.). После загрузки данные файлы становятся доступны для раздачи с текущей машины, т.е. пользователь начинает участвовать в раздаче всех сайтов к которым обращался.
Для создания своего сайта достаточно запустить команду "zeronet.py siteCreate" после чего будет сгенерирован идентификатор сайта и закрытый ключ для подтверждения авторства по цифровой подписи. Для созданного сайта будет сформирована пустая директория вида "data/1HeLLo4uzjaLetFx6NMH3PMwF3qbebTf1D". После изменения содержимого данной директории, требуется заверение новой версии при помощи команды "zeronet.py siteSign идентификатор_сайта" и введения закрытого ключа. Как только новое содержимое будет заверено, требуется анонсировать их командой "zeronet.py sitePublish идентификатор_сайта", чтобы изменённый вариант стал доступен peer-ам и посетителям. По цепочке peer-ы проверят целостность новой версии по цифровой подписи, загрузят новое содержимое и передадут другим peer-ам.
Основные возможности:
- Отсутствие единой точки отказа - сайт остаётся доступен, если в раздаче имеется хотя бы один peer;
- Отсутствие эталонного хранилища сайта - сайт невозможно закрыть отключив хостинг, так как данные размещены на всех машинах посетителей;
- Так как информация имеется в кэше, то она доступна с текущей машины для просмотра в offline, без выхода в Сеть.
- Поддержка обновления содержимого в режиме реального времени;
- Возможность адресации через домен первого уровня ".bit";
- Работа из коробки - достаточно распаковать архив с ПО и запустить один скрипт, без предварительной настройки;
- Возможность клонирования сайтов в один клик;
- Беспарольная авторизация на основе BIP32 (https://en.bitcoin.it/wiki/BIP_0032): учётная запись защищена тем же методом шифрования, что и криптовалюта Bitcoin;
- Встроенный SQL-сервер с функциями P2P-синхронизации данных;
- Полная поддержка использования скрытых сервисов Tor (.onion) вместо IPv4-адресов;
- Поддержка TLS-шифрования;
- Автоматическая доступность через uPnP;
- Наличие плагина для создания многопользовательских конфигураций (openproxy);
- Работа в любых браузерах и операционных системах;
- Текущие ограничения: отсутствие поддержки разбиения больших файлов на части, отсутствие встроенных средств сжатия данных, нет поддержки приватных сайтов.
URL: https://torrentfreak.com/play-p2p-impossible-shutdown-160301/
Новость: http://www.opennet.me/opennews/art.shtml?num=43975