Telegram (software)

From Infogalactic: the planetary knowledge core
(Redirected from MTProto)
Jump to: navigation, search
Telegram Messenger
121px
<templatestyles src="Template:Hidden begin/styles.css"/>
Screenshot
220px
Telegram running on iOS, screenshot taken in 2019
Developer(s) Telegram FZ LLC
Telegram Messenger Inc.
Initial release August 14, 2013; 10 years ago (2013-08-14)
Stable release Android 3.9.0 (May 15, 2016; 7 years ago (2016-05-15)[1]) [±]

iOS 3.9 (May 15, 2016; 7 years ago (2016-05-15)[2]) [±]
Windows Phone 1.23 (2016; 8 years ago (2016)[3]) [±]
Web Application 0.5.3 (February 10, 2016; 8 years ago (2016-02-10)[4]) [±]
OS X 2.13 (May 20, 2016; 7 years ago (2016-05-20)[5]) [±]

Desktop 0.9.49 (May 16, 2016; 7 years ago (2016-05-16)[6]) [±]
Written in C++ , C , Java
Platform Android, iOS, Windows, macOS, Linux, Web platform
Available in 58 languages[7][8]
<templatestyles src="Template:Hidden begin/styles.css"/>
List of languages
Chinese (Beta), English, Hindi, Russian, Persian, Turkish, Italian, Arabic, Ukrainian, Uzbek, Portuguese, Spanish, German, Dutch, French, Japanese (Beta), Korean, Indonesian, Malay, Belarusian, Catalan, Polish, Finnish
Type Instant messaging
License GNU GPLv2 or GPLv3 (clients),[9] proprietary (server)[10]
Website telegram.org
Telegram Messenger Inc.
Web address telegram.org

Telegram is a freemium, cross-platform, cloud-based instant messaging (IM) service. The service also provides end-to-end encrypted video calling,[11] VoIP, file sharing and several other features. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. The servers of Telegram are distributed worldwide with five data centers in different regions, while the operational center is based in Dubai, United Arab Emirates.[12][13][14][15] Various client apps are available for desktop and mobile platforms including official apps for Android, iOS, Windows, macOS and Linux (although registration requires an iOS or Android device and a working phone number).[16][17][18] There are also two official Telegram web twin apps, WebK and WebZ,[19] and numerous unofficial clients that make use of Telegram's protocol. All of Telegram's official components are open source,[20] with the exception of the server which is closed-sourced and proprietary.[10]

Telegram provides optional end-to-end encrypted chats. Cloud chats and groups are encrypted between the app and the server, so that ISPs and other third-parties on the network can't access data, but the Telegram server can. Users can send text and voice messages, make voice and video calls, and share an unlimited number of images, documents (2 GB per file), user locations, animated stickers, contacts, and audio files.

In January 2021, Telegram surpassed 500 million monthly active users.[21] It was the most downloaded app worldwide in January 2021[22][non-primary source needed] with 1 billion downloads globally as of late August 2021. In June 2022, Telegram surpassed 700 million monthly active users.[23][24] The same month, Telegram Premium, an optional paid subscription with extra features, was introduced.

History

Development

Telegram was launched in 2013 by the brothers Nikolai and Pavel Durov. Previously, the pair founded the Russian social network VK, which they left in 2014, saying it had been taken over by President Putin's allies.[25] Pavel Durov sold his remaining stake in VK and left Russia after resisting government pressure.[26] Nikolai Durov created the MTProto protocol that is the basis for the messenger, while Pavel Durov provided financial support and infrastructure through his Digital Fortress fund.[27] Telegram Messenger states that its end goal is not to bring profit,[28][29] but it is not structured as a non-profit organization.[30]

Telegram is registered as a company in the British Virgin Islands[31] and as an LLC in Dubai.[32][33] It does not disclose where it rents offices or which legal entities it uses to rent them, citing the need to "shelter the team from unnecessary influence" and protect users from governmental data requests.[34] After Pavel Durov left Russia in 2014, he was said to be moving from country to country with a small group of computer programmers consisting of 15 core members.[26][35] While a former employee of VK claimed that Telegram had employees in Saint Petersburg,[36] Pavel Durov said that the Telegram team made Berlin, Germany its headquarters in 2014,[37] but failed to obtain German residence permits for everyone on the team and moved to other jurisdictions in early 2015.[36] Since 2017, the company has been based in Dubai. [38]

Telegram apps receive monthly updates.[39] Users can report apps' issues and recommend development ideas on the dedicated "Bugs and Suggestions" platform.[40]

Usage numbers

<templatestyles src="Graph:Chart/styles.css"></templatestyles>

In October 2013, Telegram announced that it had 100,000 daily active users.[27] On 24 March 2014, Telegram announced that it had reached 35 million monthly users and 15 million daily active users.[41] In October 2014, South Korean governmental surveillance plans drove many of its citizens to switch to Telegram.[37] In December 2014, Telegram announced that it had 50 million active users, generating 1 billion daily messages, and that it had 1 million new users signing up on its service every week,[42] traffic doubled in five months with 2 billion daily messages.[43] In September 2015, Telegram announced that the app had 60 million active users and delivered 12 billion daily messages.[44]

In February 2016, Telegram announced that it had 100 million monthly active users, with 350,000 new users signing up every day, delivering 15 billion messages daily.[45] In December 2017, Telegram reached 180 million monthly active users.[46] In March 2018, Telegram reached 200 million monthly active users.[47] On 14 March 2019, Pavel Durov claimed that "3 million new users signed up for Telegram within the last 24 hours."[48] Durov did not specify what prompted this flood of new sign-ups, but the period matched a prolonged technical outage experienced by Facebook and its family of apps, including Instagram.[49]

According to the U.S. Securities and Exchange Commission, the number of monthly Telegram users as of October 2019 is 300 million people worldwide.[50]

On 24 April 2020, Telegram announced that it had reached 400 million monthly active users.[51] On 8 January 2021, Durov announced in a blog post that Telegram had reached "about 500 million" monthly active users.[52]

In August 2021, TechCrunch reported that India was Telegram's largest market with a 22% share of total installs coming from the region.[53]

On 5 October 2021, Telegram gained over 70 million new users as a result of an outage which affected Facebook and its affiliates.[54]

On 21 March 2022, Telegram usage share jumped to 63%, overtaking WhatsApp's usage share of 32% to become Russia's most popular messaging tool.[55] On 19 June, Telegram announced that it had reached 700 million monthly active users.[23][24]

Features

Account

Telegram accounts are tied to telephone numbers and are verified by SMS or phone call.[56] Account creation requires an iOS or Android device regardless of the platform intended to be used.[18][16] Users can add multiple devices to their account and receive messages on all of them. Connected devices can be removed individually or all at once. The associated number can be changed at any time and when doing so, the user's contacts will receive the new number automatically.[56][57][58] In addition, a user can set up a username as an alias that allows them to send and receive messages without exposing their phone number.[59] Telegram accounts can be deleted at any time and they are deleted automatically after six months of inactivity by default, which can optionally be changed from 1 month at the shortest up to 12 months at most with a range between. Users can replace exact "last seen" timestamps with broader messages such as "last seen recently".[60]

The default method of authentication that Telegram uses for logins is SMS-based single-factor authentication.[61][62] A one-time passcode that is sent via SMS to the user's phone number is required to log into the account by default.[62][63] Users also have the option to create a password as a form of two-step verification.[64]

Telegram allows groups, bots and channels with a verified social media or Wikipedia page to be verified but not user accounts.[65][66]

Cloud-based messages

Telegram's default messages are cloud-based and can be accessed on any of the user's connected devices. Users can share photos, videos, audio messages and other files (up to 2 gigabytes per file). Users can send messages to other users individually or in groups of up to 200,000 members.[67] Sent messages can be edited up to 48 hours after they have been sent and can be deleted at any time on both sides. Messages in all chats, including groups and channels, can be set to auto-delete after 24 hours, 7 days or a month, although this will only apply to messages sent after the auto-delete timer is enabled.[68][69] People can react to messages, choosing from a range of emoji. A user can only send one reaction and tapping on any other reaction will switch to it. In groups, a list of people who reacted is available. Reactions are always on in personal chats but have to be enabled by the admin in groups and channels, fully or partially, with a smaller number of reactions chosen.[70]

