Технофантазии на тему Флибусты в "глубине".
Если бы кто-то когда-то задумался сделать пиратскую библиотеку, у которой нет "Ахиллесовой пяты", то, наверно, первое, что пришло бы ему в голову - это децентрализованность.
Почему бы не хостить сайт флибусты прямо на компьютерах людей, которые её сидируют на своих компах? Почему бы не воспользоваться механизмом торрентов и для этого?
Что собой представляет сайт? Это, в первую очередь, база книг (описания, атрибуты, теги, обложки, рейтинги), отзывы по книгам (текст, лайки), сами книги в разных форматах.
Ещё у нас есть авторы (текст описания, отзывы), жанры, теги, серии книг. Вот и вся ER-модель с вполне очевидными и несложными связями.
Конечно же поднимать какое-нибудь постгрешное зеркало с этими данными - это путь слабаков.
Надо придумать как хранить индексы и все данные в no-SQL формате разбросанными по файлам, которые с резервированием и версионированием можно держать прямо на пирах в торрент-сети. Свежие снапшоты индексов могут тоже лежать в виде служебных торрентов на пирах, а одностраничное приложение, которое всё это будет качать и использовать, можно хостить где угодно, например на гитхаб-pages.
Естественно люди всегда и везде хотят меряться своей степенью "пиратскости" в мере поддержки флибусты. Тут можно внедрить аналог proof of stake, но в смысле хранения данных флибусты. Люди, являясь пиром и раздавая служебные торрент-файлы и торрент-файлы с книгами, будут как бы майнить себе рейтинг флибустьера. Пиастры, какие-нибудь.
Механизм проверки следующий:
Каждый пир может попробовать запросить любой рандомный чанк любого торрента у любого другого пира, если этот пир заявляет в своём индексе о его хранении. Если пир вернул чанк и хеши совпали, то свидетельство об этом можно добавить в блокчейн, также в блокчейн попадают и свидетельства об обмане, если факт хранения не подтвердился.
Конечно нужно моделировать и считать "экономический баланс" этой системы и устойчивость к злонамеренным действиям. Мне кажется такого рода проект на первых этапах сбережет принцип "неуловимого Джо", а на последующих кворум и консенсус за счет массовости.
Майнинг рейтинга пиастров не будет слишком уж ресурсоёмким. Разве что будет давать некоторую нагрузку на сеть за счет перекрёстных запросов на проверку хранения. Заниматься этим могут, кстати, не все. Только те, кто желает получать дополнительные пиастры за проверки. Остальным участникам сети достаточно сидировать какие-то интересные им части флибусты. Можно придумать некоторый автоматический обмен пиастрами в рамках смарт транзакций при скачивании личем чанка у сида. Но это уже совсем фантазии.
Что думаете? Наверняка кто-то уже такое фантазировал, может быть что-то даже где-то воплотили, так что панамку приготовил.
Чтобы мои фантазии тут уж не были совсем бестолковыми, то вот приведу познавательную статью для первого погружения в эти технологии: https://habr.com/ru/articles/107342/