Пару лет назад стало известно, что группа энтузиастов разрабатывает 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.
Разработчики предусмотрели возможность связывания нескольких окружений и их слияния, создание форков и участие в раздаче окружений других пользователей.
Кроме создания независимых от хостинга сайтов, браузер используется также для приватного обмена данным, обучения веб-программированию, тестированию прототипов сайтов и упрощения взаимодействия в командах web-разработчиков.
mickvav
А бэкенд?
vmkazakoff
По ходу только статика, но может я не вкурил по описанию. Что на самом деле не так плохо — сайты модно нынче делать "серверлесс" (что, понятно, нифига на самом деле не значит что сервера нет).
Хотя я лично ценности не вижу вот совсем: что-то мелкое и без бэка — закинуть на Гитхаб и будет сразу у всех работать. Что-то большое, что просто так не влезет на бесплатный хостинг/файлообменник — тогда уж сразу торрент и не париться.
Alexey2005
vmkazakoff
Если что-то очень сильно задевает чьи-то интересы, то хостить это со своего компа — ещё менее разумное решение.
karabas_b
Если то, что человек хостит, прямо запрещено уголовным кодексом, то за задницу возьмут в любом случае, так что тут никаких дополнительных рисков нет. А в остальном — репозиторий на гитхабе закрывается по щелчку пальцев, а отрубить от интернета физическое лицо практически нереально. По крайней мере мне прецеденты неизвестны.
ghrb
А откуда вы знаете что именно вы начнёте хостить через 5 минут? Соли, спайсы, запрещённая порнография, агитки ISIS?
Vort123
В случае с Beaker пользователь сам решает, какому сайту он будет помогать с хостингом. Если владельцу сайта доверия нет, значит не стоит поддерживать его раздачу.
ghrb
Спасибо, не по глазам было. В статье не вижу ответа: а есть ли возможность ревью обновления сайта делает? А то кто-нибудь зарабатывает полгода доверие, а потом кааак обновляется.
Vort123
Задал вопрос авторам.
vmkazakoff
Ммм… Как акк на гитхабе/файлопомойке/облаке/чтотамеще свяжут со мной? (само собой не берём в расчет идиотский путь, когда я регаюсь на почту подтвержденную мобильником или оплачиваю картой — понятно что тогда не надо выкладывать ничего незаконного).
Нет, взять за задницу, если юзер не совсем идиот, не так просто — если бы это было не так, интернет был бы знатно чище.
А вот выкладывать что-то незаконное когда инфа об этом в явном виде пишется в глобальный лог и там чуть ли не ваш прямой ip указан — так даже наши полицаи смогут вас быстро найти.
Далее: когда я выложил что-то на гите я могу удалить это на компе. И если даже ко мне приехали маскишоу — они ничего не нашли и им ещё предстоит доказать что тот аккаунт связан со мной. А вот с самохостингом — они даже будут знать в каких папках на диске искать )
А на самом деле просто не надо делать ничего незаконного и тогда любая технология будут в радость ;)
ghrb
(с) Уголовный розыск.
gene4000
Чуть менее, чем всё теперь является незаконным.
Vort123
И то, что законно сегодня, может стать незаконным завтра. Уследить же за законами всех стран, которые имеют хоть какое-то влияние на хостинг, непросто. Как раз поэтому нужны инструменты, позволяющие пользователю самостоятельно решать, какой уровень законности его устраивает.
dartraiden
Для того, чтобы хостить то, что нельзя хостить на гитхабе, есть hidden onion service. Удачи неприятелю в попытке вычислить реальный адрес вашего сервера, где поднят скрытый сервис, и отключить его.
В худшем случае (если вы капитально облажаетесь с настройками) — вычислят, но оплачивать хостинг можно и анонимно (многие хостеры принимают крипту, например). И даже такой сценарий (потерял сервер, но не раскрыл свою личность) намного лучше, чем раздавать контент со своего домашнего IP-адреса, фактически сигналя «Гендальф здесь!».
dartraiden
Всё то непротивозаконное, за что репозиторий на гитхабе могут закрыть по щелчку пальцев, точно так же не стоит хостить со своего домашнего адреса, как и противозаконное. Потому что люди бывают всякие и могут захотеть отрезать вам голову за незапрещённую законом карикатуру на их божество, например. Или зелёнкой облить.
Облегчать им задачу, засвечивая свой IP-адрес… а зачем?
MAXHO_MACTEP
а почему, собственно?
разве p2p предназначен для раздачи моего айпишника?
и даркнет всем раздаёт?
или это какой-то другой p2p
vmkazakoff
Ну я залез таки в доки (хотя не хотел) и нашел там что все построено на DHT (собственно как и торренты). Узнать ip не проблема. Причем общее хранилище тут только распределенных логов со списком пиров. Сайт хотите именно лично вы. И точный адрес вашего сайта будет известен. Другая фигня что никому кроме провайдера и тов.майора это ничего не скажет (мы ж не верим в "я тебя по ip найду")...
MAXHO_MACTEP
ответьте, плз — и даркнет всем раздаёт айпишники?
vmkazakoff
Вы про onion сайты и tor в целом? Насколько я знаю там суть совершенно в другом — трафик очень сильно и многослойно замешивается, так что никто не знает что, откуда, кому и куда передается. И там совершенно не p2p. Вот от слова совсем. Смысл даркнета именно в такой анонимности. По сути вы делаете запрос к ближайшей к вам ноде, а она дальше "куда-то", но куда — знает только она. И таких нод по пути много. Хотя, насколько я слышал, и тут есть способы узнать финальный адрес, но заметно более сложный. Явно сложнее чем светить своим адресом в явном виде.
MAXHO_MACTEP
я понял, что вы не знаете p2p от слова совсем, извините за беспокойство
vmkazakoff
No, Tor is not inherently a peer-to-peer network. Tor is network of virtual tunnels an is therefore more like a virtual private network (VPN), but differs from the usual VPN in that the the tunnels proceed from your machine to another (the Entry Guard) and then to a second machine and from there to a third machine (the exit node) and finally, to the point to which you are really trying to connect (e.g., a typical website).
Я конеш не настоящий сварщик и даже ни разу не пользовался тором, но ваш тон выдает человека крайне ограниченного. Всего наилучшего.
MAXHO_MACTEP
но ограниченный — я, ну ок
Vort123
Судя по статье, Tor — гибридная сеть.
MAXHO_MACTEP
и из этого следует это?
Vort123
Нет. Там что-то среднее между p2p и не p2p. Обычные клиенты (миллионы) подключаются к узлам (по сути, клиент-сервер). Узлы (тысячи) подключаются друг к другу (p2p). И при этом всё это координируется небольшим количеством (около десяти) центральных серверов.
sumanai
Это называется луковичная маршрутизация. И она к p2p не имеет никакого отношения. p2p это прямой обмен между оконечными узлами, чего в TOR нет и быть не может.
fougasse
Вы таки считаете, что есть принципиальная разница с представителями Республиканской Партии США?
Не поделитесь в чём же?
0xd34df00d
Они не так фанатеют по cancel culture.
Iskin
Культура отмены — часть культуры США в целом (и берёт начало в протестантской этике). Например, в начале 20 века русский учёный Термен был отменён за брак с чёрной.
Из недавних примеров — отмена кантри-группы за выступление против войны в Ираке
https://en.wikipedia.org/wiki/Dixie_Chicks_controversy
creker
Как пример, я не заметил там рьяной поддержки critical race theory, из которой растут ноги того бреда, который в США творится. Байден и его партия прямым текстом это поддерживают.
VasilioRuzanni
Ну hypercore-protocol это, прежде всего, P2P — так что тут сервера и на самом деле нет. Протокол и есть бэкенд (как BitTorrent, etc).
Касаемо «серверлесса», кстати, всегда было непонятно, нахрена его так называют, когда там вполне себе сервер O_o
ZaitsXL
потому что ты от него абстрагирован, ничего ниже уровня платформы сервера приложений сделать не можешь, потому его для тебя кагбы и нет. Собсно в Р2Р тоже есть сервер и клиент, просто эти роли динамические