ClassLambda. Разработка для Tornado.Cash
@Ghost_In_The_Block
1. Мы работаем в ClassLambda над инструментом анонимности для Tornado.Cash.
Tornado.Cash - это миксер, который позволяет пользователям разрывать связь между кошельками отправителя и получателя.
2. В настоящее время Tornado.Cash позволяет депонировать фиксированное количество ETH (10, 100) в свои пулы.
При внесении средств вы получаете записку (note).
Позже, используя эту записку, вы можете вывести свой депозит на любой кошелек.
3. Так как многие пользователи вносили одинаковую сумму ETH (100) в одну ноду, каждая транзакция вывода может происходить от любого из них.
Эта концепция называется набором анонимности.

4. По мере роста количества депозитов увеличивается и конфиденциальность пула, поскольку каждый депозит смешивается с остальными.
К сожалению есть много способов, которыми пользователи могут небрежно использовать Tornado.Cash и поставить под угрозу свою конфиденциальность.
Советы по сохранению анонимности можно посмотреть здесь
5. Это не только плохо для пользователя, злоупотребившего приложением, но также снижает конфиденциальность других.
Почему?
6. Потому что, если с уверенностью можно связать один депозит с выводом, можно понять, что остальные выводы никак не связаны с этим депозитом.
Мы об этом писали здесь.
Другими словами, этот депозит больше не будет частью набора анонимности.
7. Вот почему сообщество Tornado.Cash запустило баунти, в котором мы участвовали с командой из Стэнфорда, чтобы помочь его пользователям.
Мы создаем инструмент, позволяющий пользователям узнать настоящий масштаб набора анонимности каждого пула и указать, делают ли они ошибки, которые могли бы деанонимизировать их.
8. Мы разработали серию эвристик, которые позволяют связать депозиты с выводом средств.
В данный момент мы работаем над другими, переносим их на Julia и Pluto.
Реализацию вы можете увидеть здесь!

9. Ниже приводится объяснение каждого из них:
- Эвристика 1: повторное использование адреса депозита для снятия средств.
Это самая тривиальная эвристика: если пользователь использует один и тот же кошелек для депозита и вывода, его анонимность полностью аннулируется.
- Эвристика 2: Использование уникальной цены на газ.
Многие кошельки имеют системы рекомендаций по ценам на газ.
Однако если пользователь вручную устанавливает количество газа для оплаты, эта сумма останется универсальной для других транзакций.
Итак, что произойдет, если вы найдете депозит с уникальной ценой на газ среди всех хранилищ, а затем обнаружите вывод с этой конкретной уникальной ценой на газ?
Верно! Эти две транзакции могут быть связаны. Такова логика нашей второй эвристики.
- Эвристика 3: Транзакции за пределами Tornado.Cash
Третья эвристика связана со всеми адресами депозита и снятия средств, между которыми есть транзакции.
Проще говоря, можно предположить, что взаимодействующие друг с другом кошельки принадлежат одному и тому же объекту.
Идея этой эвристики проста, но ее реализация - нет, из-за большого объема требуемых вычислений.
Необходимо пройти весь граф транзакций Ethereum в поисках транзакций между адресами.
Оригинал вы найдете здесь.
Перевод подготовлен командой Telegram-канала