Telegram offers drafts which sync across user devices, such as when a user starts typing a message on one device and can later continue on another. The draft will persist in the editing area on any device until it is sent or removed.[71] All chats, including groups and channels, can be sorted into custom folders set by the user. Users have the option to schedule messages in personal chats to be sent when the other side comes online.[72] Users can also import chat history, including both messages and media, from WhatsApp, Line and Kakaotalk due to data portability, either making a new chat to hold the messages or adding them to an existing one.[73][74]

The transmission of cloud messages to Telegram's servers is encrypted with the service's MTProto protocol, while 'Secret Chats' use end-to-end encryption based on the same protocol.[75] According to Telegram's privacy policy, "all data is stored heavily encrypted and the encryption keys in each case are stored in several other data centers in different jurisdictions. This way local engineers or physical intruders cannot get access to users' data".[76] Telegram's local message database is not encrypted by default.[77] Some Telegram clients allow users to encrypt the local message database by setting a passphrase.[78]

Telegram users can share their live location in a chat for either 15 minutes, one hour, or eight hours. If multiple users share their live location within a group, they are shown on an interactive map. Sharing the 'live location' can be stopped at any time.[79]

Secret chats

A "secret chat" confirmation notice - screenshot from Android Marshmallow.

Messages can also be sent with client-to-client encryption in so-called secret chats. These messages are encrypted with the service's MTProto protocol.[80] Unlike Telegram's cloud-based messages, messages sent within a secret chat can be accessed only on the device upon which the secret chat was initiated and the device upon which the secret chat was accepted.[27][75][81] Messages sent within secret chats can, in principle, be deleted at any time and can optionally self-destruct.[82]

Secret chats have to be initiated and accepted via an invitation, upon which the encryption keys for the session are exchanged. Users in a secret chat can verify that no man-in-the-middle attack has occurred by comparing pictures that visualize their public key fingerprints.[83]

According to Telegram, secret chats have supported perfect forward secrecy since December 2014. Encryption keys are periodically changed after a key has been used more than 100 times or has been in use for more than a week.[77] Old encryption keys are destroyed.[57][58][84]

Secret Chats are only available on the Android, iOS and macOS clients of the app.[85]

Channels

In September 2015, Telegram added channels. Channels are a form of one-way messaging where admins are able to post messages but other users are not. Any user is able to create and subscribe to channels. Channels can be created for broadcasting messages to an unlimited number of subscribers.[86] Channels can be publicly available with an alias and a permanent URL so anyone can join. Users who join a channel can see the entire message history. Users can join and leave channels at any time. Depending on a channel's settings, messages may be signed with the channel's name or with the username of the admin who posted them. Non-admin users are unable to see other users who've subscribed to the channel. The admin of the channel can view statistics about channel activity as each message has its own view counter, showing how many users have seen this message, including views from forwarded messages. As of May 2019, the creator of a channel can add a discussion group, a separate group where messages in the channel are automatically posted for subscribers to communicate. This enables comments for posts in the channel.[87][88]

In December 2019, Bloomberg News moved their messenger-based newsletter service from WhatsApp to Telegram after the former banned bulk and automated messaging.[89][90] Other news services with official channels on the platform include the Financial Times,[91] Business Insider[92] and The New York Times.[93]

Channels have also been used by governments and heads of state. Notable examples include Volodymyr Zelensky[94] and Emmanuel Macron.[95]

In December 2021, content protection features were introduced that allow admins of private channels and groups to disable screenshots, message forwarding and saving data in their communities.[96]

Video and voice calls

At the end of March 2017, Telegram introduced its own end-to-end encrypted voice calls. Connection is established as peer-to-peer whenever possible, otherwise the closest server to the client is used. According to Telegram, there is a neural network working to learn various technical parameters about a call to provide better quality of the service for future uses.[97]

Telegram added group voice chats in December 2020.[98] Any group or channel admin can launch a chat, which will be open to all members and ongoing even if no one is currently using it. Admins can mute members by default or selectively as well as create invite links that will add people as muted by default. Members can use the Raise Hand button to signal their desire to speak. A push-to-talk option is available on mobile versions, as well as key shortcuts to mute and unmute oneself on Telegram Desktop. Admins of groups or channels have the option to join as their group or channel, hiding their personal account. Users can also record chats with a red dot shown as a warning during the recording period.[99]

Telegram announced in April 2020 that they would include group video calls by the end of the year.[100] On 15 August 2020, Telegram added video calling with end-to-end encryption.[101] Picture-in-picture mode is also available, giving the ability to use the other functions of the app during the call.[102] In June 2021, Telegram implemented group video calls across all of its clients. Users can stream video from their camera, share their screen or do both simultaneously.[103][104] Group calls have support for selective screen sharing, split screen view and improved noise suppression.[105] In July 2021, Telegram introduced the ability for up to 1000 people to watch the streamed video.[106] Livestreams support unlimited participants and third-party streaming software such as OBS Studio and XSplit, supporting custom interfaces and overlays.[107][108]

Bots

In June 2015, Telegram launched a platform for third-party developers to create bots.[109] Bots are Telegram accounts operated by programs. They can respond to messages or mentions, can be invited into groups, and can be integrated with other programs. Bots can also accept online payments made with credit cards or Apple Pay.[110] The Dutch website Tweakers reported that an invited bot can potentially read all group messages when the bot controller changes the access settings silently at a later point in time. Telegram pointed out that it considered implementing a feature that would announce such a status change within the relevant group.[111] There are also inline bots, which can be used from any chat screen. To activate an inline bot, a user must type the bot's username and a query in the message field. The bot then will offer its content. The user can choose from that content and send it within a chat.[112]

Bots can also handle transactions provided by Paymentwall, Yandex.Money, Stripe, Ravepay, Razorpay, QiWi and Google Pay for different countries.[113] Bots also power Telegram's gaming platform, which utilizes HTML5, so games are loaded on-demand as needed, like ordinary webpages. Games work on iPhones 4 and newer and on Android 4.4 devices and newer.[114]

People can use Internet Of Things (IoT) services with two-ways interaction for IFTTT implemented within Telegram.[115]

File:Telegram android app test receipt order Screenshot 20210627.png
Test order receipt prior checkout through Telegram

In April 2021, the Payments 2.0 upgrade enabled bot payments within any chat, using third-party services such as Sberbank, Tranzoo, Payme, CLICK, LiqPay and ECOMMPAY to process the credit card information.[116]

In February 2018, Telegram launched their social login feature to its users, named Telegram Login. It features a website widget that could be embedded into websites, allowing users to sign into a third party website with their Telegram account. The gateway sends users' Telegram name, username, and profile picture to the website owner, while users' phone number remains hidden. The gateway is integrated with a bot, which is linked with the developer's specific website domain.[117]

Comments.App, is a tool for commenting on pages, channel posts, it lets you add a comments widget to your website. With the widget in place, Telegram users will be able to log in with just two taps and leave comments with text and photos, as well as like, dislike and reply to comments from others. They can also subscribe to comments and get notifications from @DiscussBot.[87] Widgets are configurable. Developers can change the color theme, use different colors for names, change the design to a dark theme, change the maximum number of comments on the page, change the height, assign moderators, and block user spam; the mode of filled and outlined icons is also supported.

In June 2021, an update introduced a new bot menu where users can browse and send commands while in a chat with a bot.[118]

In April 2022, bots gained support for customized interfaces and inline page loading. Interfaces can be adjusted to match the app's theme even if it is changed while interacting

Instant View

