Beaker, P2P-браузер для децентрализованных сайтов

После двух лет разработки анонсирован первый выпуск значительный экспериментальный веб-браузер «Стакан 1.0»что выделяется своей интегрированной поддержкой для протокола коммуникаций Hypercore P2P.

С помощью этого протокола сформирована децентрализованная сеть доставки контента, узлы которого являются пользователями браузера. Указанная сеть позволяет размещать веб-приложения, которым не требуются серверы.

Код проекта написан на JavaScript с использованием движка Chromium и платформы Electron и распространяется по лицензии MIT.

Протокол Hypercore сочетает в себе технологии блокчейн и BitTorrent. Как и в случае с BitTorrent, посетители скачивают файлы с сайта и начинают участвовать в его распространении.

Основное отличие Hypercore - это возможность изменять файлы без создания нового URL.

Чтобы создать свой сайт, вам просто нужно подготовить необходимый код HTML / JavaScript, создайте среду Hyperdrive и разместите ссылку на эту среду, доступ к которой осуществляется через URL-адрес "hyper: //".

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

Протокол Hypercore полагается на запись, которая доступна только для добавления новых данных и не позволяет изменять уже добавленную информацию.

Такие записи могут быть быстро распределены между участниками сети в режиме P2P, при этом каждый узел может загрузить только интересующие фрагменты в записи и начать участвовать в их распространении.

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

Имея финальный хеш, пользователь может проверить правильность всей истории операций, а также правильность прошлых состояний базы данных.

Для создания сайтов, в браузере есть встроенный редактор кода, инструменты для синхронизации каталогов с содержимым сайта, веб-терминал (командная консоль для навигации в среде Hyperdrive) и специальный API для чтения и загрузки файлов.

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

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

Как установить Beaker 1.0 в Linux?

Тем, кто заинтересован в возможности установить этот веб-браузер в своем дистрибутиве, следует знать, что пакет для Linux в настоящее время создается в формате AppImage или собирается из исходного кода.

В первом из двух случаев мы должны загрузить любой из текущих пакетов. Делаем это по следующей ссылке.

В случае с Appimage вроде Например, я сейчас возьму последнюю версию 1.0, она загружена с помощью:

wget https://github.com/beakerbrowser/beaker/releases/download/1.0.0/Beaker.Browser-1.0.0.AppImage

Мы даем разрешения на выполнение с помощью:

sudo chmod +x Beaker.Browser-1.0.0.AppImage

И выполняем двойным щелчком по файлу или из терминала с помощью:

./Beaker.Browser-1.0.0.AppImage

Теперь для тех, кто заинтересован в создании браузера из исходного кода, они должны иметь ibtool, m4, autoconf и automake.

Чтобы установить эти инструменты, например, на Debian, Ubuntu и любые их производные:

sudo apt-get install libtool m4 make g ++ autoconf

В случае Fedora и производных:

sudo dnf install libtool m4 make gcc-c ++ libXScrnSaver

И, наконец, чтобы скомпилировать браузер, просто введите следующие команды:

git clone https://github.com/beakerbrowser/beaker.git
cd beaker / scripts
npm install
npm run rebuild
npm start

Если вы хотите узнать об этом больше, вы можете проверьте следующую ссылку.