LINUX.ORG.RU
ФорумTalks

Бесчеловечный p2p-обмен информацией?

 , ,


6

4

Какие честные p2p-системы в готовом виде сейчас позволяют на автомате, без участия пользователя, послать сообщение в облако, где его может принять любой подписанный желающий без предварительного согласования с посылающим? Ну и, конечно, чтобы сообщение автора нельзя было подделать? И желательно, чтобы была возможность как персонального (не приватного) общения ботов, так и коллективная.

Я пока навскидку только ZeroNet знаю, там такое «из коробки» есть. И, в общем, он моим задачам даже подходит.

Но, может, что-то ещё полезное упускаю?

Tox на сервере, вроде, умеет жить, но там нет группового обмена. Нельзя подписаться на группу с сообщениями.

Twister, по-моему, не умеет жить автономно на сервере.

Что-то ещё?

★★★★★

Ответ на: комментарий от dikiy

А там как? Там же нет доступных со стороны (консоль или простой API) инструментов для обмена информацией между клиентами и группами?

И даже в прибитом гвоздями плагина форуме нет никаких гарантий того, что твоё сообщение дойдёт до адресата (я когда я пробовал — обычно и не доходило, я так и не смог там начать общение на форумах).

KRoN73 ★★★★★ ()
Ответ на: комментарий от Andrey_Utkin

email? :)

Забыл уточнить (хотя по контексту должно быть понятно), что p2p в задаче децентрализованное, а не федеративное :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от dikiy

там просто подождать надо чуток. Она не быстрая. Как фидо примерно по скрости.

Да я уж месяцами ждал :D

...

И, да, время реакции хочется пусть и не секунды, но хотя бы минуты (в ZeroNet — секунды).

KRoN73 ★★★★★ ()
Ответ на: комментарий от abraziv_whiskey

Ретрошара подходит

Не подходит.

1. С ней работать можно только из её GUI-клиента. Ни API, ни консольных утилит нет.

2. Она в принципе не общается с «чужаками». Я не могу получить чужое сообщение, пока меня кто-то официально к себе во френд-круг.

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

Сообщение получить можно и без круга, через публикацию в цепочках, а бота придется написать.

Кстати, список рассылки подходит, если приспособить его под общение именно ботов, без живых человеков.

abraziv_whiskey ★★★★★ ()
Ответ на: комментарий от abraziv_whiskey

а бота придется написать

И вот на этом всё и обламывается. Не говоря про то, что серверной версии RS нет. Кривая RS-NoGUI совсем не годится.

KRoN73 ★★★★★ ()

Tox на сервере, вроде, умеет жить, но там нет группового обмена. Нельзя подписаться на группу с сообщениями.

Там есть конференции, этот бот может их держать и приглашать всех желающих:

56A1ADE4B65B86BCD51CC73E2CD4E542179F47959FE3E0E21B4B0ACDADE51855D34D34D37CB5

aplay ★★★★★ ()

Скрестить футабу с i2p-bote. Интересная идея кстати

upcFrost ★★★★★ ()
Ответ на: комментарий от KRoN73

p2p
не умеет жить автономно на сервере
серверной версии RS нет

Случай-то, оказывается, непростой :)
Ты уж определелись - «p2p» или «жить на сервере».

Novator ★★★★★ ()
Ответ на: комментарий от theNamelessOne

А что он не так сказал?

Мне кажется он (как и многие) тащит клиент-серверные стереотипы в p2p-мир.

Если человек не будет контролировать потоки записей в свой узел, то кто убережет диски узла от переполнения злоумышленниками (корпорастами, кракерами, майорами, анонимусами и шутниками)?

Любой бот засрёт сеть так, что всё встанет.

Это можно видеть на примере aMule - найти там что-то путнее в 99,99% умышленного шлака и мусора нереально. Забиты не только диски, но и каналы.

Novator ★★★★★ ()
Ответ на: комментарий от CaptainFarrell

Оффтоп, но каков уровень репликации у подобных систем?

У FreeNet — что-то заложенное в базовые алгоритмы. Фиксированное число копий, которые хранятся, пока к ним есть обращения. Нет обращений — пропало.

