Bitmessage — криптографический мессенджер с открытым исходным ом, использующий децентрализованную P2P-сеть, написанный на C++ и Python. Сеть Bitmessage сходна с сетью Bitcoin тем, что опирается на криптографию и жертвует некоторым удобством ради безопасности и децентрализации, однако она предназначена для задачи пересылки сообщений, а не денежных транзакций. Сеть получила резкий всплеск популярности[4] после разглашений Эдварда Сноудена о системе тайного слежения за интернет-пользователями PRISM.
Сеть Bitmessage обрабатывает несколько тысяч частных сообщений в день[5].
Описание[ | ]
Сеть Bitmessage шифрует все входящие[уточнить] и исходящие сообщения каждого пользователя, используя сильные алгоритмы шифрования, таким образом, что только получатель сообщения способен его расшифровать. Для обеспечения анонимности:
- система рассылает все сообщения на компьютеры всех других доступных участников сети[6], тем самым перемешивая зашифрованные исходящие сообщения данного пользователя с зашифрованными исходящими сообщениями всех других пользователей сети.[7];
- использует длинные адреса вида BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash[4][8], которые могут создаваться пользователем локально практически в неограниченном количестве;
- использует алгоритмы шифрования с открытым ключом[7], тем самым только получатель может расшифровать сообщение[6]. Особенности алгоритма таковы, что даже исходный отправитель сообщения не сможет расшифровать своё собственное сообщение обратно, поскольку ключ, используемый для шифрования, отличается от ключа, используемого для расшифровывания;
- отправляемое сообщение не содержит адрес получателя, поэтому каждый участник сети пытается расшифровать абсолютно все сообщения, даже не предназначенные для него[7]. Поскольку участник сети способен расшифровать только сообщения, предназначенные ему, то участник знает, что сообщения, которые он не смог расшифровать, были предназначены не ему и передаёт их в зашифрованном виде другим узлам;
- отправитель исходного сообщения может легко узнать было ли доставлено сообщение получателю или нет с помощью системы подтверждений (acknowledgement)[7], однако, отправитель не может определить, какой именно компьютер-участник сети является истинным получателем сообщения, поскольку это сообщение хранится у всех участников сети вне зависимости от того, кому оно изначально предназначалось[6];
- зашифрованные сообщения хранятся в сети два дня[7], после чего удаляются участниками сети[6];
- используется Proof-of-work для защиты от спама[7];
- поддерживается привязка Bitmessage-адреса к домену Namecoin.
Анонимные группы общения[ | ]
Начиная с версии 0.3.5 Bitmessage протокол поддерживает децентрализованные анонимные группы общения, называемые чанами (chan).
В отличие от обычных тематических электронных рассылок, использующих электронную почту:
- внутри chan-сообщения пользователей анонимны в такой степени, что не известен ни Bitmessage адрес получателя, ни Bitmessage адрес отправителя.
- chan невозможно отключить, убрав какой-либо центральный сервер или группу серверов, благодаря полной децентрализованности сети.
- chan невозможно подвергнуть цензуре, поскольку для того, чтобы знать криптографические ключи к chan’у, достаточно знать лишь имя chan’а. Таким образом, любой пользователь Bitmessage, знающий имя рассылки, может анонимно читать chan и отправлять в него сообщения.
- любой пользователь Bitmessage может создать свой собственный chan, просто придумав имя и поделившись этим именем с приглашенными им пользователями.
В данный момент[когда?] существует список популярных общеизвестных chan’ов, посвященных анонимному обсуждению различных тем, начиная от политики и заканчивая анонимной игрой в шахматы по переписке[9].
Использование[ | ]
Официальный клиент PyBitmessage переведён на английский, русский, немецкий, французский, испанский языки, а также язык эсперанто.
Помимо официального клиента PyBitmessage, пользователи имеют возможность использовать Bitmessage в практически любой обычной программе электронной почты, например Mozilla Thunderbird или Outlook Express, благодаря встроенному API[10].
Примечания[ | ]
Литература[ | ]
Ссылки[ | ]