Instant View is a way to view web articles with zero page load time. With Instant View, Telegram users can read articles from mass media or blogs in a uniform and readable way. Instant View pages support text and media of any type and work even if the original website was not optimized for mobile devices.

On top of this, Instant View pages are extremely lightweight and cached on the Telegram servers, so they load instantly on pretty much any connection. [119][120][121]

Telegraph

Telegraph is a publishing tool used to create formatted posts with photos and embedded media.[119] It is designed in a minimalist style, the article pages do not contain any controls. Each article on the website is separate, there is no possibility to merge articles into groups or hierarchies. For each article, the author specifies a title and optionally a subtitle, usually used for the author's name. In addition, the title of the article indicates the date of the first publication, which the author of the article cannot influence.

Text formatting options are also minimal: two levels of headings, single-level lists, bold, italics, quotes, and hyperlinks are supported. Authors can upload images and videos to the page, with a limit of 5Mb. When an author adds links to YouTube, Vimeo, or Twitter, the service allows you to embed their content directly in the article.[122]

When an article is first published, the URL is generated automatically from its title. Non-Latin characters are transliterated, spaces are replaced with hyphens, and the date of publication is added to the address. For example, an article titled "Telegraph (blog platform)" published on 17 November would receive the URL /Telegraph-blog-platform-11-17.

Stickers and animated emoji

Telegram has more than 20,000 stickers. Stickers are cloud-based, high-resolution images intended to provide more expressive emoji. When typing in an emoji, the user is offered to send the respective sticker instead. Stickers come in collections called "packs", and multiple stickers can be offered for one emoji. Telegram comes with one default sticker pack,[123] but users can install additional sticker packs provided by third-party contributors. Sticker sets installed from one client become automatically available to all other clients. Sticker images use WebP file format, which is better optimized to be transmitted over the internet. The Telegram clients also support animated emoji.[118] In January 2022, video stickers were added, which use the WebM file format and do not feature any software requirements to create.[124]

Real-life identification

In July 2018, Telegram introduced their online authorisation and identity management system, Telegram Passport, for platforms that require real-life identification.[125] It asks users to upload their own official documents such as passport, identity card, driver license, etc. When an online service requires such identification documents and verification, it forwards the information to the platform with the user's permission. Telegram stated that it does not have access to the data, while the platform will only share the information to the authorised recipient.[126] However, the service was criticised for being vulnerable to online brute force attacks.[127]

Polls

Polls are available on Android, iOS, and desktop applications. Polls have the option to be anonymous or visible. A user can enter multiple options into the poll. Quiz mode can also be enabled where a user can select the right answer for their poll and leave it to the group to guess. Quiz bots can also be added to track correct answers and even provide a global leaderboard.[128]

People Nearby and Groups Nearby

People Nearby can help users meet new friends by turning on phone GPS location and opting-in contacts and through Groups Nearby people can create a local group by adding location data to groups.[129][130]

Architecture

Encryption scheme

A simplified illustration of the MTProto encryption scheme.

Telegram uses a custom build symmetric encryption scheme called MTProto. The protocol was developed by Nikolai Durov and other developers at Telegram and is based on 256-bit symmetric AES encryption, 2048-bit RSA encryption and Diffie–Hellman key exchange.[80]

Servers

As with most instant messaging protocols, Telegram uses centralized servers. Telegram Messenger LLP has servers in a number of countries throughout the world to improve the response time of their service.[131] Telegram's server-side software is closed-source and proprietary.[10] Pavel Durov said that it would require a major architectural redesign of the server-side software to connect independent servers to the Telegram cloud.[132]

For users who signed in from the European Economic Area (EEA) or United Kingdom, the General Data Protection Regulations (GDPR) are supported by storing data only on servers in the Netherlands, and designating a London-based company as their responsible data controller.[133][134][135]

Client apps

Telegram has various client apps, some developed by Telegram Messenger LLP and some by the community. Most of them are free and open-source and released under the GNU General Public Licence version 2 or 3. The official clients support sending any file format extensions. The built-in media viewer supports common media formats - JPEG, PNG, WebP for images and H.264 and HEVC in videos in MP4 container and MP3, FLAC, Vorbis, Opus and AAC for audio.

In 2021, the Telegram team announced a direct build of its Android app. Telegram for Android is available directly from the Telegram website.[136]

It is automatically updated and will most likely get new versions faster than the apps in the Play Store and App Store.[137]

Also, a distinctive feature of this version is the ability to view channels/groups on a specific topic without censorship, which cannot be viewed from an app distributed from Google Play or the Apple Store due to their policies.[citation needed]

Common specifications:

  • No cloud backup option for secret chat
Name Platform(s) Official Source code license Support for secret chats Notes
Telegram Android 2.3 or later Yes GPLv2 or later[138][139] Yes Supports tablets[140] and Android Wear smart watches.[141] Support synchronisation between multiple devices.
Telegram iOS 9.0 or later, watchOS 5.0 or later Yes GPLv2 or later[138][142] Yes Launched in August 2013 for iPhone and iPod Touch and relaunched in July 2014 with support for iPad and Apple Watch.[143]
Telegram X Android[144] Yes[145] GPLv3 or later[146] Yes An alternative Telegram client written from scratch, with higher speed, slicker animations, themes and more efficient battery use.

iOS version is written with Swift. Android version based on TDLib. The iOS version was discontinued, with its code merged with the main Telegram app.

Telegram Messenger Windows Phone Yes GPLv2 or later[138] Yes Provide synchronization between all platforms
Telegram Desktop Windows, macOS, and Linux Yes GPLv3 with OpenSSL exception[147] No Qt-based desktop client. The Windows client is a traditional desktop app published in three flavors (with installer, portable, Windows Store app). The desktop version cannot be used anymore to register and log in, this feature is officially supported by the mobile app only.[16]
Telegram macOS Yes GPLv2[148] Yes Native macOS client.
Telegram WebK / WebZ Web Yes GPLv3[149][150] No Two web-based versions of Telegram. The web version cannot be used to register and log in, this feature is officially supported by the mobile app only.[17] The code for the legacy web client called Webogram is available as well, though this version is no longer supported.[151]

APIs

Telegram has public APIs with which developers can access the same functionality as Telegram's official apps to build their own messaging applications.[152] In February 2015, creators of the unofficial Whatsapp+ client released the Telegram Plus app, later renamed to Plus Messenger, after their original project got a cease-and-desist order from WhatsApp.[153][154] In September 2015, Samsung released a messaging application based on these APIs.[155]

Telegram also offers an API that allows developers to create bots, which are accounts controlled by programs.[156][157] Such bots are used, among other things, to emulate and play old games in the app and inform users about vaccine availability for COVID-19.[158][159]

In addition, Telegram offers functions for making payments directly within the platform, alongside an external service such as Stripe.

Monetization and funding

The company was initially supported by its CEO's personal funds after the sale of his stake in VK. In January 2018, it launched an ICO and collected $1.7 billion from investors such as Kleiner Perkins, Sequoia Capital and Benchmark.[160] After the shutdown of the TON project, the company needed to repay the investors the money that was not spent on the development during 2018 and the beginning of 2019, when the project was active.[161]

On 15 March 2021, Telegram conducted a five-year public bonds placement worth $1 billion. The funding was required to cover the debts amounting to $625.7 million, including $433 million to investors who bought futures for Gram tokens in 2018 and included purchasers such as David Yakobashvili.[162] On 23 March, Telegram also sold additional bonds worth $150 million to the Abu Dhabi Mubadala Investment Company and Abu Dhabi Catalyst Partners.[163] A day later, the Mubadala Investment Company stated that Russia's sovereign wealth fund participated in its deal undisclosed through the Russia-UAE joint investment platform to buy convertible bonds. A Telegram spokesperson stated: "RDIF is not in the list of investors we sold bonds to. We wouldn’t be open to any transaction with this fund" and "[t]he funds that did invest, including Mubadala, confirmed to us that RDIF was not among their LPs."[164] According to the contract, the holders of the bonds will be provided with an option to convert them to shares at a 10% discount if the company conducts an open IPO.[165] The company's CEO has stated that the move aimed to "enable Telegram to continue growing globally while sticking to its values and remaining independent". According to press reports, prior to the bonds placement, Durov had rejected an investment offer for a 5-10% stake in the company as well as several undisclosed ones, valuing the company in a $30–40 billion range.[163]