ZeroNet, RetroShare — как в торрентах, по числу потребителей контента. Загрузил сайт посмотреть или скачал файл — участвуешь в раздаче. Даже если никто больше не обращается к файлу, пока есть его раздающие, он жив. Аналогично и в BTSync, считая единицей раздачи репозиторий.

IPFS — фиксированное число раздающих (любой узел может зафиксировать любую раздачу, но принудительно) + произвольное число кеширующих нод, контент на которых живёт, пока не будет вытеснен более свежим.

Tahoe-LAFS и Syncthing — там вся раздача под управлением организатора группы раздачи. Сколько копий нужно, столько и будет.

Так примерно.

KRoN73 ★★★★★ ()
Ответ на: комментарий от CaptainFarrell

Оффтоп, но каков уровень репликации у подобных систем?

Вот, кстати, практическая иллюстрация из ZeroNet — там прямо показывается число «сидов». Последняя цифра в каждой строчке:

https://gateway.ipfs.io/ipfs/QmbmUXeq81LeDJZoBFsGH39JVNzowamwCR8GczWozbUeXw/2...

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

А что считается за копию - весь объект или как-то разбивается на шарды, которые уже реплицируются? С торрентами и файлами все ясно - весь файл нужен для потребления, а как с форумами и прочими большими массивами данных, которые на машине могут и не поместиться?

CaptainFarrell ()
Ответ на: комментарий от CaptainFarrell

А что считается за копию - весь объект или как-то разбивается на шарды, которые уже реплицируются?

В ZeroNet реплицирутся весь сайт/«зайт». У каждого участника полная копия.

RetrtoShare реплицирует отдельные файлы/сообщения. Но при этом на форуме, например, имеет ограниченное время хранения.

а как с форумами и прочими большими массивами данных, которые на машине могут и не поместиться?

В RetroShare нет выделенных сайтов. Там весь клиент сам себе сайт. Файлы ты сам раздаёшь, какие скачал, в точности как в торрентах. Объемом данных форумов управлять нельзя, но, поскольку активность там малая и сообщения хранятся мало (год на форумах, три месяца в каналах) проблем с объёмом нет.

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

https://gateway.ipfs.io/ipfs/QmWSm1mE6YwqVjuthUWJoAEGbKm2LEX1KKFPRgugKrSwKC/L...

KRoN73 ★★★★★ ()
Ответ на: комментарий от Avial

кому-то нужен абузоусточивый c&c для ботнета?

Хм. Да, где-то близко :)

KRoN73 ★★★★★ ()

Возможно, годится Bitmessage.

Теоретически его каналы могут отвечать моей задаче. Хотя оценить пока не смог, уже часа два, как запущенный Bitmessage-клиент не может соединиться с сетью :)

И я пока не видел консольного клиента, умеющего работать с каналами. Есть NotBit, но он работает только с сообщениями.

KRoN73 ★★★★★ ()
Ответ на: комментарий от LupusAlbus

И что, интересно там?

Эксперименты (потому что реально хреново пашет) p2p-раздач видео. Т.е. ты у себя делаешь «аплоад» видео, все смотрят его через свои браузеры. Проблема в том, что раздача обычно накрывается при закрытии твоего браузера :)

...

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

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

Проблема в том, что раздача обычно накрывается при закрытии твоего браузера :)

Не понял, а может быть другой исход?

Для публичной p2p-раздачи видео с проигрыванием сразу в браузере я пока ничего идеального не нашёл.

А смысл прямо в браузере? Не проще спокойно скачать файл, и потом спокойно смотреть?

LupusAlbus ()
Ответ на: комментарий от LupusAlbus

Не понял, а может быть другой исход?

Ну, это же ZeroNet. Могли бы соответствующий локальный сервис организовать :)

А смысл прямо в браузере? Не проще спокойно скачать файл, и потом спокойно смотреть?

«Зачем музыка в ВК, не проще спокойно скачать альбом и потом послушать?» «Зачем показывать картинки в браузере, не проще скачать локально и посмотреть в нормальном вьювере?»

Потому что это удобно. Один клик и [практически] мгновенный просмотр против десятка кликов, ожидания закачивания, открытия в других приложениях. Да и, вообще, установка этих приложений. У меня на форуме львиная доля пользователей даже никогда не видели в глаза всех этих торрентокачалок — не стоит обо всех пользователях судить по IT-шникам :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от KillTheCat

