Зачем приватность?
Взаимозаменяемость: почему деньги, которые можно отследить, — плохие деньги
Если у каждой монеты видна история, монеты перестают быть одинаковыми: «чистые» стоят дороже «грязных». Деньги, у которых каждая единица равна любой другой, называются взаимозаменяемыми (fungible). Monero взаимозаменяем потому, что истории монет просто не видно.
Наличные не помнят прошлого
Купюра в 1000 рублей у вас в кармане могла десять лет назад пройти через чьи угодно руки. Вам всё равно: она стоит ровно 1000 рублей, и магазин примет её так же, как новую. Это свойство — взаимозаменяемость: любая единица денег равна любой другой.
В прозрачном блокчейне это ломается. У каждой монеты Bitcoin есть полная история переходов. Биржи и сервисы анализа цепочек присваивают монетам «оценку риска», а если монета когда-то побывала рядом с подозрительным адресом, её могут заморозить у получателя, который ни в чём не виноват. Две монеты с одинаковым номиналом начинают стоить по-разному.
Чем вы рискуете, когда всё видно
- Ваш баланс видят все, кому вы хоть раз платили или кто платил вам. Продавец кофе узнаёт, сколько у вас денег.
- Ваша история видна навсегда. Блокчейн не забывает, а методы анализа со временем только улучшаются.
- Коммерческая тайна: конкуренты видят, кому вы платите и сколько получаете. Работодатель видит, куда вы тратите зарплату.
- Физическая безопасность: человек с крупным видимым балансом — мишень.
Почему приватность должна быть у всех сразу
Некоторые криптовалюты делают приватность опциональной: можно отправить прозрачную транзакцию, а можно — скрытую. На практике скрытыми пользуется меньшинство, и именно поэтому они выделяются. Чем меньше толпа, тем легче в ней найти человека.
В Monero все транзакции приватные, всегда. Каждая транзакция выглядит как любая другая. Это главная идея дизайна: ваша приватность зависит от того, что все остальные выглядят так же, как вы.
Monero прячет содержимое транзакций в блокчейне, но не делает вас невидимым в остальном мире. Биржа, где вы покупали XMR, знает ваше имя. IP-адрес узла, через который вы отправили транзакцию, может быть виден (для этого есть Dandelion++ и Tor/I2P). Приватность — это набор привычек, а не одна кнопка.
А как же проверяемость?
Естественный вопрос: если ничего не видно, как убедиться, что никто не печатает деньги? Ответ — в криптографии. Каждая транзакция Monero содержит доказательства:
- что тратятся реально существующие выходы (кольцевая подпись);
- что ни один выход не тратится дважды (key image);
- что сумма входов равна сумме выходов плюс комиссия (обязательства Педерсена);
- что ни одна сумма не отрицательна (Bulletproofs+).
Любой узел проверяет все эти доказательства для каждой транзакции. Сеть знает, что правила соблюдены, не зная, кто и сколько.
Общий объём монет в Monero нельзя пересчитать напрямую, сложив балансы, — их не видно. Но его можно вычислить из правил эмиссии, а ошибку или баг, позволяющий печатать деньги, ловят именно доказательства выше. В 2017 году в протоколе CryptoNote нашли такую ошибку (key image вне подгруппы); её исправили до того, как кто-то воспользовался ею в Monero. Это повод ценить аудит кода, а не повод для паники.