Advertising and paid features

Telegram has stated that the company will never serve advertisements in private chats.[166] In late 2020, Durov announced that the company was working on its own ad platform, and will integrate non-targeted ads in public one-to-many channels, that already sell and display ads in the form of regular messages.[167] Ads began to appear in channels with more than 1000 followers in October 2021. Durov has stated that Telegram is considering a paid subscription that would hide ads, while allowing users to directly support the app.[168]

Durov announced that Telegram will also consider adding paid features aimed at enterprise clients. According to him, these features will require more bandwidth and the added cost will be covered by the feature prices, in addition to covering some of the costs incurred by regular users.[169]

On 10 June 2022, Durov announced via his official channel that Telegram Premium would launch later the same month. The optional paid subscription gives users a doubled file upload limit from 2 GB to 4 GB, numerous increases in other limits such as the number of pinned chats and folders, access to extra stickers and reactions and some exclusive features.[170] Telegram Premium was launched on 19 June 2022.[23][24]

Telegram Open Network

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

In 2017, in an attempt to monetize Telegram without advertising, the company began the development of a blockchain platform dubbed either "The Open Network" or "Telegram Open Network" (TON) and its native cryptocurrency "Gram". The project was announced in mid-December 2017[171] and its 132-page technical paper became available in January 2018.[172] The codebase behind TON was developed by Pavel Durov's brother Nikolai Durov, the core developer of Telegram's MTProto protocol.[173] In January 2018 a 23-page white paper[174] and a detailed 132-page technical paper[175] for TON blockchain became available.[176]

Durov planned to power TON with the existing Telegram user base, and turn it into the largest blockchain and a platform for apps and services akin to a decentralized WeChat, Google Play, and App Store.[177][178] Besides, the TON had the potential to become a decentralized alternative to Visa and MasterCard due to its ability to scale and support millions of transactions per second.[179][180] In January and February 2018 the company ran a private sale of futures contracts for Grams,[181] raising around $1.7 billion.[182][183][184][185] No public offering took place.[186]

The development of TON took place in a completely isolated manner, and the release was postponed several times.[187] The test network was launched in January 2019.[188] The launch of the TON main network was scheduled for 31 October.[189] Yet on 30 October, the U.S. Securities and Exchange Commission obtained a temporary restrictive order to prevent the distribution of Grams to initial purchasers; the regulator considered the legal scheme employed by Telegram as an unregistered securities offering with initial buyers acting as underwriters.[190]

The judge hearing the Telegram v. SEC case, P. Kevin Castel, ultimately agreed with the SEC's argument[191] and kept the restrictions on Gram distribution in force. The ban applied to non-U.S.-based purchasers as well, because Telegram couldn't prevent the re-sale of Grams to U.S. citizens on a secondary market, as the anonymity of users was one of the key features of TON.[192][193][194] Following that, Durov announced the end of Telegram's active involvement with TON. On 26 June, the judge approved the settlement between Telegram and SEC. The company agreed to pay an $18.5 million penalty and return $1.22 billion to Gram purchasers.[195] In March 2021, Telegram launched a bonds offering to cover the debt and fund further growth of the app.[162][165]

Use by fringe groups

Telegram has been used for illegal activities such as spreading hate messages, illegal pornography, contact between criminals and trading of illegal goods and services such as drugs, contraband and stolen personal data.[196][197][198][199][200] According to Wired, Telegram "exercises virtually no content moderation, except to take down illegal pornography and calls for violence."[201]

Jihadists

In September 2015, in response to a question about the use of Telegram by Islamic State of Iraq and the Levant (ISIS), Pavel Durov stated: "I think that privacy, ultimately, and our right for privacy is more important than our fear of bad things happening, like terrorism."[202] Durov sarcastically suggested to ban words because terrorists use them for communication.[203] ISIS recommended Telegram to its supporters and members[204][205][206] and in October 2015 they were able to double the number of followers of their official channel to 9,000.[207] In November 2015, Telegram announced that it had blocked 78 public channels operated by ISIS for spreading propaganda and mass communication.[208][209][210] Telegram stated that it would block public channels and bots that are related to terrorism, but it would not honor "politically-motivated censorship" based on "local restrictions on freedom of speech" and that it allowed "peaceful expression of alternative opinions."[211] ISIS's usage of Telegram reignited the encryption debate and encrypted messaging applications faced new scrutiny.[212][213]

In August 2016, French anti-terrorism investigators asserted that the two ISIS-directed terrorists who murdered a priest in Saint-Étienne-du-Rouvray in Normandy, France, and videoed the murder, had communicated via Telegram and "used the app to coordinate their plans for the attack". ISIS's media wing subsequently posted a video on Telegram, showing the pair pledging allegiance. A CNN news report stated that Telegram had "become known as a preferred means of communication for the terror group ISIS and was used by the ISIS cell that plotted the Paris terror attacks in November" after the attacks.[204] Daily Mirror called Telegram a "jihadi messaging app".[214]

In June 2017, the Russian communications regulator Roskomnadzor hinted at the possibility of a blocking of Telegram in Russia due to its usage by terrorists.[215]

In July 2017, Director General of Application and Informatics of the Indonesian Ministry of Communication and Informatics, Semuel Abrijani Pangerapan, said eleven Telegram DNS servers were blocked because many channels in the service "promoted radicalism, terrorism, hatred, bomb assembly, civil attack, disturbing images, and other propaganda contrary to Indonesian laws and regulations."[216] In August 2017, Indonesia lifted the block after countermeasures against negative content were deployed in association with Telegram LLP.[217]

In November 2019, Telegram participated in Europol's Internet Referral Action Day.[218] As a result, Telegram expanded and strengthened its terrorist content detection and removal efforts. Over 43,000 terrorist-related bots and channels were removed from Telegram. According to U.S. officials, the crackdown on Telegram was especially effective and seems to be having lasting impact.[219] According to Europol, Telegram has put forth considerable effort in removing abusers of its platform.[218]

Far-right groups

The Anti-Defamation League has called Telegram a white supremacist "safe haven" and a valuable tool for right-wing extremists. The neo-Nazi white separatist paramilitary hate group The Base switched to Telegram after being blocked on most social media platforms, including Twitter, YouTube and Gab. After a number of arrests of The Base members in January 2020, a note appeared on its official Telegram account warning people to stop posting.[220] In August 2019 white supremacist Christopher Cantwell posted anti-Semitic comments on Telegram.[221]

The Anti-Defamation League notes that Telegram was founded by the same two Russian brothers who founded VKontakte (VK), which is known for its lack of moderation when it comes to white supremacy. While Telegram's terms of service prohibit the promotion of violence, they have allowed violent videos posted by mass shooters Brenton Tarrant (Christchurch, New Zealand) and Stephan Balliet (Halle, Germany), although other social media platforms had removed them. The League also points to the RapeWaffen Division channel, which openly advocates rape and murder as part of a race war.[222]

Telegram has also been used by the alt-right organization Proud Boys to coordinate throughout the United States.[223] In the United Kingdom, Telegram is one of the main platforms for far-right publication TR.news, maintained by Tommy Robinson, and Britain First, whose pages were blocked by major social media platforms.[224] Weblinks related to these channels received more views on Telegram in 2018 and 2019 than some well-known mainstream news outlets, including The Guardian or the Daily Mail.[225] However, with a relatively small user base and no algorithmic timeline, such groups struggle to build a larger audience on Telegram.[225]