Bitmessage

Как в нём из консоли получить доступ к каналу? Читать/писать? NotBit работает только с персональными сообщениями.

и вообще любые чаты на блокчейне.

Можно примеры таких, с которыми можно на удалённом сервере работать из консоли или через API?

KRoN73 ★★★★★ ()
Ответ на: комментарий от Novator

Мне кажется он (как и многие) тащит клиент-серверные стереотипы в p2p-мир.

1. Домашняя машина не обязана быть в сети 24/7/365. Поэтому для нормальной поддержки работы p2p-сети очень полезно держать запущенные ноды. Как это делает масса народа с торрентами, например. Они тоже «тянут стереотипы»? :D

2. p2p в ряде случаев очень ресурсоёмкое явление. И может быть тяжело, скажем, для мобильного. В этом случае выгодно поднять ноду на отдельной стационарной машине и ходить уже туда с мобильного. Например, я так постоянно делаю в ZeroNet. А вот с RetroShare так не сделать. И поэтому она меня теряет как клиента :)

Любой бот засрёт сеть так, что всё встанет.

Ну, не знаю. Почему никакой бот не засирает мои ноды с торрентами или ZeroNet? :)

Опять же, что на счёт постоянного использования на серверах IPFS, Tahoe-LAFS, Тора, I2P, FreeNet? Это тоже всё «клиент-серверные стереотипы, засираемые ботами»? :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

из консоли

Скорее всего таких клиентов нет, т.к. ни у кого не возникает в этом потребности.
Но всегда есть варианты:

  • Попросить об этом разрабов, могут и сделать https://github.com/Bitmessage/PyBitmessage
  • Сделать самому, там же питон.
  • Найти того кто сделает.
KillTheCat ★★★★★ ()
Ответ на: комментарий от KillTheCat

Скорее всего таких клиентов нет, т.к. ни у кого не возникает в этом потребности

Ну так у меня вопрос в топикстарте о _уже работающих_ решениях :)

Но всегда есть варианты

Ага. Но нулевой пункт этого списка — выбирать среди тех систем, где такое _уже_ есть :) Вот про них и вопрос. А так-то, и троллейбус можно из буханки сделать, и велосипед из руды, и свою p2p-систему с нуля написать. Но зачем?

KRoN73 ★★★★★ ()

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

Любой участник сети может посылать публичную подписанную информацию на общий хаб. Это могут быть, например, соответствия UUID публикаций, локальная репутация пользователей и т.п.

Сейчас поэкспериментировал, смог достичь нужного «вручную». Создал на одном узле новый зайт, распространил. На другом узле записал его данные в JSON, подписал собственным ключом того узла, отправил. Распространилось. Подделать такие данные, соответственно [практически?] невозможно. Т.е. из браузера мы итак это делаем каждый раз при комментарии в блоге или ответе на форуме, но, главное, оно доступно и средствами CLI.

Как дополнительный мелкий бонус — отправленные данные попутно из JSON в sqlite отпарсились :) Так что можно сразу использовать.

KRoN73 ★★★★★ ()
Последнее исправление: KRoN73 (всего исправлений: 1)

targitaj, [24.03.17 14:43] короче, несколько лет таскаю идею

targitaj, [24.03.17 14:44] есть идея сделать распределённое по Сети анонимное хранилище информации

targitaj, [24.03.17 14:50] со стороны клиента это выглядит просто: запускаешь клиентскую программу указываешь файлы указываешь ключевое слово даёшь ключ для шифрования файл ушел в Сеть запоминаешь идентификатор и ключевое слово —- чтобы забрать файл так же запускаешь клиентскую программу указываешь идентификатор и ключевое слово файл приходит расшифровываешь

targitaj, [24.03.17 14:50] со стороны сервера - это сеть демонов на маршрутизируемых в Сети машинах, установленных участниками этой затеи добровольно

targitaj, [24.03.17 14:55] смысл затеи в том, что файл: а) разбивается на части б) шифруется в) части файла полностью «теряют лицо» (не могу сформулировать)

