Как работает Телеграмм под капотом

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

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

Технические характеристики Телеграм

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

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

Эти 3 вещи надо смотреть под капотом!

Программные средства

Официальным языком Телеграм признан С++. Такой выбор логичен в силу совместимости этого языка с языком «Си», на котором создаются приложения для смартфонов на платформах Андроид и iOS. Некоторые эксперты программирования выдвигают гипотезы, что для написания мессенджера был создан особый программный проект, включающий смесь из С++, Java и структурных блоков Java. По-видимому, подобная информация рассматривается разработчиками как конфиденциальная, поэтому такие предположения не получают комментариев от команды Телеграм.

Базовая версия Telegram, созданная на С++, не переписывалась с 2013 года. Каждая новая версия дополняет и совершенствует предыдущую, не меняя основного каркаса. Целиком код переделывался однажды – при написании веб-клиента Телеграм Х. Тогда авторами был использован язык SWIFT.

Интерфейс

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

na-chem-napisan-telegramm (1)

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

na-chem-napisan-telegramm (2)

na-chem-napisan-telegramm (3)

Компьютерный вариант Telegram имеет несколько отличающийся внешний вид: с левой стороны расположен список активных собеседников. Для удобства использования смайликов соответствующее меню легко перемещается направо.

Шифрование

При пересылке месседжей применятся протокол MTProto, при аутентификации – криптосистема RSA2048 и протокол Диффи-Хеллмана (2048). Секретность при обмене данными между двумя абонентами сервиса обеспечивается посредством использования симметричного рандомно создаваемого ключа, известного только серверу и адресату.

Ключ навечно удаляется из всех материальных источников по истечении десяти минут после доставки месседжа. Модернизированный протокол MTProto2.0 предполагает использование для шифрования алгоритма SHA 256.

Для закрытых бесед Телеграм применяется усовершенствованный метод шифрования, когда ключ пересылается непосредственно от отправителя к адресату послания, минуя запись на сервер. Такая степень секретности доступна благодаря использованию стандарта шифрования AES 256. Если пользователь принимает решение уничтожить сообщение, этот месседж также удаляется с сервера.

Еще по теме:  Такси в Телеграмме отзывы

Исходный код Telegram

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

Назначение

Владельцы приложения предполагают, что свободное использование программистами исходного кода будет способствовать популяризации и дальнейшему совершенствованию сервиса Телеграм. Авторы, желающие добровольно поучаствовать в разработке программных продуктов на платформе Telegram, могут использовать варианты с поддержкой различных языков программирования. При этом обмен данными и процессы зашифровки будут работать по стандартному алгоритму, принятому для мессенджера.

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

Как воспользоваться кодом

Команда Telegram разместила ссылки на исходный код мессенджера для любых платформ на официальном сайте. Там же можно найти подробную инструкцию и документацию для разработчиков.

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

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

Версии Телеграм

Официальные варианты мессенджера для различных платформ, следующие:

  • Мобильная версия для устройств на:
  • Android;
  • iOS;
  • Windows Phone.
  • Windows;
  • Linux;
  • Mac OS.

Официальная альтернатива стандартному варианту мессенджера – TelegramX. В сети много ресурсов, предоставляющих аналогичные услуги: Плюс мессенджер, Vidogram, TechGram, Мобограм и другие. Такие сервисы полезны, если Телеграмм блокирует аккаунт.

Альтернативные мессенджеры стремятся привлечь пользователей оригинальным дизайнерским решением или дополнительными опциями.

В итоге

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

Вам также может понравиться

Подробнее о статье Как удалить аккаунт Telegram с компьютера

Как удалить аккаунт Telegram с компьютера

Подробнее о статье Настройка приватности в Telegram

23.07.2021

Настройка приватности в Telegram

Подробнее о статье Удаление учетной записи в Telegram

22.07.2021

Удаление учетной записи в Telegram

