Bitmessage
Bitmessage — криптографічний месенджер з відкритим вихідним кодом, який використовує децентралізовану P2P-мережу. Мережа Bitmessage схожа з мережею Bitcoin, тим, що спирається на криптографію і жертвує деякими зручністями заради безпеки і децентралізації, однак вона призначена для пересилання повідомлень, а не грошових транзакцій. Мережа отримала різкий ріст популярності[4] після розголошення Едварда Сноудена про систему таємного стеження за інтернет-користувачами PRISM.
PyBitmessage 0.3.5 | |
Тип | криптографічний комунікаційний протоколd і клієнт миттєвого обміну повідомленнями |
---|---|
Автор(и) | Джонатан Воррен |
Розробник | спільнота Bitmessage |
Перший випуск | 8 листопада 2012 |
Стабільний випуск | 0.6.1 (Beta) (21 серпня 2016) |
Версії | 0.6.3.2 (13 лютого 2018)[1] |
Репозиторій | github.com/Bitmessage/PyBitmessage |
Мова програмування | Python[2] |
Доступні мови | англійська, німецька, французька, італійська, російська, есперанто |
Стан розробки | активна розробка |
Ліцензія | MIT[3] |
Вебсайт | bitmessage.org |
В даний момент[коли?] мережа Bitmessage обробляє кілька тисяч приватних повідомлень в день[5].
Опис
Мережа Bitmessage працює за принципом шифрування всіх вхідних і вихідних повідомлень кожного користувача, використовуючи сильні алгоритми шифрування, таким чином, що тільки одержувач повідомлення здатний його розшифрувати. Для забезпечення анонімності:
- Система розсилає всі повідомлення на комп'ютери всіх інших учасників мережі[6], тим самим перемішуючи закодовані вихідні повідомлення даного користувача з закодованими вихідними повідомленнями всіх інших користувачів мережі.[7]
- Система використовує довгі адреси типу BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash[8], які можуть створюватися користувачем локально практично в необмеженій кількості.
- Система використовує алгоритми шифрування з відкритим ключем[7], тим самим тільки одержувач може розшифрувати повідомлення. Особливості алгоритму такі, що навіть початковий відправник повідомлення не зможе розшифрувати своє власне повідомлення назад, оскільки ключ, який використовується для шифрування, відрізняється від ключа, використовуваного для розшифрування.
- Відправлене повідомлення не містить адресу одержувача, тому кожен учасник мережі намагається розшифрувати абсолютно всі повідомлення, навіть ті, що не призначені для нього[7]. Оскільки учасник мережі здатний розшифрувати тільки повідомлення, призначені йому, то учасник знає, що повідомлення, які він не зміг розшифрувати, були призначені не йому і передає їх в зашифрованому вигляді іншим вузлам.
- Відправник вихідного повідомлення може легко дізнатися чи було доставлено повідомлення одержувачу чи ні за допомогою системи підтверджень (acknowledgement)[7], але відправник не може визначити, який саме комп'ютер-учасник мережі є істинним одержувачем повідомлення, оскільки це повідомлення зберігається у всіх учасників мережі незалежно від того, кому воно спочатку призначалося.
- Зашифровані повідомлення зберігаються в мережі два дні[7], після чого видаляються учасниками мережі.
- Використовується Proof-of-work для захисту від спаму[7].
- Підтримується прив'язка Bitmessage-адреси до домену Namecoin.
Анонімні групи спілкування
Починаючи з версії 0.3.5, Bitmessage протокол підтримує децентралізовані анонімні групи спілкування, так звані chan. На відміну від звичайних тематичних електронних розсилок, що використовують електронну пошту:
- всередині chan повідомлення користувачів анонімні в такій мірі, що невідомі ні Bitmessage адреса одержувача, ні Bitmessage адреса відправника.
- chan неможливо відключити, прибравши будь-який центральний сервер або групу серверів, завдяки повній децентралізованості мережі.
- chan неможливо піддати цензурі, оскільки для того, щоб знати криптографічні ключі до chan, достатньо знати лише ім'я chan. Таким чином, будь-який користувач Bitmessage, що знає ім'я розсилки, може анонімно читати chan і анонімно надсилати нові повідомлення в chan.
- будь-який користувач Bitmessage може створити свій власний chan, просто придумавши ім'я і поділившись цим ім'ям із запрошеними ним користувачами.
В даний момент існує список популярних загальновідомих chan-ів, присвячених анонімному обговорення різних тем, починаючи від політики і закінчуючи анонімної грою в шахи за листуванням[9].
Використання
Офіційний клієнт PyBitmessage крім англійської перекладений також російською, німецькою, французькою, іспанською мовами, а також мовою есперанто.
Крім офіційного клієнта PyBitmessage, користувачі мають можливість використовувати Bitmessage в практично будь-якої звичайної програми електронної пошти, наприклад Mozilla Thunderbird або Outlook Express, завдяки вбудованому API[10].
Примітки
- https://github.com/Bitmessage/PyBitmessage/releases/tag/0.6.3.2 — 2018.
- The bitmessage Open Source Project on Open Hub: Languages Page — 2006.
- The bitmessage Open Source Project on Open Hub: Licenses Page — 2006.
- Bitmessage's NSA-Proof E-Mail (англ.).
- Статистика Bitmessage. Архів оригіналу за 13 листопада 2013. Процитовано 24 січня 2017.
- Dan Nosowitz. What Are Your Options Now For Secure Email?. Popular Science.
- Технічний опис Bitmessage (англ.).
- Адреса розсилки служби часу Bitmessage (англ.).
- Список популярних адрес Bitmessage. Архів оригіналу за 8 жовтня 2015. Процитовано 24 січня 2017.
- Використання Bitmessage через Thunderbird за допомогою BMWrapper (англ.).