Dscuss — одноранговая сеть для публичного общения (Виталий Минко, OSSDEVCONF-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (Batch edit: replace PCRE (\n\n)+(\n) with \2) |
||
(не показано 17 промежуточных версий этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Виталий Минко}} <blockquote> Распространённые системы публичного общения (такие как Internet-форумы и социальные сети) не обеспечивают идентичных прав для всех собеседников. Владелец ресурса и модераторы всегда обладают расширенными правами. Злоупотребление этими правами может в итоге привести к расколу и вырождению сообщества. Для решения этой проблемы создана одноранговая сеть «Dscuss». </blockquote> {{VideoSection}} {{vimeoembed|366002425|800|450}} <!-- {{youtubelink|}} --> |HKSaqQxe_t4}} {{SlidesSection}} [[File:Dscuss — одноранговая сеть для публичного общения (Виталий Минко, OSSDEVCONF-2019).pdf|left|page=-|300px]] {{----}} == Thesis == === Реализация === На данный момент существует единственная реализация протокола, [http://dscuss.org/cgit/dscuss/ исходный код которой доступен] под лицензией ''GPLv3''. Реализация выполнена на языке Go в виде набора пакетов. Архитектура решения описана в [http://vminko.org/dscuss/architecture]. Реализация протокола имеет три сторонних зависимости: драйвер ''SQLite'', реализация ''[https://ru.wikipedia.org/wiki/Scrypt scrypt]'' и ''[https://ru.wikipedia.org/wiki/Kademlia Kademila DHT]''. Текущая стабильная версия реализации — ''proof-of-concept''. В ней реализованы самые базовые функции: регистрация пользователей, соединение узлов, подписки на рубрики, публикация сообщений в рубриках и выполнение операций удаления сообщений и блокировки пользователей. Для отладки и автоматического тестирования разработан клиент с интерфейсом командной строки. Он также позволяет на практике ознакомиться с концепцией сети. Версия 0.1 находится в разработке. В ней уже реализована синхронизация данных между узлами, улучшена связанность сети (через поиск узлов в ''[https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0 DHT]'') и разработан клиент сети Dscuss с Web-интерфейсом. {{----}} [[File:{{#setmainimage:Dscuss — одноранговая сеть для публичного общения (Виталий Минко, OSSDEVCONF-2019)!.jpg}}|center|640px]] {{LinksSection}} * Dscuss — P2P network for public discussions, http://dscuss.org/ <!-- <blockquote>[©]</blockquote> --> {{fblink|2405680093018331}} {{vklink|1470}} <references/> [[Категория:OSSDEVCONF-2019]] [[Категория:Draft]] [[Категория:Open-source]] communications]] {{stats|disqus_comments=0|refresh_time=2021-08-31T16:19:13.219898|vimeo_plays=19|youtube_comments=0|youtube_plays=273}} |
Текущая версия на 12:19, 4 сентября 2021
- Докладчик
- Виталий Минко
Распространённые системы публичного общения (такие как Internet-форумы и социальные сети) не обеспечивают идентичных прав для всех собеседников. Владелец ресурса и модераторы всегда обладают расширенными правами. Злоупотребление этими правами может в итоге привести к расколу и вырождению сообщества. Для решения этой проблемы создана одноранговая сеть «Dscuss».
Содержание
Видео
Презентация
Thesis
Введение
Dscuss — это сеть для публичного общения, ключевыми свойствами которой являются равноправие всех участников сообщества и децентрализованный способ модерации сообщений. Каждому пользователю предоставляется возможность модерировать сообщения других пользователей. И каждый пользователь свободен выбирать себе модераторов, которых пожелает.
Для пояснения предпосылок к созданию новой сети и её ключевых свойств введена классификация средств публичного общения[1].
Принципы функционирования
Протокол Dscuss построен на объектах трёх типов: пользователи, сообщения и операции. Пользователи выполняют роль учётных записей и идентифицируются публичным ключом. Сообщения представляют информацию, опубликованную от имени пользователя в определённой рубрике. Пользователи подписываются на заинтересовавшие их рубрики и получают сообщения только из этих рубрик. Операции представляют определённое действие, выполненное от имени пользователя над объектами (например, блокировка пользователя или удаление сообщения). Объекты всех типов идентифицируются в общем адресном пространстве. Все объекты, попадающие под интересы пользователя, хранятся на локальной машине самого пользователя.
Безопасность
С точки зрения безопасности, Dscuss спроектирована для обеспечения следующих свойств данных: доступность, целостность и подлинность. Предусмотрена защита от SPAM и flood-атак. Модель нарушителя, принятая в Dscuss формализована.
Стоит отметить, что Dscuss не предназначен для обеспечения анонимности пользователей. Но пользователи могут добиться анонимности в сети с использованием сторонних средств (таких как Tor).
Протокол взаимодействия
Два узла сети связываются одним мультиплексируемым TCP-соединением, которое используется для передачи всех данных между узлами. Взаимодействие узлов происходит синхронно — отправитель пакета ждет ответа перед отправкой другого пакета. Пакеты передаются в текстовом виде (в формате JSON). Алгоритм взаимодействия узлов в сети детально описан.
Реализация
На данный момент существует единственная реализация протокола, исходный код которой доступен под лицензией GPLv3. Реализация выполнена на языке Go в виде набора пакетов. Архитектура решения описана в [1]. Реализация протокола имеет три сторонних зависимости: драйвер SQLite, реализация scrypt и Kademila DHT.
Текущая стабильная версия реализации — proof-of-concept. В ней реализованы самые базовые функции: регистрация пользователей, соединение узлов, подписки на рубрики, публикация сообщений в рубриках и выполнение операций удаления сообщений и блокировки пользователей. Для отладки и автоматического тестирования разработан клиент с интерфейсом командной строки. Он также позволяет на практике ознакомиться с концепцией сети.
Версия 0.1 находится в разработке. В ней уже реализована синхронизация данных между узлами, улучшена связанность сети (через поиск узлов в DHT) и разработан клиент сети Dscuss с Web-интерфейсом.
Примечания и ссылки
- Dscuss — P2P network for public discussions, http://dscuss.org/
- Discuss on Facebook
- Discuss on VK
- ↑ Classification of the systems for public discussion, http://vminko.org/dscuss/classification
Plays:292 Comments:0