Подробнее о статье Как локализовать (перевести на русский язык) Telegram?

04.07.2021

Как локализовать (перевести на русский язык) Telegram?

Подробнее о статье Юзернейм абонента Телеграм

25.11.2020

Юзернейм абонента Телеграм

Подробнее о статье Как удалить свой аккаунт в Телеграмме

23.03.2021

Источник: 101info.ru

Темные лошадки: Команда Telegram

С кем у вас ассоциируется Telegram? С Павлом Дуровым, угадали?

Максимум, что знают продвинутые пользователи, у Павла есть родной брат Николай. Именно этот технический гений разработал протокол MTProto, на котором работает Telegram (и не только Telegram).

Николай занимается, как вы уже могли догадаться, разработкой платформы TON. Более чем стостраничный White Paper с описанием принципов работы экосистемы, создаваемой на базе мессенджера — его рук, точнее ума, дело.

Он, бывший олимпиадник, в одной команде с Павлом со времен начала Вконтакте: “Я на начальном этапе развития проекта разве что помогал общими советами и был кем-то вроде первого системного администратора компании. Года через полтора после запуска понадобилось разрабатывать специализированные системы хранения данных, в дополнение к стандартным инструментам вроде MySQL, и PHP-коду, написанному Павлом и другими PHP-разработчиками, и вот тогда-то подключились мы с Андреем Лопатиным, а затем и другие олимпиадники.”

Еще по теме:  Как сделать чтобы в Телеграмме комментировались посты

Подробнее о брате Павла можно почитать в статье.

Как и сказал Николай, многие его знакомые школьных времен пришли работать Вконтакте. Как это связано с Telegram? В 2013 году, как раз после продажи соцсети и запуска мессенджера, Павел забрал топовых программистов с собой в Telegram.

“В команде Telegram лучшие разработчики мира” — Павел Дуров в интервью The Daily Dot

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

Основная команда состоит из тех самых разработчиков Вконтакте. Бывших олимпиадников, приведенных Николаем в конце нулевых. Их бэкграунд: соцсеть на более, чем 100 миллионов человек и победы в лучших соревнованиях по программированию в мире. Павел избирателен. Предпочитает лучших специалистов для разработки лучших продуктов и не соглашается на меньшее. Стоит взять подход на заметку 🙂

Второй (и последний) способ попасть в команду Telegram: занять первое место в одном из общенациональных многоуровневых соревнований по кодингу, проведенных основателем Telegram. Проще говоря, забрать кубок в Telegram Challenge, ранее Durov’s Android Challenge.

В интернете не найти интервью членов команды Telegram, их биографии не распространены так, как истории братьев-основателей. Велика вероятность, что политикой компании открытые заявления о месте и деталях работы запрещены.

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

Так ли это в Telegram? Возможно. Напомним только одно: темперамент разработчиков зачастую предполагает легкую замкнутость и нежелание публичности. В White Paper TON приподняли завесу тайны

О команде Telegram в формате:

  1. Роль в компании
  2. Предыдущий опыт
  3. Награды

Алексей Левин

Роль в компании —> С 2013 программист C / C ++ в Telegram. Разработал движки распределенного механизма хранения данных, клиентских кросс-платформенных библиотеки и бот-API.

Предыдущий опыт —> 2010-2013: программист C / C ++ в VK. Встроенные механизмы хранения данных и язык программирования KPHP для разработчиков на высоком уровне.

—> Золотая медаль, Международный турнир по программированию в ACM (2011)

—> Серебряная медаль, Международный турнир по программированию в ACM (2010)

—> Первый приз, Международный конкурс математики для студентов университетов (2009)

—> Золотая медаль, первое место, Международная математическая олимпиада (2005)

—> Серебряная медаль, Международная математическая олимпиада (2004)

Виталик Валтман

Роль в компании —> 2013-настоящее время: программист C / C ++ в Telegram. Разработал сетевые движки и движки хранения данных.

