💾 Archived View for betahowto.duckdns.org › wiki:decentralization captured on 2024-02-05 at 09:48:41. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Примечание: статья создана для обсуждения вопроса децентрализации [[this>|wiki]] и не является инструкцией или рекомендацией к действиям. Без согласованности мнений по этой теме никаких практических действий со стороны админа ( /user:newbie ) не предполагается.
Как известно, ( /yggdrasil:yggdrasil ) является децентрализованной сетью, что означает, что в ней нет необходимости в некоем центральном узле, мощном сервере, который будет являться критически важным, объединяющим, управляющим, распределяющим, содержащим настройки и т.п. Сеть самоорганизующаяся, маршрутизация работает автоматически, "из коробки", все узлы [условно] равны и это не является препятствием для нормальной работы сети, наоборот - в определенных условиях, является преимуществом. Хотя, у такого подхода могут быть некоторые недостатки, уязвимости, но в целом, концепция [с некоторыми оговорками] подразумевает, что устойчивость децентрализованной сети выше...
Периодически, в тематических чатах и на форумах, можно услышать мнение о том, что в децентрализованной сети все или большинство сервисов должны быть децентрализованными. В этом есть определенный смысл. Совместно работая над каким-либо ресурсом, люди могут опасаться того, что в какой-то момент узел, на котором хранится результат их работы может уйти в offline и не вернуться, труд окажется напрасным, собранная информация, знания окажутся недоступны, и всё сообщество в целом получит урон. Высокая вероятность того, что и школьник, и домохозяйка, воодушевившись, в какой-то момент могут открыть в развивающейся сети потенциально популярный ресурс, и разочаровавшись через две недели, закрыть его, не способствует снижению опасений. И это понятно. К слову, здесь публикуются ( /wiki:wiki_backup ), бэкапы всех статей wiki, которые может скачать любой желающий, но...
Да, было бы хорошо использовать децентрализованные решения. Однако, что в первую очередь приходит на ум, как ассоциация со словом "децентрализация" в этом контексте? Наверное, блокчейн - хорошо зарекомендовавшая себя в некоторых областях технология связанных блоков, которая используется, в общем случае, для хранения, прозрачного учета, контроля, защиты от подмены неких данных и их транзакций...
Саму технологию блокчейна тут обсуждать вряд ли стоит, не думаю, что найдется много пользователей, которые поспорят с тем, что блокчейн в его современной реализации не лишен недостатков и не очень хорошо подходит для создания на его основе универсальных децентрализованных баз данных, форумов, wiki... Хотя, кто знает? ) Для обсуждения и написан этот текст.
Да, я слышал о WikiChain, но, на сколько я знаю, этот проект является экспериментом и не обделен недостатками, присущими технологии блокчейна.
В общем, на данном этапе, проблема в том, что пока нет готовых решений для того, чтобы легко и просто организовать децентрализованную базу знаний в небольшой сети с равными узлами, но "разношерстными" пользователями ) Делитесь знаниями, если знаете о таких.
Ну, а поскольку удобных децентрализованных решений нет (или я/мы о них не знаем), используем то, что есть.
В мае 2020 г. была поднята эта wiki на базе движка dokuwiki ( https://www.dokuwiki.org/dokuwiki ). Наличие возможности подключать плагины, менять темы оформления, использовать различные способы хранения статей (СУБД / текстовые файлы), версионирование, Open Source, некоторая гибкость в настройках, скорость работы, "легкость" - это всё способствовало выбору именно этого движка. Кстати, некоторые считают, что хранение данных в текстовых файлах - это не серьезно, но я (тот, кто хостит этот ресурс) считаю, что использовать СУБД для этого ресурса в относительно небольшой сети, с малым числом активных пользователей - это, так сказать, небольшой overhead. Для несогласных сразу скажу, что поддержка СУБД в dokuwiki реализована в плагине и подключается без серьезных сложностей и проблем. Кроме того, существуют средства переноса статей из dokuwiki в другие wiki (MediaWiki ( https://www.mediawiki.org/wiki/MediaWiki ), например).
Изначально предполагалось, что ресурс будет пользоваться популярностью, люди будут активно делиться знаниями, но по-факту, подавляющее число статей здесь написано парой человек (спасибо всем, кто принял участие :)). А в чатах периодически можно увидеть выражение недовольства чем-либо, включая то, что "всё должно быть децентрализовано"...
Поскольку статьи пока хранятся в текстовых файлах можно использовать что-то типа Syncthing ( https://syncthing.net/ ) или rsync ( https://ru.wikipedia.org/wiki/rsync ). C переходом на СУБД (если он когда-либо случится), можно использовать некоторые API для передачи изменений из одной базы в другую.
IPFS ( https://ru.wikipedia.org/wiki/IPFS ) не подходит, т.к., не позволяет изменять файлы не там, где они были опубликованы, и распространять эти изменения.
В случае с упомянутыми выше средствами синхронизации файлов, технически всё просто (по крайней мере, так видится): желающий разворачивает у себя движок (там может быть своё оформление, тема, несвязанные с синтаксисом форматирования плагины и т.п.), даём новоиспеченному админу права администратора, настраиваем синхронизацию, публикуем ссылки. Всё. Пользователи могут пользоваться обеими ресурсами. Не проверял, но теоретически должно работать...
В качестве преимущества получаем децентрализацию со всеми её "плюшками", но есть, скажем так, нюансы:
Существует давно не обновлявшийся плагин, который позволяет синхронизировать содержимое двух и более экземпляров wiki.
У него тоже есть особенности. Он скорее подойдет для сбора статей в одно место с разных ресурсов, хотя может и отправлять и получать, но
синхронизирует только статьи, настройки и пользователи не синхронизируются. Используется конкретный пользователь для создания статей, полученных с других ресурсов и отправки статей на другие ресурсы, т.е., авторство и история изменения разными людьми не сохраняется.
Желающие могут попробовать.
Страница плагина: https://www.dokuwiki.org/plugin:sync
Предлагаю всем оценить все плюсы и минусы и поделиться своим мнением на счет этого всего, а так же, поделиться идеями по этой теме, если оные имеются.
Ну, и конечно, не возбраняется дополнять и корректировать саму статью :)
https://www.dokuwiki.org/dokuwiki
https://www.mediawiki.org/wiki/MediaWiki
https://ru.wikipedia.org/wiki/rsync
https://ru.wikipedia.org/wiki/IPFS
https://www.dokuwiki.org/plugin:sync