28.07.2021

Представлен браузер 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-разработчиков и тестирование прототипов сайтов (можно создать форк сайта, внести изменение и поделится результатом).

Источник: https://www.opennet.ru/opennews/art.shtml?num=54195

Добавить комментарий