Предыдущий опыт —> 2010-2013: программист C / C ++ в VK. Разработал сетевые движки и движки хранения данных.

Еще по теме:  Как сделать рассылку в Телеграмме через бота

—> Серебряная медаль, International Programming Contest World Finals (2006)

—> 4-е место, Open Coder Open

—> 4-е место, Top Coder Collegiate Contest

Арсений Смирнов

Роль в компании —> 2013-настоящее время: программист C / C ++ в Telegram. Разработал серверные движки хранения данных, клиентские кроссплатформенные библиотеки и бот API.

Предыдущий опыт —> 2010-2013: программистр C / C ++ в VK. Разработал движки хранения данных и создал пользовательский язык программирования KPHP для разработчиков бэк-энд.

—>Золотая медаль, Международный турнир по программированию в ACM (2011)

—> Серебряная медаль, Международный турнир по программированию в ACM (2010)

Джон

Роль в компании —> 2014-настоящее время: Программист C ++ Engineer в Telegram. Сам построил десктопную версию Telegram.

Предыдущий опыт —> 2007-2013: Ведущий бэкэнд / фронт-энд разработчик VK после победы в общенациональном конкурсе по JS.

Игорь

Роль в компании —> 2014-настоящее время: Главный программист по работе в Telegram. Разработал весь API Telegram для клиентских приложений.

Предыдущий опыт —> 2007-2013: Ведущий бэкэнд / фронт-энд. Программист VK после победы в общенациональном конкурсе по JS.

DrKlo

Роль в компании —> 2014-настоящее время: Android-разработчик Telegram после победы в общенациональном конкурсе в Android Java. Разработал Telegram для Android.

Предыдущий опыт —> 2012-2013: iOS Engineer в VK после победы в общенациональном конкурсе по Objective C.

Питер

Роль в компании —>> 2014-настоящее время: iOS / Swift Раазработчик в Telegram. Разработал Telegram для iOS (цель C). Разработал бета-версию Telegram для iOS (Swift).

Предыдущий опыт —> 2012-2013: iOS Разработчик в VK после победы в общенациональный конкурсе по Objective C.

Гриша

Роль в компании —> 2016-настоящее время: разработчик Cross Platform в Telegram. Разработал голосов звонки.

Предыдущий опыт —> 2010-2016: Android-разработчик в VK после победы в общенациональном конкурсе на Java для Android. Сам разработал приложение VK для Android.

Колар

Роль в компании —>> 2014-настоящее время: Бэкэнд / Фронт-энд. Программист в Telegram. Разработал Instant View Platform, Translations Platform, telegra.ph, telesco.pe.

Предыдущий опыт —> 2010-2013: Ведущий бэкэнд / фронт-энд. Программист VK после победы в общенациональном конкурсе по JS.

Илья

Роль в компании —> 2013-настоящее время: iOS / Swift Engineer в Telegram после того как выиграл несколько общенациональных конкурсов в Objective C. Разработал разнообразные функций для Telegram iOS.

Игорь

Роль в компании —> 2013-настоящее время: архитектор инфраструктуры в Telegram. Масштабировал Telegram до десятков тысяч серверов.

Предыдущий опыт —> 2008-2013: старший системный программист. Масштабировал VK до десятков тысяч серверов.

Telegram словно стал менее загадочным и реалистичным, когда мы посмотрели, кто за ним стоит. Пускай “Илья” и “Игорь” не особо открывают завесу тайны, мы узнали что-то интересное о людях, стоящих за мессенджером Telegram и платформой TON. А то из СМИ складывается ощущение, что Паша то ли сам пилит каждое обновление, то ли скрывает своих сотрудников 🙂

Подписывайтесь на TON — новости — самое крупное сообщество про блокчейн и криптовалюту Павла Дурова

Источник: coinpost.finance

Рейтинг
( Пока оценок нет )
Загрузка ...