Andresen & Tornado. Part 1

Andresen & Tornado. Part 1

@Ghost_In_The_Block

В прошлом посте своего блога я выразил мнение, что Tornado - это фантастический “строительный материал”, который позволит в будущем создать более совершенный анонимный Ethereum-кошелек.

В этом посте я хочу поделиться с вами мыслями о том, каким должен быть “идеальный” крипто-кошелек, которым бы я точно пользовался.

Ради удобства, можно немного пожертвовать анонимностью:

Я не хочу думать о “наборах анонимности” или о неизрасходованных транзакциях, и я не хочу создавать новые отдельные "счета" для каждого, с кем я взаимодействую в финансовом плане.

Я хочу кошелек, который не задает мне много вопросов и которым достаточно просто пользоваться.

При этом, его принцип работы должен значительно затруднить мониторинг моей финансовой активности третьими лицами,

Который осуществляется путем отслеживания транзакций в блокчейне.

Настройка

В идеале, процесс настройки/резервного копирования кошелька должен сводиться к "введите ваши 12 слов".

Эти 12 слов будут составлять мастер-ключ, который будет использоваться для генерации (или повторной генерации, если я восстанавливаю кошелек) всех необходимых секретов.

Если при создании транзакции, данные должны копироваться и заноситься куда-то еще, кроме сети блокчейн, - это должно быть реализовано через простое решение.

Однако я до сих пор не видел действительно простого решения для этой сложной проблемы.

Привязка кошелька к DropBox, Google Drive или адресу электронной почты - все это неуклюжие и неловкие попытки решить проблему.

Получение средств

Кошелек дает вам обычный адрес ETH/ERC20, на который вы сможете принимать эфир или другие токены.

Но, после внесения средств на этот адрес, кошелек будет автоматически пересылать их на смарт-контракт Tornado.

В следующий же раз, когда вам понадобится адрес для получения средств, кошелек сгенерирует новый.

Например, получив 1,4 ETH, кошелек делает пять депозитов в Tornado

(один на 1 ETH и четыре на 0,1 ETH).

Но, если у вас будет 1,45 ETH, вы столкнетесь с проблемой: для сохранения конфиденциальности Tornado.Cash позволяет вносить депозиты только с шагом 0,1, 1, 10 и 100 ETH.

Что кошелек должен делать с дополнительными 0,05 ETH? Давайте пока проигнорируем этот момент и пойдем дальше.

Отправка средств

Отправление средств - это трехэтапный процесс:

  • Во-первых, нужно будет произвести вывод средств с торнадо на новый кошелек, которым никто не пользовался (при необходимости оплатив комиссию за транзакцию через сервис ретрансляции).
  • Во-вторых, нужно будет отправить средства с этого кошелька на адрес назначения.
  • В-третьих, нужно будет вернуть оставшиеся средства обратно на контракт Tornado. Кошелек будет производить все эти действия автоматически, я просто нажму кнопку "отправить 11 ETH на адрес 0xabc...".

Но у нас остается та же нерешенная проблема с остатками ETH - если я заплачу кому-то 0,95 ETH, у меня останется 0,05 ETH, которые невозможно вернуть в Tornado.

По идее, можно заставить кошелек отслеживать эти остатки на адресах и когда их наберется достаточное количество, объединить их вместе и депонировать в торнадо.

Но это плохая идея; объединение связывает монеты и адреса, а это именно то, чего мы пытаемся избежать.

Чем проще - тем лучше

От кошелька для меня будет достаточно простого функционала для отправки и получения ETH, при этом мои средства всегда будут храниться в Tornado.Cash и выводиться только при отправке.

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

А когда я захочу потратить часть от накопленных комиссий или процентов, я смогу перевести средства обратно на личный кошелек и потратить их с него.

Возможно, версия 2.0 этого идеального кошелька позволит мне иметь отдельный баланс cDAI (или cUSDC) прямо внутри Торнадо, как процентный расчетный счет.

И, возможно, версия 2.0 будет интегрироваться с Uniswap, чтобы я мог легко отправлять любые токены, поддерживаемые Uniswap.

(И, вероятно, на этом моменте разработчики ethereum-кошельков подумают, что я идиот, и если частный кошелек имеет функционал по отправлению и получению средств, то все процессы, связанные с Tornado, можно спрятать за web 3.0-совместимым API, чтобы он стал полноценной заменой Metamask...)

Проблема со "сдачей"

В FAQ по кошельку Wasabi о “сдаче” написано следующее:

У нас не существует жестких правил относительно того, как поступать со сдачей. Просто старайтесь избегать транзакций со сдачей и чаще используйте кнопку “Max” при отправлении средств.

Наиболее проблематичный тип сдачи - это та сдача, у которой первый “набор анонимности” (красный щит - минимальная анонимность или ее отсутствие.)

Вы должны относиться к таким денежным остаткам, как к токсичным отходам = обращаться с ними с большой осторожностью.

Будущая версия Tornado.Cash может поддерживать внесение и снятие произвольных сумм, что является лучшим решением проблемы со сдачей.

Введение этой функции позволит вам получить доступ к остаткам на кошельках.

Но не забывайте - если вы, например, депонируете 1,987.542 ETH в понедельник и выводите столько же через неделю, = вы теряете анонимность.

В целом, такая функция позволит использовать такой кошелек, как полноценный крипто-кошелек, а не как одноразовый миксер.

При этом конфиденциальность будет гораздо выше, чем у современных кошельков.

Или кто-то мог бы написать смарт-контракт, подобный PoolTogether.

Он бы собирал в кучу остатки с кошельков, периодически случайным образом выбирал "победителей", а затем делал бы депозит на контракт Tornado для этих победителей.

Я думаю, что большинство людей пользовались бы кошельком, который "округляет баланс в большую или меньшую сторону, случайным образом, с точностью до 0,1 ETH” ради сохранения конфиденциальности.

Я бы даже был не против, если бы кошелек округлял баланс в меньшую сторону для сохранения конфиденциальности и автоматически отправлял “сдачу” в благотворительную организацию по выбору разработчика кошелька (или если бы эти средства шли на финансирование разработки улучшений для кошелька).

Минимальная сумма депозита в Tornado составляет 0,1 ETH, а большинство транзакций в блокчейне ethereum обычно составляют пару монет - медианная сумма транзакции в сети Ethereum составляет около 2 ETH.

Таким образом, если вы похожи на типичного пользователя Эфира, то в итоге вы пожертвуете на благотворительность около 5%:

Не такая уж большая цена за конфиденциальность, особенно если она идет на благое дело.

Оригинал находится здесь.

Переведено и адаптировано командой Telegram-канала

@Ghost_In_The_Block



Report Page