#^Представлен браузер Beaker 1.0 с P2P-платформой для децентрализованных сайтовПосле двух лет разработки состоялся первый значительный релиз экспериментального web-браузера Beaker 1.0, примечательного встроенной поддержкой протокола P2P-коммуникаций Hypercore. При помощи данного протокола формируется децентрализованная сеть доставки контента, узлами которой становятся пользователи браузера. Подобная сеть даёт возможность размещать web-приложения, для которых не требуется серверов. Код проекта написан на JavaScript с использованием движка Chromium и платформы Electron, и распространяется под лицензией MIT. Сборки подготовлены для Linux, macOS и Windows.
Протокол Hypercore комбинирует технологии блокчейна и BitTorrent. Как и при использовании BitTorrent посетители загружают файлы сайта и начинают участвовать в их раздаче. Основным отличием Hypercore является возможность изменения файлов без создания нового URL. Для создания своего сайта достаточно подготовить необходимый HTML/JavaScript-код, создать окружение Hyperdrive и разместить ссылку на это окружение, доступ к которому осуществляется с использованием URL "hyper://". При открытии данной ссылки контент будет загружен непосредственно с системы автора, после чего загрузивший сможет участвовать в её раздаче другим пользователям.
Основу протокола Hypercore составляет лог, доступный только для добавления новых данных и не допускающий изменения уже добавленной информации. Подобные логи могут быстро распространяться среди участников сети в режиме P2P, при том, что каждый узел может загрузить лишь интересующие отрывки лога и начать участвовать в их раздаче. Целостность лога проверяется при помощи структуры "Дерево Меркла" (Merkle Tree), в которой каждая ветка верифицирует все нижележащие ветки и узлы, благодаря совместному (древовидному) хешированию при помощи хэш-функции BLAKE2b-256. Имея конечный хэш пользователь может удостовериться в корректности всей истории операций, а также в корректности прошлых состояний БД.
Для создания сайтов в браузер встроены редактор кода, инструменты для синхронизации каталогов с содержимым сайта, web-терминал (командная оболочка для навигации по окружению Hyperdrive) и специальный API для чтения и загрузки файлов. Поддерживается связывание нескольких окружений Hyperdrive, слияние окружений, создание форков, участие в раздаче окружений других пользователей.
Кроме создания децентрализованных сайтов отмечаются такие области применения Beaker, как приватный обмен данными (доступ к ресурсу может получить только знающий ссылку, оформленную в виде хэша), организация обучения web-программированию (в процессе обучения можно ограничиться одним браузером без серверных систем и дополнительных инструментов), упрощение взаимодействия в командах web-разработчиков и тестирование прототипов сайтов (можно создать форк сайта, внести изменение и поделится результатом).
#
browser #
decentralize #
chroimium #
electron #
bittorrent #
blockchain