In January 2021, Telegram confirmed that it blocked "hundreds" of neo-Nazi and white supremacist channels with tens of thousands of followers for inciting violence.[226][227] A 2021 Institute for Strategic Dialogue report on the far-right in Ireland found that messages from Irish far-right groups on the app increased from a total of 801 in 2019 to over 60,000 in 2020.[228] This claim is dubious however due to the intentionally vague meaning of the term "far-right" and also considering the financial backers of the Institute for Strategic Dialogue being a large conflict of interest.[229]

On 27 August 2021, the U.S. House of Representatives select committee investigating the 2021 United States Capitol attack demanded records from Telegram (alongside 14 other social media companies) going back to the spring of 2020.[230]

Child and teenage pornography

The app has been used for distribution of pornographic material, including child and teenage pornography.[231][232] Telegram's internal reporting system has an option to report content that contains 'Child Abuse', including specific messages in groups and channels. The company has a verified channel called "Stop Child Abuse", where daily statistics on the number of groups and channels banned for sharing illegal materials are posted. It also provides an email address dedicated to reports of content related to child abuse.[233][234]

In January 2021, North Macedonian media outlets reported that a now-banned Telegram group, with more than 7,000 members, titled "Public Room" ("Јавна соба") was used to share nude photos of women, often young teenage girls.[235] Along with the shared photographs, anonymous accounts shared private information of the women, including phone numbers and social media profiles, encouraging members of the group to contact the women and ask for sexual favours.[236] This was done without prior agreement or knowledge of the women, causing intense public backlash and demand for the group to be shut down. The President of North Macedonia Stevo Pendarovski, along with the Prime Minister of North Macedonia Zoran Zaev, demanded an immediate reaction from Telegram and threatened to completely restrict access to the app in the country if no actions were taken.[237][238] The group was banned after reports from users and media, although no public statement was made.

Bot abuse

In 2021, a bot was found selling leaked phone numbers from Facebook.[239]

The chairman of the public organization "Electronic Democracy" Volodymyr Flents on 11 May 2020 announced that a Telegram bot appeared on the Web, which sold the personal data of Ukrainian citizens. It is estimated that the bot contains data from 26 million Ukrainians registered in the Dіia application. However, subsequently, Deputy Prime Minister and Minister of Digital Transformation Mikhail Fedorov denied any data from the app being leaked.

The criminal activity of 25 people has already been confirmed and copies of 30 databases were seized.[240][241][242]

A Telegram bot was blocked by Apple in 2020 after posting deepfake pornography.[243]

Telegram reportedly banned more than 350,000 bots and channels in 2020, including those that contained child abuse and terrorism-related content.[244]

Reception

Security

Telegram's security model has received praise and notable criticism by cryptography experts. They criticized how, unless modified first, the default general security model stores all contacts, messages and media together with their decryption keys on its servers continuously. And that it does not enable end-to-end encryption for messages by default.[245][246] Pavel Durov has argued that this is because it helps to avoid third-party unsecured backups, and to allow users to access messages and files from any device. Criticisms were also aimed at Telegram's use of a custom-designed encryption protocol that has not been proven reliable and secure.[245][247][248][249] However, in December 2020, a study titled "Automated Symbolic Verification of Telegram’s MTProto 2.0" was published, confirming the security of the updated MTProto 2.0 and reviewing it while pointing out several theoretical vulnerabilities.[250] The paper provides "fully automated proof of the soundness of MTProto 2.0’s authentication, normal chat, end-to-end encrypted chat, and re-keying mechanisms with respect to several security properties, including authentication, integrity, confidentiality and perfect forward secrecy" and "proves the formal correctness of MTProto 2.0". This partially addresses the concern about the lack of scrutiny while confirming the formal security of the protocol's latest version.[250]

The desktop clients (excluding the macOS client) do not feature options for end-to-end encrypted messages. When the user assigns a local password in the desktop application, data is locally encrypted also. Telegram has defended the lack of ubiquitous end-to-end encryption by claiming the online-backups that do not use client-side encryption are "the most secure solution currently possible".[251]

In May 2016, critics disputed claims by Telegram that it is "more secure than mass market messengers like WhatsApp and Line",[75] because WhatsApp applies end-to-end encryption to all of its traffic by default and uses the Signal Protocol, which has been "reviewed and endorsed by leading security experts", while Telegram does neither and stores all messages, media and contacts in their cloud.[245][246] Since July 2016, Line has also applied end-to-end encryption to all of its messages by default,[252] though it has also been criticized for being susceptible to replay attacks and the lack of forward secrecy between clients.[253]

In 2013, an author on the Russian programming website Habr discovered a weakness in the first version of MTProto that would allow an attacker to mount a man-in-the-middle attack and prevent the victim from being alerted by changed key fingerprint. The bug was fixed on the day of the publication with a $100,000 payout to the author and a statement on the official blog.[254]

On 26 February 2014, the German consumer organization Stiftung Warentest evaluated several data-protection aspects of Telegram, along with other popular instant-messaging clients. Among the aspects considered were: the security of the data transmission, the service's terms of use, the accessibility of the source code, and the distribution of the app. Telegram was rated 'problematic' (kritisch) overall. The organization was favorable to Telegram's secure chats and partially free code but criticized the mandatory transfer of contact data to Telegram's servers and the lack of an imprint or address on the service's website. It noted that while the message data is encrypted on the device, it could not analyse the transmission due to a lack of source code.[255]

The Electronic Frontier Foundation (EFF) listed Telegram on its "Secure Messaging Scorecard" in February 2015. Telegram's default chat function received a score of 4 out of 7 points on the scorecard. It received points for having communications encrypted in transit, having its code open to independent review, having the security design properly documented, and having completed a recent independent security audit. Telegram's default chat function missed points because the communications were not encrypted with keys the provider didn't have access to, users could not verify contacts' identities, and past messages were not secure if the encryption keys were stolen. Telegram's optional secret chat function, which provides end-to-end encryption, received a score of 7 out of 7 points on the scorecard.[256] The EFF said that the results "should not be read as endorsements of individual tools or guarantees of their security", and that they were merely indications that the projects were "on the right track".[256]

In December 2015, two researchers from Aarhus University published a report in which they demonstrated that MTProto 1.0 did not achieve indistinguishability under chosen-ciphertext attack (IND-CCA) or authenticated encryption.[257] The researchers stressed that the attack was of a theoretical nature and they "did not see any way of turning the attack into a full plaintext-recovery attack". Nevertheless, they said they saw "no reason why [Telegram] should use a less secure encryption scheme when more secure (and at least as efficient) solutions exist".[258] The Telegram team responded that the flaw does not affect message security[259] and that "a future patch would address the concern".[260] Telegram 4.6, released in December 2017, supports MTProto 2.0, which now satisfied the conditions for IND-CCA.[246][261] MTProto 2.0 is seen by qualified cryptographers as a vast improvement to Telegram's security.[246]

In April 2016, the accounts of several Russian opposition members were hijacked by intercepting the SMS messages used for login authorization.[63] In response, Telegram recommended using the optional two-factor authentication feature.[63] In May 2016, the Committee to Protect Journalists and Nate Cardozo, senior staff attorney at Electronic Frontier Foundation, recommended against using Telegram because of "its lack of end-to-end encryption [by default] and its use of non-standard MTProto encryption protocol, which has been publicly criticized by cryptography researchers, including Matthew Green".[245]

On 2 August 2016, Reuters reported that Iranian hackers compromised more than a dozen Telegram accounts and identified the phone numbers of 15 million Iranian users, as well as the associated user IDs. Researchers said the hackers belonged to a group known as Rocket Kitten. Rocket Kitten's attacks were similar to ones attributed to Iran's Islamic Revolutionary Guards Corps. The attackers took advantage of a programming interface built into Telegram. According to Telegram, these mass checks are no longer possible because of limitations introduced into its API earlier in 2016.[262]

Login SMS messages are known to have been intercepted in Iran, Russia and Germany, possibly in coordination with phone or telecom companies.[63][263][264] Pavel Durov has said that Telegram users in "troubled countries" should enable two-factor authentication by creating passwords in order to prevent this.[63][263]

