MTProto: расшифровка аббревиатуры и история
MTProto расшифровывается как Mobile Transport Protocol — «мобильный транспортный протокол». Его создали в 2013 году специально для Telegram, и за пределами мессенджера он почти не встречается.
Кто и когда
Протокол разработал Николай Дуров с командой в 2013 году, одновременно с запуском Telegram. Задача была практическая: мессенджер для телефонов с плохим интернетом, быстрый и не зависящий от чужой инфраструктуры. Первая версия критиковалась криптографами, в 2017-м вышла переработанная версия 2.0, которая действует до сих пор.
Что означает каждое слово
- Mobile — рассчитан на мобильные сети: экономия трафика, переподключение, батарея. См. «MTProto как мобильный протокол».
- Transport — описывает, как сообщения упаковываются и доставляются, а не что в них написано.
- Protocol — набор правил, по которым клиент и сервер понимают друг друга.
Где используется
Во всех официальных клиентах Telegram, в Telegram Bot API (внутри, для связи с ядром), в сторонних клиентах на библиотеках TDLib, Telethon, MTProto-библиотеках для разных языков. Вне экосистемы Telegram протокол не прижился: он слишком заточен под конкретный сервис.
MTProto и MTProxy — почему путают
MTProxy — сервер-посредник, работающий по MTProto. Разница — как между HTTP и веб-сервером. В быту «mtproto прокси», «mtproxy» и «прокси телеграм» означают одно и то же — сервер, к которому подключается приложение. Разбор — «Что такое MTProxy».
Открыт ли протокол
Да, спецификация опубликована на core.telegram.org вместе со схемой TL и описанием криптографии. Клиенты Telegram открыты, серверная часть — нет. Открытость спецификации позволила появиться независимым реализациям и прокси-серверам, о которых рассказано на странице «Что такое MTProto».