153
Лига идей
Серия Есть идея

Ответ на пост «Флибуста должна жить!»3

Технофантазии на тему Флибусты в "глубине".

Если бы кто-то когда-то задумался сделать пиратскую библиотеку, у которой нет "Ахиллесовой пяты", то, наверно, первое, что пришло бы ему в голову - это децентрализованность.

Почему бы не хостить сайт флибусты прямо на компьютерах людей, которые её сидируют на своих компах? Почему бы не воспользоваться механизмом торрентов и для этого?

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

Ещё у нас есть авторы (текст описания, отзывы), жанры, теги, серии книг. Вот и вся ER-модель с вполне очевидными и несложными связями.

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

Надо придумать как хранить индексы и все данные в no-SQL формате разбросанными по файлам, которые с резервированием и версионированием можно держать прямо на пирах в торрент-сети. Свежие снапшоты индексов могут тоже лежать в виде служебных торрентов на пирах, а одностраничное приложение, которое всё это будет качать и использовать, можно хостить где угодно, например на гитхаб-pages.

Естественно люди всегда и везде хотят меряться своей степенью "пиратскости" в мере поддержки флибусты. Тут можно внедрить аналог proof of stake, но в смысле хранения данных флибусты. Люди, являясь пиром и раздавая служебные торрент-файлы и торрент-файлы с книгами, будут как бы майнить себе рейтинг флибустьера. Пиастры, какие-нибудь.

Механизм проверки следующий:

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

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

Майнинг рейтинга пиастров не будет слишком уж ресурсоёмким. Разве что будет давать некоторую нагрузку на сеть за счет перекрёстных запросов на проверку хранения. Заниматься этим могут, кстати, не все. Только те, кто желает получать дополнительные пиастры за проверки. Остальным участникам сети достаточно сидировать какие-то интересные им части флибусты. Можно придумать некоторый автоматический обмен пиастрами в рамках смарт транзакций при скачивании личем чанка у сида. Но это уже совсем фантазии.

Что думаете? Наверняка кто-то уже такое фантазировал, может быть что-то даже где-то воплотили, так что панамку приготовил.

Чтобы мои фантазии тут уж не были совсем бестолковыми, то вот приведу познавательную статью для первого погружения в эти технологии: https://habr.com/ru/articles/107342/

Лига идей

639 постов1.9K подписчиков

Правила сообщества

Правила сообщества:

1) Если оцениваете идею положительно, ставьте +

2) Если оцениваете идею отрицательно, ставьте -

3) Ругаться не надо

4) Идеи, которые касаются развития Пикабу, можно создавать только в этом сообществе: https://pikabu.ru/community/feature_request

20
Автор поста оценил этот комментарий

С подключением) Когда-то тоже открыл для себя алгоритмы наподобие Kademlia DHT, жаль только что описанный в той статье алгоритм довольно уязвим к атакам на доступность отдельных узлов, и не только. Не забудьте ещё, вам фактически придётся запустить параллельный квази-BitTorrent и допилить протокол, ну и далее двигаться к более высоким уровням абстракций. Так что после осознания и переваривания масштабов предстоящей работы только немногие из тех, что хотя бы смогут разобраться в той упрощённой статье, станут потихоньку пилить свой проект об том.
Далее, на пикабу вы таких людей не найдёте, просто потому что им некогда, они и так делом заняты. Тут люди лайкнут и успокоятся - тема актуальная, выглядит здраво, лайк поставил, пост взлетит, а я дальше пошел.

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

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

4
Автор поста оценил этот комментарий
Мне кажется мелко мыслишь. Зашивать надо по заветам Лейн - прямо в "шум": читать с какого железа юзер раздает и выдавать ему такую квоту, чтобы в композитном ЭМ шуме его железки по рации австрийских полярников образца 1972 года выпуска ровно под граммом гашиша можно было услышать номера страниц и авторов книг из которых уже составлять сид того, что хочешь прочитать дальше. Вот это - секьюрити, вот это - бог в проводах, а не этот ваш блокчейн курильщика.
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Не, курите такое сами. Эдак может докуритесь до стриминга сериалов прямо на настенный ковёр.

4
Автор поста оценил этот комментарий

Собственно, чем это отличается от текущей ситуации, когда архив флибусты гуляет по пиринговым сетям?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Отличается тем, что тут мы хотим, чтобы сайт имел страничку для входа, а по функциональности не сильно отличался от нынешней флибусты. То есть должна быть возможность докидывать книги, писать им описания, писать отзывы и лайкать. А ещё чтобы вандалы наёмные не понабежали и не похерили всё абра-кадаброй.

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

2
Автор поста оценил этот комментарий

Правовые аспекты ещё волнуют. Размещаешь у себя книги на ПК, распространяешь, а потом от Донцовой получаешь миллионные штрафы?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Желающим обезопасить себя от этого можно предусмотреть опцию шифрования данных. Тогда сидер не будет знать и даже не будет иметь простой возможности узнать что именно он раздаёт и хранит.

показать ответы
0
Автор поста оценил этот комментарий

Открыл p2p cеть. Нафига ? Да, там нет цензуры, но и минусов полно. Главный - чрезвычайно медленно, часы, может дни. Часть материала может теряться, на диске нужно место.. В общем, лучше уж тор...

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Всё зависит от статистики. Сеть торрент отлично и быстро отдаёт контент, ни о каких часах и днях тут речь не идёт, минуты и секунды. У Тора свои задачи и цели, они ни к чему для публичной раздачи контента. Фактически флибуста - это публичный трекер.

Зачем вся эта луковая маршрутизация для раздачи публичного контента? Сам по себе объём данных трекера не так уж и велик. Его можно разбросать на снапшоты, а те на отдельные файлы и хранить в сети с доступом через торрент. Не так уж много места потребуется пирам, чтобы держать снапшот статей и комментариев сайта в сжатом виде.

Кому-то вполне хватит данных снапшота, а кому надо свежие комментарии и свежие книги, тот может подключиться к журналу. Журнал можно, к примеру, в том же телеграм-канале вести. Время от времени любой кипер может однозначно собрать из журнала инкрементальный снапшот, подписать своим ключом и выложить в торренты. Получится своеобразный такой "блокчейн".
Да, наверно для первого доступа к такому сайту нужно будет минут 10 подождать пока снапшот трекера загрузится, если нужна свежатина, то ещё минуты 2 журнал будет накатываться на локальную копию БД. Потом доступ будет приемлемой скорости. Просто отрабатываем журнал и пополняем базу.

показать ответы
2
Автор поста оценил этот комментарий

Где-то я читал про подобный протокол распределённых сайтов. Но, видимо, потребность невелика. Вроде, "осирис" назывался.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А вот ещё есть IPFS (InterPlanetary File System). Прикольно. Только что узнал. ЖПТ подсказал

5
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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