targitaj, [24.03.17 14:56] далее, соль затеи заключается в том, что ноды-участники работают напрямую друг другом без централизованных узлов (возможно, что-то из технологий торрентов можно взять) и, главное, части файлов периодически перемещаются от ноды к ноде

targitaj, [24.03.17 14:56] далее, в рамках этой системы есть задача обеспечить доступность файла >1.0

targitaj, [24.03.17 14:57] ну тут уже надо математику и алгоритмы определения избыточности

targitaj, [24.03.17 14:58] то есть, по сути, исходный файл разрывается на части и эти части отправляются в неконтролируемое плавание по Сети, по нодам-участникам

targitaj, [24.03.17 14:59] а когда файл нужен обратно, в сеть нод подаётся сигнал и части собираются в каком-то месте, откуда уже его клиент забирает

targitaj, [24.03.17 14:59] понятно, что это не под хранение фильмов )))

targitaj, [24.03.17 14:59] под документы/важные фотографии и прочие записи

targitaj, [24.03.17 15:01] получается так, что никто из владельцев машин с запущенной нодой не знает что у него там лежит и не в состоянии ни просмотреть файлы, ни даже как-либо их идентифицировать

targitaj, [24.03.17 15:24] по сути, получается так, что только клиентское приложение будет знать из каких получиших идентификаторы файлов-частей исходного файла состоял исходный файл и процесс сборки можно запустить только после указания ключевого слова не говоря уже про общее шифрование

https://xakep.ru/2012/12/11/p2p-storage/

targitaj ★★★★★ ()
Ответ на: комментарий от KRoN73

есть идея сделать распределённое по Сети анонимное хранилище информации

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

Вот в этом вся соль:

- либо дать анонимусам доступ к хранилищу, которое они мгновенно засрут (там сидят и майоры, и копирасты, и ольгинцы, и просто хулиганы - все будут срать от души), и работа сети будет парализована (см. aMule).

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

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

Novator ★★★★★ ()
Ответ на: комментарий от Novator

- либо дать анонимусам
- либо давать доступ к ресурсам сети только членам

Есть третий вариант. Неперсонифицированные неанонимусы. Т.е. пользователь не анонимный, но не персонифицированный. Мы знаем, что это какой-то конкретный пользователь, но не знаем, кто он в реале. Собственно, сегодня многие сети именно с таким подходом и работают, от FreeNet и RetroShare до ZeroNet и Patchwork.

И поверх этой идентификации — рейтинговая система. Засрал юзер N сеть, репутация его падает, следы жизнедеятельности вычищаются. И, наоборот, «клубы», где могут общаться только те, кто уже создал себе какую-то минимально положительную репутацию.

Тут, главное, проблема в алгоритмах. Чтобы не превратиться в хаброкарму :) Проще всего такое решается учётом веса голоса — когда плюс или минус от человека с высокой репутацией весит намного больше, чем от стайки бестолковых флудеров. Но такую систему обычно делать ленятся :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

Неперсонифицированные неанонимусы. Т.е. пользователь не анонимный, но не персонифицированный. Мы знаем, что это какой-то конкретный пользователь, но не знаем, кто он в реале.

Ну так я не против псевдонимов и виртуалов («неперсонифицированные неанонимусы», как ты их назвал, но это уже не анонимусы, в моём понимании).

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

И поверх этой идентификации — рейтинговая система. Засрал юзер N сеть, репутация его падает, следы жизнедеятельности вычищаются.

Здесь истино такЪ.
Но только на тех узлах, где его репутация упала, а на остальных все «креативы» продолжат пребывать.

И, наоборот, «клубы», где могут общаться только те, кто уже создал себе какую-то минимально положительную репутацию.

Я так понимаю, под «клубом» понимается некий закрытый закуток, доступный только избранному кругу. Опять-таки, для майора ввести в такой клуб «агента» - не проблема, тем более когда вокруг много виртуалов и среди есть «благонадёжные члены», «полезные для сообщества», «без косяков», но при этом штатно/внештатно работающие на майора.

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

С учётом вышесказанного, я ЗА ПОЛНУЮ ОТКРЫТОСТЬ: т.е. либо ты публично под своим именем высказываешься и все видят когда тебя мочат. Либо вобще нет смысла трындеть в каких-то закрытых группах под виртуалом и с чувством ложной безопасности делать из себя (и из своих доверенных) корм для майора. Ну это чисто моё мнение, я не настаиваю, понял, что убеждать бесполезно - кроме как на своей шкуре никто ничему не учится.

