Команда энтузиастов выпустила P2P-браузер Beaker 1.0 после двух лет разработки

43107fe3be0086e36dadb5b131745548.png


Пару лет назад стало известно, что группа энтузиастов разрабатывает P2P-браузер с поддержкой протокола Hypercore. Этот браузер получил название Beaker 1.0. Цель проекта — предоставить возможность пользователям разрабатывать и размещать свои сайты не где-то там, а «прямо в браузере». То есть можно создать локальную папку и поделиться URL-адресом, который откроет доступ сторонним пользователям к новому ресурсу.

Узлы сети в этом случае — сами пользователи браузера. Beaker базируется на JavaScript c использованием движка Chromium и платформы Electron. Распространияется Beaker под лицензией MIT. Разработчики подготовили сборки для Linux, macOS и Windows.

А что за протокол такой — Hypercore?


Это весьма удобная технология, которая комбинирует в себе еще две технологии — блокчейна и BitTorrent. Как и говорилось выше, пользователи могут загружать файлы сайта и участвовать в их раздаче. Но отличием от BitTorrent является возможность изменения файлов без создания нового адреса.

Чтобы создать собственный сайт, нужно просто подготовить код, развернуть окружение Hyperdrive и разместить на него ссылку. Доступ к ресурсу обеспечивается при помощи URL «hyper://». Как только ссылка открыта, контент загружается с системы автора — и сразу после загрузки файлов новый пользователь может стать новым узлом в системе раздачи.

Основа протокола — лог, который доступен только для добавления новых данных. Он не допускает изменений уже добавленной информации. Эти логи могут распространяться среди участников в сети в P2P-режиме. При этом каждый узел может загрузить только лишь интересующие отрывки лога и после — участвовать в их раздаче.

Целостность лога проверяется при помощи структуры «Дерево Меркла» (Merkle Tree). В этом случае каждая ветка верифицирует все ветки и узлы, которые находятся ниже. Такая верификация стала возможной благодаря хэш-функции BLAKE2b-256.

Как создавать сайты?


В браузере уже есть все необходимое. Это редактор кода и инструменты для синхронизации каталогов с содержимым сайта. А еще есть web-терминал и специализированный API для чтения и загрузки файлов. Терминал представляет собой командную оболочку для навигации по окружению Hyperdrive.

43107fe3be0086e36dadb5b131745548.png


Разработчики предусмотрели возможность связывания нескольких окружений и их слияния, создание форков и участие в раздаче окружений других пользователей.

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

1hdqmj1bvguax5hnugdz0ci_jbw.jpeg

© Habrahabr.ru