In June 2017, Pavel Durov in an interview claimed that U.S. intelligence agencies tried to bribe the company's developers to weaken Telegram's encryption or install a backdoor during their visit to the U.S. in 2016.[265][266]

In 2018, Telegram sent a message to all Iranian users stating that the Telegram Talai and Hotgram unofficial clients are not secure.[267]

In March 2014, Telegram promised that "all code will be released eventually", including all the various client applications (Android, iOS, desktop, etc.) and the server-side code.[268] As of May 2021, Telegram still hasn't published their server-side source code.[269] In January 2021, Durov explained his rationale for not releasing server-side code, citing reasons such as inability for end-users to verify that the released code is the same code run on servers, and a government that wanted to acquire the server code and make a messaging app that would end competitors.[270]

On 9 June 2019, The Intercept released leaked Telegram messages exchanged between current Brazilian Minister of Justice and former judge Sérgio Moro and federal prosecutors.[271] The hypothesis is that either mobile devices were hacked by SIM swap or the targets’ computers were compromised.[272] The Telegram team tweeted that it was either because the user had malware or they were not using two-step verification.[273]

On 12 June 2019, Telegram confirmed that it suffered a denial-of-service attack which disrupted normal app functionality for approximately one hour. Pavel Durov tweeted that the IP addresses used in the attack mostly came from China.[274]

In December 2019, multiple Russian businessmen suffered account takeovers that involved bypassing SMS single-factor authentication. Security company Group-IB suggested SS7 mobile signalling protocol weaknesses, illegal usage of surveillance equipment, or telecom insider attacks.[275][276]

On 30 March 2020, an Elasticsearch database holding 42 million records containing user IDs and phone numbers of Iranian users was exposed online without a password. The accounts were extracted from not Telegram but an unofficial version of Telegram, in what appears to be a possibly government-sanctioned fork. It took 11 days for the database to be taken down, but the researchers say the data was accessed by other parties, including a hacker who reported the information to a specialized forum.[277][278][279]

In September 2020, it was reported that Iran's RampantKitten ran a phishing and surveillance campaign against dissidents on Telegram.[280] The attack relied on people downloading a malware-infected file from any source, at which point it would replace Telegram files on the device and 'clone' session data. David Wolpoff, a former Department of Defense contractor, has stated that the weak link in the attack was the device itself and not any of the affected apps: "There’s no way for a secure communication app to keep a user safe when the end devices are compromised."[281]

In July 2021, researchers from Royal Holloway, University of London and ETH Zurich published an analysis of the MTProto protocol, concluding that the protocol could provide a "confidential and integrity-protected channel" for communication. They also found that attackers had the theoretical ability to reorder messages coming from the client to the server though the attacker would not be able to see the content of the messages. Several other theoretical vulnerabilities were reported as well, in response to which Telegram released a document stating that the MITM attack on the key exchange was impossible as well as detailing the changes made to the protocol to protect from it in the future. All issues were patched before the paper's publication with a security bounty paid out to the researchers.[282][283][284]

In September 2021, a Russian researcher published details about a bug with the self-destruct feature that allowed the user to recover deleted photos from their own device. The bug was patched prior to publication and Telegram representatives offered a €1,000 bug bounty. The researcher did not sign the NDA that came with the offer and did not receive the award, opting to disclose the bug.[285][284][286][287][288]

Cryptography contests

Telegram has organized two cryptography contests to challenge its own security. Third parties were asked to break the service's cryptography and disclose the information contained within a secret chat between two computer-controlled users. A reward of respectively US$200,000 and US$300,000 was offered. Both of these contests expired with no winners.[289][290] Security researcher Moxie Marlinspike, founder of the competing Signal messenger, and commenters on Hacker News criticized the first contest for being rigged or framed in Telegram's favor and said that Telegram's statements on the value of these contests as proof of the cryptography's quality are misleading. This was because the cryptography contest could not be won even with completely broken algorithms such as MD2 (hash function) used as key stream extractor, and primitives such as the Dual EC DRBG that is known to be backdoored.[291][292][293]

Censorship

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Telegram has been blocked temporarily or permanently by some governments including Iran, China, Vietnam and Pakistan. The Russian government blocked Telegram for several years before lifting the ban in 2020.[294][295][296] The company's founder has said he wants the app to have an anti-censorship tool for Iran and China similar to the app's role in fighting censorship in Russia.[297]

2021 shutdown of Russian political bots

In September 2021, prior to the regional elections in Russia, Telegram suspended several bots spreading information about the election, including a bot run by the opposition party and critics of incumbent president Vladimir Putin's government,[298][299] citing election silence as the reason, though a blog post by the company's CEO implied the company was following Apple and Google, which "dictate the rules of the game to developers".[300][298] The blocking of the main Smart Voting bot was criticized by allies of Alexei Navalny, a Kremlin critic and former opposition leader. Navalny's spokeswoman Kira Yarmysh called the block and the deletion of the tactical voting app from app stores "censorship [...] imposed by private companies".[301] In a later blog post, Durov directly stated that the block was a result of pressure from Google and Apple as refusal to comply with their policies would result "in an immediate shutdown of Telegram for millions of users". The post included a screenshot showing an internal email sent by the App Store to developers, demanding the takedown of content related to Navalny.[302]