Хотите виртуалов? Да пожалуйста! Но не удивляйтесь, что среди них 70% окажется ольгинцы, майоры, агенты, троли, личные враги и так далее - эти категориии очень любят маски, и как чёрт ладана боятся персональную открытость.

Тут, главное, проблема в алгоритмах. Чтобы не превратиться в хаброкарму :) Проще всего такое решается учётом веса голоса — когда плюс или минус от человека с высокой репутацией весит намного больше, чем от стайки бестолковых флудеров.

Проблема хаброкармы ещё в её централизации. Плюс рейтинг строится без учёта твоей собственной системы доверия. Ведь ты правильно рассуждаешь - плюс от человека с высокой репутацией должен весить больше, чем плюс от человека, которого нет в твоей системе доверия. Мулька в том, что «репутация» - понятие относительное: в твоей системе доверия чел может иметь высокую репутацию (и соотв-но его оценки будут иметь вес), а в моей - чел может быть полным дном (и его оценки не будут учитываться, например).

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

Но такую систему обычно делать ленятся :)

Ленятся, это верно. Плюс стадо мыслит в рамках существующих систем и боится подумать за их пределы. Форд сказал: «Если бы я спросил обывателя, какой транспорт ему сделать, он бы попросил более быструю лошадь». Плюс это сложно. Форд несколько лет от зари до ночи тарахтел в своём гараже, пока весь Детройт (тогда ещё захолупный) над ним ржал и чморил его. А потом выстроились к Форду в очередь на предзаказы, когда первые автомобили уже бегали по городу.

К примеру я уже 5 лет пилю софтину, которая в том числе должна иметь озвученную систему расчета репутации людей и оценки их высеров, но помощников не видно, а вот скептических «аналитиков» пруд пруди.

В итоге будет как всегда: когда упёртый псих-одиночка сделает в своём гараже новую тулзу, тогда быдло и начнёт жить по-новому, но ни минутой раньше.

Novator ★★★★★ ()
Последнее исправление: Novator (всего исправлений: 1)
Ответ на: комментарий от Novator

К примеру я уже 5 лет пилю софтину, которая в том числе должна иметь озвученную систему расчета репутации людей и оценки их высеров, но помощников не видно, а вот скептических «аналитиков» пруд пруди.

Ну, у меня на форумах такая «весовая» репутация уже больше 10 лет практикуется. Кажется, с 2004-го :) Хотя она, по большому счёту, мало на что влияет прямо. Интересно, что:

— У системы очень высокая сходимость. До практических тестов были подозрения, что введение веса голоса может породить положительную обратную связь и веса репутации «пойдут вразнос» — низкие занулятся, высокие максимизируются. Оказалось, что всё приобретает чёткие фиксированные значения буквально за единицы итераций после перехода от равного веса голоса к взвешенному. Итерации нужны, так как там возникают обратные связи: 1) изменился вес голоса пользователя А. 2) Изменились оценки от А к Б. 3) Изменилась репутация Б. 4) Но Б тоже голосовал за А, так что изменилась репутация А и снова цикл 1. Вот было подозрение, что на этом система будет постоянно колебаться. Оказалось — она очень «вязкая» и почти мгновенно сходится к постоянным значениям :)

— Нет прямой связи между конфликтностью или выпадением из мейнстрима и репутацией. Не смотря на очень сильную поляризацию мнений после политического раскола в 2014-м и то, что многие, не вписавшиеся в формат новых отношений ушли с форумов «хлопнув дверью», рейтинг некоторых таких пользователей часто так и остался очень высоким. Как бы их не пытались «гнобить» некоторые «активисты» :) То есть при взвешенной оценке толпа не может легко обрушить рейтинг действительно интересного пользователя, даже если его мнение расходится с мнением толпы. В системе с равным весом голосов («Хабр») таких забивают почти сразу. И наоборот, есть откровенные популисты, собирающие много положительных оценок, но имеющие всё равно отрицательную репутацию :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

Интересно, хорошая практика.
Значит, система релевантых репутаций и оценок - это верный путь.

Novator ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.