Что там с приватностью?

Cyber Academy
4 min readAug 4, 2021

⚡️ Decentralized Web Meetups

Роман Семенов, сооснователь Tornado Cash🌪, разобрал тему частных блокчейнов и шифрования данных на последнем митапе Cyber Academy 29 июля. Спикер рассказал, зачем вообще нужна приватность, и как она обеспечивается в проектах Monero, Zcach и CoinJoin. Собрали ключевые тезисы его доклада✨

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

Самое простое решение называется CoinJoin. Оно доступно даже на Биткоине. Группа людей периодически делает транзакцию одинакового размера, например, 0,1 BTC и получает взамен такое же количество BTC другого пользователя из группы. Таким образом запутываются UTXO-выходы и невозможно точно определить кому до этого принадлежали BTC. Принцип похож на “миксер”, но в случае с “миксерами” пользователь теряет контроль над средствами, и поставщик этой услуги может запросто скрыться с деньгами клиентов. CoinJoin же является trustless и дает неплохую анонимность, если в транзакции участвует много людей (большой anonymity set).

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

Некоторые блокчейны позиционируют себя именно как приватные, например, Monero и Zcash.

Monero, помимо того, что шифрует суммы переводов, ещё и пытается запутывать граф транзакций, добавляя к настоящему UTXO-выходу 10 выходов из других случайных транзакций, что усложняет определение “правильного” выхода. Чем больше транзакций в целом происходит в сети, тем выше уровень приватности.

Zcash, можно сказать, делает все то же, что и Monero, только выходом приватной транзакции в Zcash может быть любой непотраченный вход, который есть в сети, что максимально расширяет круг поиска целевой транзакции. Это достигается при помощи доказательства с нулевым разглашением — zK-SNARK. Оно свидетельствует о том, что у адреса есть непотраченные выходы, но какие именно — неизвестно. Анонимность получается довольно высокая, но на деле она зависит от объема переводов между прозрачным и защищенным пулом.

Дело в том, что ZCash поддерживает обычные транзакции и их в сети подавляющие большинство из-за сложностей в работе с z-адресами дающими приватность. Поскольку полезность ZEC в защищенном пуле ограничена, например, биржи не принимают монеты с z-адресов, то их рано или поздно приходится возвращать на прозрачные t-адреса. Если таких транзакций в целом не очень много, точка перевода с z- на t-адрес открывает возможность деанонимизировать пользователя, особенно если сумма ввода и вывода на z-адрес одинаковая.

Pro tip: чем больше создатели блокчейна/проекта делают упор на приватность в маркетинговых материалах, тем менее приватным он является на самом деле.

Однако строить отдельный блокчейн для приватности не обязательно. Приватность можно добавить как фичу в уже существующий, например, Ethereum. Самое популярное приложение для приватности на Ethereum сейчас — это Tornado.Cash. Принцип работы похож на CoinJoin. Юзер закидывает фиксированное количество ETH в общий пул и получает зашифрованное доказательство (zero knowledge proof), что среди всех депозитов в пуле есть его депозит, и что он ещё не был выведен. Контракт проверяет валидность доказательства и выдает пользователю ETH на чистый адрес, который укажет юзер. При этом оплата за газ производится через рилеера, и комиссия сети вычитается из суммы депозита. Таким образом Tornado.cash разбивает соотвествие адресов на входе и выходе средств с контракта, и за счет этого получается добиться приватности.

Tornado поддерживает разные активы: USDC, USDT, DAI, WBTC, — но больше всего люди используют ETH. Благодаря более высоким объемам увеличивается anonymity set, соответственно ETH, как актив, гарантирует лучшую приватность, чем токены.

Для улучшения пользовательского опыта и расширения возможностей, в Tornado.cash скоро добавят аналог защищенных пулов из Zcash, внутри которого можно будет передавать ETH другим юзерам, а также заводить и выводить произвольное количество ETH в этот пул. Пока через Tornado можно проводить фиксированное количество ЕТН: 0,1, 1, 10 и 100. Кроме того, планируется запуск Tornado на каком-нибудь L2 для удешевления транзакций, однако получить бесплатную анонимность можно уже сейчас даже L1. Юзерам, которые держат свои ETH в пуле Tornado.cash начисляются очки анонимности (anonimity points). Их потом можно обменять на токен TORN, перекрыв таким образом затраты на газ и даже заработать. Чем дольше эфир лежит в Tornado тем более анонимным он становится и тем больше начисляется очков. Такая неочевидная форма фарминга доходности без рисков непостоянной потери и раг пула.

Pro tip: пользоваться Tornado.Cash лучше всего через Tor или VPN.

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

В заключение Роман посоветовал тем, кто хочет углубиться в крипту смотреть именно в сторону DeFi. Там сейчас происходит все самое интересное. Специалистов по Solidity катастрофически не хватает, по ZKP и SNARK их еще меньше. Так что тем, кто хочет трудоустроиться в индустрии, стоит меньше тратить время на просмотр ценовых графиков и больше — на изучение этих направлений.

Cyber Academy — образовательная платформа для блокчейн-разработчиков. Присоединяйтесь к нам ✨

Анонсы | Website | Twitter | Телеграм-чат | GitHub | Facebook | Linkedin

--

--

Cyber Academy

Образовательная платформа для блокчейн-разработчиков