простите.

Вступление

Проблема

Решение

Но как? зачем?

Контент в каналах Сообщения Пользователь-пользователь Любой тяжелый контент из канала/чата/личных сообщений

Как это должно работать?

мемов

Звучит не оптимально, правда?

Whitepaper как я себе вижу работы мессенджера по P2P Мессенджер ведёт у себя список всех каналов/чатов с ID + ключами, в древовидном режиме хранится весь контент который был загружен, аналогично с ID и ключами подписи.



Переодически идет опрос эфира на наличее узлов вашей же сети — сети мессенджера, при успешном нахождении идет сравнение сравнение контента между вами и соседом.



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



Как только установилось взаимодействие между узлами, происходит синхронизация доступного контента, если что-то отсутствует у абонента А а есть у Б — А получает его от Б.



При поступлении нового контента, тот кто его первый получил, например А — может отправить его всем участникам сети (по типу multicast).



Причем, это схема будет работать и в более классическом виде для Mesh сетей — когда между А и Б есть еще Х — который не подписан на тот же самый канал, что А и Б — он будет просто посредником, передавая трафик между ними.



Естественно — для неизвестных узлов нельзя передавать данные номера телефона, только ID, а лучше временный ID, косвенно связанный с ID внутри мессенджера.



А что с безопасностью?

И много где будет эта самая «Mesh P2P сеть»??

Итог

Дешевле для обладателя

Повысить скорость его работы

Сделать привлекательным в странах с дорогим/медленным интернетом

Усилить защиту от блокировок

Новое поколение сервисов ориентированных на P2P

Сделать возможным частичную работу без интернета

В последние пару лет, мессенджеры изменили привычный ход потребления контента, whatsapp, telegram,Теперь весь контент сосредоточен в них, аудитория растет дикими темпами, они многое изменили, но самое главное — им еще предстоит — способ доставки контента, а если точнее — P2P CDN.Почему P2P CDN это необходимый шаг и как все может работать— всё это рассмотрим в посте.С момента запуска telegram — мессенджеры начали вбирать в себя функционал соц-сетей и уже очень сложно сказать, где соц-сеть а где мессенджер, только одно может намекнуть, что перед нами — мессенджер: контент можно посмотреть только в приложении или же веб-версия очень ограничена. (Утверждение справдливо для большинства мессенджеров, включая телеграм т.к веб версия имеет не все функции).Таким образом, в мессенджерах начал появлятся тяжелый контент — если посмотреть на каналы телеграма — они изобилуют фото, а в последнее время и видео контентом. А весь этот контент как-то надо доставлять до конечного пользователя.Тяжесть контента — основная проблема которую надо будет решить мессенджерам, каждый решает её как может, whatsapp (Facebook) — оплачивает сервера засчет ваших данных, telegram — пытается сделать ICO и пойти в сторону блокчейна. Но основная проблема — дороговизна инфраструктуры — никуда не уходит, просто источник денег для поддержки — меняется.Но есть и вторая проблема — страны с медленным интернетом и дорогой интернет в любой стране: люди может и готовы бы потреблять больше контента, но либо доступ физически ограничен — (плохой сигнал) либо же очень дорог.Решение этих проблем очень простое и я бы сказал «нативное» — P2P CDN.Не зря в последних версиях iOS компания Apple по умолчанию всегда держит включенным Bluetooth и Wi-Fi, не зря Telegram хранит гигабайты кэшированного медиа — всё это можно использовать, причем потратив минимум времени на разработку — объединив всех пользователей конкретного мессенджера в огромную Mesh сеть.Что бы сейчас создать Mesh сеть на iOS/Android надо написать пару строчек кода — для этого сущестуют готовые фреймворки от разработчиков платформы, в play market/app store есть куча никому не нужных «offline messanger» для общения в лесу или на самолёте.Что же можно передавать через Mesh сеть?Предположим ситуацию стандартного большого города — вы утром едите на метро и просматриваете лентуновостей, скорее всего в вашем списке — не один канал а несколько. Весь контент который вы потребляете — загружается через интернет соединение. Причем, не вы один в этом поездекто смотрим те же самые каналы или чаты, получается — через одно и то же соединениепроходит один и тот же трафик.Но это можно улучшить — предположим вы заходите в вагон не на конечной станции, а на следующей, а в вагоне уже есть люди и они уже читали те же каналы которые вы обычно просматриваете. Как только вы зайдете в вагон, приложение соединится с аналогичным приложением и начнет обновлять контент через него.Другими словами — практически моментально вы синхронизируете свою ленту новостей с человеком который уже загрузил её. И в дальнейшем, приложение может оптимизировать работу, загружая контент только на 1 устройство через интернет, передаявая по Mesh сети на сосединие устройства.Но и это еще не всё — если вы находитесь в месте с плохой связью, а вам нужно передать документ вашему другу который находится рядом с вами — мессенджер может найти его и по P2P сети передать ему документ. Что в конечном итоге сэкономит интернет трафик как вам так и другу, да и даже мессенджеру!Несмотря на то, что вы будете получать контент от незнакомых вам людей — он может быть точно верифицирован — достаточно основному серверу мессенджера подписывать весь контент своим ключем при загрузке, переодически его обновляя. Таким образом — вы можете доверять контенту от вашего условного соседа на основе того, что контент который он вам отправит имеет соответствующую подпись, аналогичную контенту полученному от основного сервера мессенджера.С разговорами и чатами ровно точно так же — вам потребуется иметь соединение с интернетом только для начала общения (проверка ключей шифрования) — дальнейшее взаимодействие может быть P2P — вы гарантировано будете уверяны, что трафик получает именно ваш друг.Если вы житель большого города — везде.В общественном транспорте, на работе, да даже дома в квартире — ваш телефон может видеть соседние устройства. А теперь подумайте, что если все устройства у которых установлен популярный мессенджер, будут автоматически создавать ту самую сеть, без какой-либо настройки…Давайде подведем итог — выше я описал, как с помощью незначительной доработки мессенджера сделать его:Но, это только мысли, я очень надеюсь, что Telegram/Whatsapp/любой другой крупный мессенджер решится на такую авантюру и мы наконец-то перевернём страницу истории, открыв главу распределенного интернета.