PDA

Просмотр полной версии : Представлен браузер Beaker 1.0 с P2P-платформой для децентрализованных сайтов


Suicide
04.12.2020, 20:56
После двух лет разработки состоялся (https://beakerbrowser.com/2020/12/02/beaker-1-0.html) первый значительный релиз экспериментального web-браузера Beaker 1.0 (https://beakerbrowser.com/), примечательного встроенной поддержкой протокола P2P-коммуникаций Hypercore (https://hypercore-protocol.org/). При помощи данного протокола формируется децентрализованная сеть доставки контента, узлами которой становятся пользователи браузера. Подобная сеть даёт возможность размещать web-приложения, для которых не требуется серверов. Код проекта написан на JavaScript с использованием движка Chromium и платформы Electron, и распространяется под лицензией MIT. Сборки подготовлены (https://beakerbrowser.com/install/) для Linux, macOS и Windows.

Протокол Hypercore (https://github.com/hypercore-protocol/hypercore) комбинирует технологии блокчейна и BitTorrent. Как и при использовании BitTorrent посетители загружают файлы сайта и начинают участвовать в их раздаче. Основным отличием Hypercore является возможность изменения файлов без создания нового URL. Для создания своего сайта достаточно подготовить необходимый HTML/JavaScript-код, создать (https://docs.beakerbrowser.com/beginner/creating-new-hyperdrives) окружение Hyperdrive и разместить ссылку (https://docs.beakerbrowser.com/beginner/sharing-hyperdrives) на это окружение, доступ к которому осуществляется с использованием URL "hyper://". При открытии данной ссылки контент будет загружен непосредственно с системы автора, после чего загрузивший сможет участвовать в её раздаче другим пользователям.

https://www.opennet.ru/opennews/pics_base/0_1607077951.png (https://beakerbrowser.com/img/posts/beaker-1-0/new-hyperdrive.png)https://www.opennet.ru/opennews/pics_base/0_1607078033.png (https://beakerbrowser.com/img/posts/beaker-1-0/fresh-hyperdrive.png)

Основу протокола Hypercore составляет лог, доступный только для добавления новых данных и не допускающий изменения уже добавленной информации. Подобные логи могут быстро распространяться среди участников сети в режиме P2P, при том, что каждый узел может загрузить лишь интересующие отрывки лога и начать участвовать в их раздаче. Целостность лога проверяется при помощи структуры "Дерево Меркла (https://ru.wikipedia.org/wiki/TTH)" (Merkle Tree), в которой каждая ветка верифицирует все нижележащие ветки и узлы, благодаря совместному (древовидному) хешированию при помощи хэш-функции BLAKE2b-256. Имея конечный хэш пользователь может удостовериться в корректности всей истории операций, а также в корректности прошлых состояний БД.

Для создания сайтов в браузер встроены редактор кода (https://docs.beakerbrowser.com/beginner/using-the-editor/), инструменты (https://docs.beakerbrowser.com/intermediate/syncing-with-folders) для синхронизации каталогов с содержимым сайта, web-терминал (https://docs.beakerbrowser.com/advanced/webterm) (командная оболочка для навигации по окружению Hyperdrive) и специальный API (https://docs.beakerbrowser.com/apis/beaker.hyperdrive) для чтения и загрузки файлов. Поддерживается связывание нескольких окружений Hyperdrive, слияние окружений, создание форков, участие в раздаче окружений других пользователей.

Кроме создания децентрализованных сайтов отмечаются такие области применения Beaker, как приватный обмен данными (доступ к ресурсу может получить только знающий ссылку, оформленную в виде хэша), организация обучения web-программированию (в процессе обучения можно ограничиться одним браузером без серверных систем и дополнительных инструментов), упрощение взаимодействия в командах web-разработчиков и тестирование прототипов сайтов (можно создать форк сайта, внести изменение и поделится результатом).

04.12.2020

https://www.opennet.ru/opennews/art.shtml?num=54195​