2019 Puerto Rico "Telegramgate"

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Telegram was the main subject surrounding the 2019 Puerto Rico riots that ended up in the resignation of then-Governor Ricardo Rosselló. Hundreds of pages of a group chat between Rosselló and members of his staff were leaked. The messages were considered vulgar, racist, and homophobic toward several individuals and groups, and discussed how they would use the media to target potential political opponents.[citation needed]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. 10.0 10.1 10.2 Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. 16.0 16.1 16.2 Lua error in package.lua at line 80: module 'strict' not found.
  17. 17.0 17.1 Lua error in package.lua at line 80: module 'strict' not found.
  18. 18.0 18.1 Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. 23.0 23.1 23.2 Lua error in package.lua at line 80: module 'strict' not found.
  24. 24.0 24.1 24.2 Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. 26.0 26.1 Lua error in package.lua at line 80: module 'strict' not found.
  27. 27.0 27.1 27.2 Lua error in package.lua at line 80: module 'strict' not found.
  28. Telegram F.A.Q Archived 9 February 2014 at the Wayback Machine, "...making profits will never be an end-goal for Telegram."
  29. Why Telegram has become the hottest messaging app in the world Archived 13 March 2016 at the Wayback Machine, The Verge. Retrieved 25 February 2014. "Telegram operates as a non-profit organization, and doesn’t plan to charge for its services."
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Telegram Messenger Inc – RIPE NCC
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Telegram FZ LLC – Dun & Bradstreet
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. 36.0 36.1 Lua error in package.lua at line 80: module 'strict' not found.
  37. 37.0 37.1 Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.
  47. Lua error in package.lua at line 80: module 'strict' not found.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found.
  55. Lua error in package.lua at line 80: module 'strict' not found.
  56. 56.0 56.1 Lua error in package.lua at line 80: module 'strict' not found.
  57. 57.0 57.1 Lua error in package.lua at line 80: module 'strict' not found.
  58. 58.0 58.1 Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. Lua error in package.lua at line 80: module 'strict' not found.
  62. 62.0 62.1 Lua error in package.lua at line 80: module 'strict' not found.
  63. 63.0 63.1 63.2 63.3 63.4 Lua error in package.lua at line 80: module 'strict' not found.
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.
  67. Lua error in package.lua at line 80: module 'strict' not found.
  68. Lua error in package.lua at line 80: module 'strict' not found.
  69. Lua error in package.lua at line 80: module 'strict' not found.
  70. Lua error in package.lua at line 80: module 'strict' not found.
  71. Lua error in package.lua at line 80: module 'strict' not found.
  72. Lua error in package.lua at line 80: module 'strict' not found.
  73. Lua error in package.lua at line 80: module 'strict' not found.
  74. Lua error in package.lua at line 80: module 'strict' not found.
  75. 75.0 75.1 75.2 Lua error in package.lua at line 80: module 'strict' not found.
  76. Lua error in package.lua at line 80: module 'strict' not found.
  77. 77.0 77.1 Rottermanner et al. 2015, p. 6
  78. Lua error in package.lua at line 80: module 'strict' not found.
  79. Lua error in package.lua at line 80: module 'strict' not found.
  80. 80.0 80.1 Lua error in package.lua at line 80: module 'strict' not found.
  81. Lua error in package.lua at line 80: module 'strict' not found.
  82. Rottermanner et al. 2015, p. 2
  83. Lua error in package.lua at line 80: module 'strict' not found.
  84. Lua error in package.lua at line 80: module 'strict' not found.
  85. Lua error in package.lua at line 80: module 'strict' not found.
  86. Lua error in package.lua at line 80: module 'strict' not found.
  87. 87.0 87.1 Lua error in package.lua at line 80: module 'strict' not found.
  88. Lua error in package.lua at line 80: module 'strict' not found.
  89. Lua error in package.lua at line 80: module 'strict' not found.
  90. Lua error in package.lua at line 80: module 'strict' not found.
  91. Lua error in package.lua at line 80: module 'strict' not found.
  92. Lua error in package.lua at line 80: module 'strict' not found.
  93. Lua error in package.lua at line 80: module 'strict' not found.
  94. Cite error: Invalid <ref> tag; no text was provided for refs named TimeZelenskyy
  95. Lua error in package.lua at line 80: module 'strict' not found.
  96. Lua error in package.lua at line 80: module 'strict' not found.
  97. Lua error in package.lua at line 80: module 'strict' not found.
  98. Lua error in package.lua at line 80: module 'strict' not found.
  99. Lua error in package.lua at line 80: module 'strict' not found.
  100. Lua error in package.lua at line 80: module 'strict' not found.
  101. Lua error in package.lua at line 80: module 'strict' not found.
  102. Lua error in package.lua at line 80: module 'strict' not found.
  103. Lua error in package.lua at line 80: module 'strict' not found.
  104. Lua error in package.lua at line 80: module 'strict' not found.
  105. Lua error in package.lua at line 80: module 'strict' not found.
  106. Lua error in package.lua at line 80: module 'strict' not found.
  107. Lua error in package.lua at line 80: module 'strict' not found.
  108. Lua error in package.lua at line 80: module 'strict' not found.
  109. Lua error in package.lua at line 80: module 'strict' not found.
  110. Lua error in package.lua at line 80: module 'strict' not found.
  111. Lua error in package.lua at line 80: module 'strict' not found.
  112. Lua error in package.lua at line 80: module 'strict' not found.
  113. Lua error in package.lua at line 80: module 'strict' not found.
  114. Lua error in package.lua at line 80: module 'strict' not found.
  115. Lua error in package.lua at line 80: module 'strict' not found.
  116. Lua error in package.lua at line 80: module 'strict' not found.
  117. Lua error in package.lua at line 80: module 'strict' not found.
  118. 118.0 118.1 Lua error in package.lua at line 80: module 'strict' not found.
  119. 119.0 119.1 Lua error in package.lua at line 80: module 'strict' not found.
  120. Lua error in package.lua at line 80: module 'strict' not found.
  121. Lua error in package.lua at line 80: module 'strict' not found.
  122. Lua error in package.lua at line 80: module 'strict' not found.
  123. Lua error in package.lua at line 80: module 'strict' not found.
  124. Lua error in package.lua at line 80: module 'strict' not found.
  125. Lua error in package.lua at line 80: module 'strict' not found.
  126. Lua error in package.lua at line 80: module 'strict' not found.
  127. Lua error in package.lua at line 80: module 'strict' not found.
  128. Lua error in package.lua at line 80: module 'strict' not found.
  129. Lua error in package.lua at line 80: module 'strict' not found.
  130. Lua error in package.lua at line 80: module 'strict' not found.
  131. Lua error in package.lua at line 80: module 'strict' not found.
  132. Lua error in package.lua at line 80: module 'strict' not found.
  133. Lua error in package.lua at line 80: module 'strict' not found.
  134. Lua error in package.lua at line 80: module 'strict' not found.
  135. Lua error in package.lua at line 80: module 'strict' not found.
  136. Lua error in package.lua at line 80: module 'strict' not found.
  137. Lua error in package.lua at line 80: module 'strict' not found.
  138. 138.0 138.1 138.2 Lua error in package.lua at line 80: module 'strict' not found.
  139. Lua error in package.lua at line 80: module 'strict' not found.
  140. Lua error in package.lua at line 80: module 'strict' not found.
  141. Lua error in package.lua at line 80: module 'strict' not found.
  142. Lua error in package.lua at line 80: module 'strict' not found.
  143. Lua error in package.lua at line 80: module 'strict' not found.
  144. Lua error in package.lua at line 80: module 'strict' not found.
  145. Lua error in package.lua at line 80: module 'strict' not found.
  146. Lua error in package.lua at line 80: module 'strict' not found.
  147. Lua error in package.lua at line 80: module 'strict' not found.
  148. Lua error in package.lua at line 80: module 'strict' not found.
  149. Lua error in package.lua at line 80: module 'strict' not found.
  150. Lua error in package.lua at line 80: module 'strict' not found.
  151. Lua error in package.lua at line 80: module 'strict' not found.
  152. Lua error in package.lua at line 80: module 'strict' not found.
  153. Lua error in package.lua at line 80: module 'strict' not found.
  154. Lua error in package.lua at line 80: module 'strict' not found.
  155. Lua error in package.lua at line 80: module 'strict' not found.
  156. Lua error in package.lua at line 80: module 'strict' not found.
  157. Lua error in package.lua at line 80: module 'strict' not found.
  158. Lua error in package.lua at line 80: module 'strict' not found.
  159. Lua error in package.lua at line 80: module 'strict' not found.
  160. Lua error in package.lua at line 80: module 'strict' not found.
  161. Lua error in package.lua at line 80: module 'strict' not found.
  162. 162.0 162.1 Lua error in package.lua at line 80: module 'strict' not found.
  163. 163.0 163.1 Lua error in package.lua at line 80: module 'strict' not found.
  164. Lua error in package.lua at line 80: module 'strict' not found.
  165. 165.0 165.1 Lua error in package.lua at line 80: module 'strict' not found.
  166. Lua error in package.lua at line 80: module 'strict' not found.
  167. Lua error in package.lua at line 80: module 'strict' not found.
  168. Lua error in package.lua at line 80: module 'strict' not found.
  169. Lua error in package.lua at line 80: module 'strict' not found.
  170. Lua error in package.lua at line 80: module 'strict' not found.
  171. Lua error in package.lua at line 80: module 'strict' not found.
  172. Lua error in package.lua at line 80: module 'strict' not found.
  173. Lua error in package.lua at line 80: module 'strict' not found.
  174. Lua error in package.lua at line 80: module 'strict' not found.
  175. Lua error in package.lua at line 80: module 'strict' not found.
  176. Lua error in package.lua at line 80: module 'strict' not found.
  177. Lua error in package.lua at line 80: module 'strict' not found.
  178. Lua error in package.lua at line 80: module 'strict' not found.
  179. Lua error in package.lua at line 80: module 'strict' not found.
  180. Lua error in package.lua at line 80: module 'strict' not found.
  181. Lua error in package.lua at line 80: module 'strict' not found.
  182. Lua error in package.lua at line 80: module 'strict' not found.
  183. Lua error in package.lua at line 80: module 'strict' not found.
  184. Lua error in package.lua at line 80: module 'strict' not found.
  185. Lua error in package.lua at line 80: module 'strict' not found.
  186. Lua error in package.lua at line 80: module 'strict' not found.
  187. Lua error in package.lua at line 80: module 'strict' not found.
  188. Lua error in package.lua at line 80: module 'strict' not found.
  189. Lua error in package.lua at line 80: module 'strict' not found.
  190. Lua error in package.lua at line 80: module 'strict' not found.
  191. Lua error in package.lua at line 80: module 'strict' not found.
  192. Lua error in package.lua at line 80: module 'strict' not found.
  193. Lua error in package.lua at line 80: module 'strict' not found.
  194. Lua error in package.lua at line 80: module 'strict' not found.
  195. Lua error in package.lua at line 80: module 'strict' not found.
  196. Lua error in package.lua at line 80: module 'strict' not found.
  197. Lua error in package.lua at line 80: module 'strict' not found.
  198. Lua error in package.lua at line 80: module 'strict' not found.
  199. Lua error in package.lua at line 80: module 'strict' not found.
  200. Lua error in package.lua at line 80: module 'strict' not found.
  201. Lua error in package.lua at line 80: module 'strict' not found.
  202. Lua error in package.lua at line 80: module 'strict' not found.
  203. Lua error in package.lua at line 80: module 'strict' not found.
  204. 204.0 204.1 Lua error in package.lua at line 80: module 'strict' not found.
  205. Lua error in package.lua at line 80: module 'strict' not found.
  206. Lua error in package.lua at line 80: module 'strict' not found.
  207. Lua error in package.lua at line 80: module 'strict' not found.
  208. Lua error in package.lua at line 80: module 'strict' not found.
  209. Lua error in package.lua at line 80: module 'strict' not found.
  210. Lua error in package.lua at line 80: module 'strict' not found.
  211. Lua error in package.lua at line 80: module 'strict' not found.
  212. Lua error in package.lua at line 80: module 'strict' not found.
  213. Lua error in package.lua at line 80: module 'strict' not found.
  214. Lua error in package.lua at line 80: module 'strict' not found.
  215. (in Russian) Lua error in package.lua at line 80: module 'strict' not found.
  216. Lua error in package.lua at line 80: module 'strict' not found.
  217. Lua error in package.lua at line 80: module 'strict' not found.
  218. 218.0 218.1 Lua error in package.lua at line 80: module 'strict' not found.
  219. Lua error in package.lua at line 80: module 'strict' not found.
  220. Lua error in package.lua at line 80: module 'strict' not found.
  221. Lua error in package.lua at line 80: module 'strict' not found.
  222. Lua error in package.lua at line 80: module 'strict' not found.
  223. Lua error in package.lua at line 80: module 'strict' not found.
  224. Lua error in package.lua at line 80: module 'strict' not found.
  225. 225.0 225.1 Lua error in package.lua at line 80: module 'strict' not found.
  226. Lua error in package.lua at line 80: module 'strict' not found.
  227. Lua error in package.lua at line 80: module 'strict' not found.
  228. Lua error in package.lua at line 80: module 'strict' not found.
  229. Lua error in package.lua at line 80: module 'strict' not found.
  230. Lua error in package.lua at line 80: module 'strict' not found.
  231. Lua error in package.lua at line 80: module 'strict' not found.
  232. Lua error in package.lua at line 80: module 'strict' not found.
  233. Lua error in package.lua at line 80: module 'strict' not found.
  234. Lua error in package.lua at line 80: module 'strict' not found.
  235. Lua error in package.lua at line 80: module 'strict' not found.
  236. Lua error in package.lua at line 80: module 'strict' not found.
  237. Lua error in package.lua at line 80: module 'strict' not found.
  238. Lua error in package.lua at line 80: module 'strict' not found.
  239. Lua error in package.lua at line 80: module 'strict' not found.
  240. Lua error in package.lua at line 80: module 'strict' not found.
  241. Lua error in package.lua at line 80: module 'strict' not found.
  242. Lua error in package.lua at line 80: module 'strict' not found.
  243. Lua error in package.lua at line 80: module 'strict' not found.
  244. Lua error in package.lua at line 80: module 'strict' not found.
  245. 245.0 245.1 245.2 245.3 Lua error in package.lua at line 80: module 'strict' not found.
  246. 246.0 246.1 246.2 246.3 Lua error in package.lua at line 80: module 'strict' not found.
  247. Jakobsen & Orlandi 2015
  248. Lua error in package.lua at line 80: module 'strict' not found.
  249. Lua error in package.lua at line 80: module 'strict' not found.
  250. 250.0 250.1 Miculan & Vitocolonna 2020
  251. Lua error in package.lua at line 80: module 'strict' not found.
  252. Lua error in package.lua at line 80: module 'strict' not found.
  253. Espinoza, Tolley & Crandall 2017
  254. Lua error in package.lua at line 80: module 'strict' not found.
  255. Lua error in package.lua at line 80: module 'strict' not found.
  256. 256.0 256.1 Lua error in package.lua at line 80: module 'strict' not found.
  257. Jakobsen & Orlandi 2015, p. 6
  258. Jakobsen & Orlandi 2015, p. 1
  259. Lua error in package.lua at line 80: module 'strict' not found.
  260. Lua error in package.lua at line 80: module 'strict' not found.
  261. Lua error in package.lua at line 80: module 'strict' not found.
  262. Lua error in package.lua at line 80: module 'strict' not found.
  263. 263.0 263.1 Lua error in package.lua at line 80: module 'strict' not found.
  264. Lua error in package.lua at line 80: module 'strict' not found.
  265. Lua error in package.lua at line 80: module 'strict' not found.
  266. Lua error in package.lua at line 80: module 'strict' not found.
  267. Lua error in package.lua at line 80: module 'strict' not found.
  268. Lua error in package.lua at line 80: module 'strict' not found.
  269. Lua error in package.lua at line 80: module 'strict' not found.
  270. Lua error in package.lua at line 80: module 'strict' not found.
  271. Lua error in package.lua at line 80: module 'strict' not found.
  272. Lua error in package.lua at line 80: module 'strict' not found.
  273. Lua error in package.lua at line 80: module 'strict' not found.
  274. Lua error in package.lua at line 80: module 'strict' not found.
  275. Lua error in package.lua at line 80: module 'strict' not found.
  276. Lua error in package.lua at line 80: module 'strict' not found.
  277. Lua error in package.lua at line 80: module 'strict' not found.
  278. Lua error in package.lua at line 80: module 'strict' not found.
  279. Lua error in package.lua at line 80: module 'strict' not found.
  280. Lua error in package.lua at line 80: module 'strict' not found.
  281. Lua error in package.lua at line 80: module 'strict' not found.
  282. Lua error in package.lua at line 80: module 'strict' not found.
  283. Lua error in package.lua at line 80: module 'strict' not found.
  284. 284.0 284.1 Lua error in package.lua at line 80: module 'strict' not found.
  285. Lua error in package.lua at line 80: module 'strict' not found.
  286. Lua error in package.lua at line 80: module 'strict' not found.
  287. Lua error in package.lua at line 80: module 'strict' not found.
  288. Lua error in package.lua at line 80: module 'strict' not found.
  289. Lua error in package.lua at line 80: module 'strict' not found.
  290. Lua error in package.lua at line 80: module 'strict' not found.
  291. Lua error in package.lua at line 80: module 'strict' not found.
  292. Lua error in package.lua at line 80: module 'strict' not found.
  293. Lua error in package.lua at line 80: module 'strict' not found.
  294. Lua error in package.lua at line 80: module 'strict' not found.
  295. Lua error in package.lua at line 80: module 'strict' not found.
  296. Lua error in package.lua at line 80: module 'strict' not found.
  297. Lua error in package.lua at line 80: module 'strict' not found.
  298. 298.0 298.1 Lua error in package.lua at line 80: module 'strict' not found.
  299. Lua error in package.lua at line 80: module 'strict' not found.
  300. Lua error in package.lua at line 80: module 'strict' not found.
  301. Lua error in package.lua at line 80: module 'strict' not found.
  302. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links