Как концептуально работает Tornado Cash, который попал под санкции США?

HabrDipublikasikan tanggal 2022-08-24Terakhir diperbarui pada 2022-08-24

Abstrak

8 августа 2022 года Управление по контролю за иностранными активами Министерства финансов США (OFAC) наложило санкции на Tornado Cash, миксер криптовалюты, что вызвало шквал обсуждений в криптосреде. В этой статье разберем как концептуально работает криптомиксер Tornado Cash, что было понять, что есть в этой технологии, что против нее вводят санкции.

Что такое Tornado Cash?

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

Tornado Cash — это сервис, который смешивает разные потоки потенциально идентифицируемой криптовалюты и таким образом не дает отследить переход криптовалюты с одного адреса на другой.

Tornado Cash — является децентрализованным криптомиксером, это значит, что он использует смарт-контракты, которые принимают криптовалюту, а затем позволяют выводить их на другие адреса. Поскольку вывод средств производится из пулов ликвидности смарт-контрактов проекта, невозможно узнать, кто является первоначальным отправителем. Это скрывает поток средств и затрудняет их отслеживание.

Анонимная связка адреса отправителя и адреса получателя возможна благодаря технологии доказательства с нулевым разглашением (Zero-knowledge proof). Доказательство с нулевым разглашением позволяет вам доказать истинность утверждения, не раскрывая содержание утверждения и не раскрывая, как вы обнаружили истину. Конкретно Tornado Cash использует протокол zk-SNARK.

Важно отметить, что, используя zk-SNARK, Tornado Cash позволяет вам вносить в контракт фиксированные суммы ETH, DAI, USDC или USDT. Когда вы вносите деньги (Deposit), вы получите резервный код, который вам понадобится для вывода (Withdrawal) средств позже.

Почему фиксированные суммы? Например, вы внесли 0,1 ETH, а также помимо вас это сделали еще 303 человека. А поскольку процес передачи средств в смарт-контракт являтся общедоступной информацией, когда вы вносите 0,1 ETH, эти 0,1 ETH позже можно будет отследить до этой группы из 303 человек, но не до вас напрямую.

Алгоритм работы

Размещение (Deposit)

Прежде чем Алиса вложит деньги в Tornado Cash, ей нужно будет выбрать два случайных числа: secret и nulifier, а затем она вычислит хэш этих двух случайных чисел.

Чтобы внести(разместить) депозит в Tornado Cash, Алиса отправит 1 ETH и хэш чисел secret и nulifier. Пускай в нашем примере это будет 0x404.

⠀⠀

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

⠀⠀

Вывод средств

⠀⠀

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

⠀⠀

Итак, неправильный путь это когда выводящий средства, передаст в смарт контракт числа secret и nulifier, а смарт-контракт проверит, что хэш есть в хранилище смарт-контракта и отдаст нужное кол-во ETH. Подобный процесс раскрывает личность выводящего деньги из смарт-контракта. Например, мы знаем, что Алиса разместила в смарт-контракте хэш 0x404,а позже появляется анонимный пользователь передающий secret и nulifier, так что хеш secret и nulifier равен 0x404, но поскольку хеш-функция является односторонней функцией, это означает, что единственный человек, который знает secret и nulifier, который хэширует в 0x404 - это Алиса. Именно так личность пользователя раскрывается при снятии средств. Итак, как мы можем решить эту проблему.

⠀⠀

Если каким-то образом есть возможность доказать, что я знаю secret и nulifier, так что hash (secret,nulifier) есть в смарт-контракте, но без раскрытия secret и nulifier. Тогда анонимный пользователь мог бы отсылать в смарт-контракт некое доказательство что он знает secret и nulifier без фактической отправки этих чисел или хэша, а смарт-контракт проверял бы, действительно ли доказательство, при этом смарт-контракт не знал бы, предназначено ли доказательство для 0x404 или для 0x403 или 0x505, которые также записаны в смарт-контракт, другими словами, доказательство не раскрывало бы личность анонимного пользователя.

⠀⠀

⠀⠀

Подобный механизм называется доказательством с нулевым разглашением, то есть, когда вы можете доказать, что вам известна какая-то информация, не раскрывая ничего о фактической информации. Конкретно Tornado Cash использует криптографический протокол zk-SNARK.

⠀⠀

Что за nulifier?

⠀⠀

Узнав, что смарт-контракт проверят действительно ли доказательство, но не знает для какого конкретно хэша, какой-нибудь хакер захотел бы много раз отправить одно и тоже доказательство, чтобы получить много ETH. Поэтому, чтобы предотвратить подобное двойное использование, когда вы отправляете доказательство для вывода, вам также нужно будет отправить хэш nulifier внутри доказательства.

⠀⠀

⠀⠀

И тогда "внутри" zk-SNARK будет проверятся:

⠀⠀

— что hash(secret,nulifier) есть в смарт-контракте;

— корректность, что хэш от nulifier == hash(nulifier).

⠀⠀

После этих проверок, смарт-контракт отдаст ETH и "запишет", что вывод средств был произведен.

⠀⠀

Хранение данных

⠀⠀

Для того, чтобы осуществлять большое количество проверок хэшей в Tornado Cash данные хранится в Merkle tree.

⠀⠀

Использование хеш-деревьев позволяет "малыми" затратами проверять принадлежности определённого блока данных к множеству.

⠀⠀

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

⠀⠀

Зеленым отмечены хэши которые понадобятся нам для проверки, что синий элемент принадлежит к множеству средств внутри Tornado Cash

⠀⠀

Доказательства с нулевым разглашением ZKPs

⠀⠀

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

⠀⠀

⠀⠀

Концептуальный пример для интуитивного понимания данных доказательства в условиях нулевого разглашения это представить себе пещеру с одним входом, но двумя путями (путь A и B), которые соединяются через общую дверь, запертую кодовой фразой. Алиса хочет доказать Бобу, что она знает код доступа к двери, но не раскрывая код Бобу. Для этого Боб стоит снаружи пещеры, а Алиса идет внутрь пещеры, выбирая один из двух путей (при этом Боб не знает, какой путь был выбран). Затем Боб просит Алису вернуться к входу в пещеру по одному из двух путей (выбранных случайным образом). Если Алиса изначально выбрала путь А к двери, но затем Боб просит ее вернуться по пути Б, единственный способ решить головоломку для Алисы — это знать код доступа к запертой двери. Этот процесс может быть повторен несколько раз, чтобы доказать, что Алиса знает код доступа к двери и не выбрала правильный путь изначально с высокой степенью вероятности.

⠀⠀

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

⠀⠀

Итог

⠀⠀

Теперь у нас есть все, чтобы понять, как работает Tornado Cash (TC). Когда вы вносите 1 ETH по контракту Tornado Cash , вы представляете хэш доказательство. Этот хэш будет храниться в Merkle. Когда вы снимаете этот 1 ETH с другой учетной записи, вы должны предоставить 2 доказательства с нулевым разглашением. Первый доказывает, что дерево Меркель содержит ваши хэши. Это доказательство является доказательством с нулевым разглашением. Но этого недостаточно, потому что вам должно быть разрешено снять этот 1 ETH только один раз. Из-за этого вы должны предоставить nulifier, уникальный для доказательства. Контракт хранит этот nulifier,и это гарантирует, что вы не сможете снять внесенные деньги более одного раза.

⠀⠀

Заключение

⠀⠀

Санкции на смарт-контракт являются интересным прецедентом, так как смарт-контракт сам по себе автономен, и пока не ясно к каким образом должна выглядеть, например, полная блокировка сервиса на уровне сети Ethereum.

IvanRomanovich для Habr.com.

Bacaan Terkait

Kelompok Katolik dan Penegak Hukum Peringatkan UU CLARITY Dapat Melemahkan Pengamanan Kejahatan Kripto

Sebuah koalisi yang terdiri dari pemimpin Katolik, kelompok yang sejalan dengan penegak hukum, dan advokat anti-penjualan manusia memperingatkan bahwa RUU CLARITY Act berpotensi melemahkan pengamanan yang digunakan untuk memerangi kejahatan yang dimungkinkan oleh crypto. Kritik ini berfokus pada ketentuan yang akan melindungi pengembang perangkat lunak non-kustodial agar tidak diperlakukan seperti penyedia pengiriman uang. Perdebatan ini menyentuh salah satu pertanyaan tersulit dalam regulasi crypto: bagaimana membedakan perangkat lunak netral dari perantara keuangan. Para pendukung crypto berargumen bahwa pengembang yang menerbitkan kode non-kustodial tidak boleh diregulasi seperti bursa atau prosesor pembayaran. Sementara para pengkritik khawatir pengecualian yang terlalu luas dapat menyulitkan pelacakan keuangan ilegal. Perangkat lunak non-kustodial adalah inti dari DeFi. Arsitektur ini menciptakan tantangan penegakan hukum ketika aktor jahat menggunakan alat yang sama. Meski RUU CLARITY Act bertujuan menciptakan aturan struktur pasar yang lebih jelas, penentangan ini menunjukkan bahwa perdebatan kebijakan juga menyangkut isu seperti perdagangan manusia, pengelakan sanksi, dan visibilitas bagi penegak hukum. Tekanan ini tidak berarti RUU tersebut mati, tetapi mungkin membutuhkan amandemen, perlindungan yang lebih sempit, atau persyaratan pelaporan tambahan untuk mengatasi kekhawatiran tentang celah bagi keuangan ilegal. Bagi perusahaan crypto, aturan yang lebih jelas dapat membuka investasi, namun jika RUU ini dianggap melemahkan pencegahan kejahatan, jalur politisnya bisa menjadi lebih sulit.

bitcoinist4j yang lalu

Kelompok Katolik dan Penegak Hukum Peringatkan UU CLARITY Dapat Melemahkan Pengamanan Kejahatan Kripto

bitcoinist4j yang lalu

Rincian Kasus Penipuan Parah yang Melanda Unicorn Kripto Blockstream

**Rangkuman: Tuduhan Penipuan dan Pertanyaan Seputar Blockstream** Tahun ini, Blockstream, perusahaan kripto yang didirikan oleh perintis Bitcoin Adam Back, menjadi sorotan. Awalnya, karena investasi Jeffrey Epstein pada 2014 dan spekulasi bahwa Back bisa jadi Satoshi Nakamoto. Namun, kontroversi utama muncul dari laporan investigasi oleh akun NatInfoSec yang menuduh skema obligasi penambangan Bitcoin Blockstream (BMN) berpotensi penipuan mirip Ponzi. **Titik Tuduhan Utama:** 1. **Kapasitas dan Pembayaran yang Dipertanyakan:** NatInfoSec menyatakan untuk memenuhi kewajiban BMN, Blockstream membutuhkan daya komputasi (hashrate) 20-45 EH/s, tetapi dashboard perusahaan hanya menunjukkan 15 EH/s. Tidak ada bukti publik yang memadai (data listrik, impor perangkat keras, atribusi pool penambangan) untuk mendukung skala yang diklaim. Klausul dalam kontrak BMN juga memungkinkan Blockstream membayar dengan Bitcoin dari sumber mana pun, mempertanyakan asal hasil yang dibayarkan kepada investor. 2. **Imbal Hasil Tinggi yang Mencurigakan:** Obligasi BMN menawarkan imbal hasil tetap hingga sekitar 20% per tahun, angka yang sulit dipertahankan di industri penambangan Bitcoin yang sangat fluktuatif. Beberapa penawaran juga diklaim melibatkan perpanjangan pokok ke obligasi baru dengan imbal lebih tinggi. 3. **Masalah Pengungkapan dan Masa Lalu Eksekutif:** Christopher William Cook, figur kunci di divisi penambangan Blockstream dan CEO Exacore (entitas operasional terkait), memiliki catatan kriminal. Ia dihukum pada 2008 karena penipuan surat (mail fraud) dan menjalani hukuman penjara. Informasi ini tidak diungkapkan dalam dokumen penawaran BMN. Materi pemasaran juga diduga membesar-besarkan keterkaitan Cook dengan NASA. 4. **Keterkaitan dengan BSTR dan SPAC:** NatInfoSec mempertanyakan apakah potensi liabilitas BMN dan latar belakang Cook telah diungkapkan dengan benar dalam proses persiapan IPO perusahaan terkait Bitcoin, Bitcoin Standard Treasury Company (BSTR), yang melibatkan Adam Back. **Tanggapan dan Debat Komunitas:** BitMEX Research menganalisis tuduhan tersebut, mengakui kemungkinan catatan kriminal Cook dan kekhawatiran atas imbal hasil tinggi. Namun, mereka berpendapat bahwa beberapa tuduhan kurang bukti atau menyesatkan, menekankan pemisahan struktur hukum antara BMN, Blockstream, dan BSTR. Perdebatan di komunitas berfokus pada **kemampuan untuk memverifikasi** hashrate dan hasil penambangan yang sebenarnya yang mendasari BMN. Para pendukung seperti Samson Mow membela operasi penambangan Blockstream, sementara para pengkritik meminta bukti verifikasi independen yang jelas. **Pertanyaan yang Belum Terjawab untuk BMN:** Kontroversi ini menyisakan beberapa pertanyaan kunci tentang BMN: skala sebenarnya dan batas tanggung jawab, kecukupan hashrate penambangan untuk mendukung pembayaran, sumber imbal hasil tetap yang tinggi, kemampuan memverifikasi aset Bitcoin yang digunakan untuk pembayaran, serta peran dan kepentingan Cook. Sampai saat ini, Blockstream belum memberikan tanggapan resmi yang menyeluruh terhadap berbagai tuduhan ini.

marsbit8j yang lalu

Rincian Kasus Penipuan Parah yang Melanda Unicorn Kripto Blockstream

marsbit8j yang lalu

Kelompok Reddit yang Pernah Memaksa Tembok Bursa Wall Street, Apakah Telah Menemukan GME Berikutnya?

**Ringkasan Artikel: Komunitas Reddit r/wallstreetbets Menargetkan Wendy's (WEN), Apakah Ini GME Berikutnya?** Pada 24 Juni, saham Wendy's (WEN) melonjak setelah sebuah postingan berjudul "We need to save Wendy's" viral di subreddit r/wallstreetbets (WSB), memicu spekulasi bahwa ini bisa menjadi "meme stock" atau sasaran "short squeeze" berikutnya, mirip dengan fenomena GameStop (GME) pada 2021. Postingan tersebut, yang menggunakan guyonan lama di komunitas WSB tentang bekerja di Wendy's setelah investasi gagal, berhasil menarik perhatian dan mendorong diskusi untuk membeli saham atau opsi beli (call options). Saham WEN naik lebih dari 20% dalam perdagangan pra-pasar, dengan volume perdagangan yang sangat tinggi. Artikel ini menganalisis apakah WEN memiliki potensi untuk menjadi "squeeze" sistematis seperti GME. Beberapa faktor pendukung yang teridentifikasi adalah: * **Rasio Short Interest yang Cukup Tinggi:** Sekitar 31.83% saham beredar dipinjam untuk dijual (short), yang dapat menjadi bahan bakar jika harga naik dan para pedagang short terpaksa membeli kembali saham. * **Perhatian Komunitas yang Kuat:** Wendy's memiliki identitas merek yang mudah dikenali dan cocok dengan budaya meme di WSB. Namun, analisis menunjukkan bahwa situasi WEN **tidak sama ekstremnya dengan GME tahun 2021**: * **Struktur Short yang Tidak Seekstrem GME:** Rasio short interest WEN (31.83%) jauh di bawah level GME yang pernah melebihi 100%, sehingga tekanan untuk menutup posisi short tidak separah saat itu. * **Bukti untuk "Gamma Squeeze" Masih Lemah:** Meski ada diskusi tentang opsi beli, belum ada bukti kuat bahwa pembelian opsi tersebut sudah cukup masif untuk memaksa market maker (penjual opsi) membeli saham dalam jumlah besar sebagai lindung nilai, yang dapat memicu akselerasi harga berkelanjutan. * **Sejarah sebagai Meme Stock:** WEN pernah mengalami lonjakan serupa pada 2021 yang akhirnya mereda, menunjukkan bahwa antusiasme komunitas tidak selalu diterjemahkan menjadi kenaikan harga yang berkelanjutan. * **Narasi Dasar yang Terbatas:** Kampanye "selamatkan Wendy's" lebih merupakan lelucon komunitas daripada didasarkan pada kesulitan finansial perusahaan yang nyata. **Kesimpulan:** Pergerakan harga WEN menunjukkan bahwa perhatian dari komunitas retail seperti WSB masih dapat dengan cepat menggerakkan harga saham. Namun, bukti saat ini lebih mengarah pada **"meme pop" jangka pendek atau "squeeze" ringan**, bukan tekanan short sistematis skala penuh seperti GME. Keberlanjutan rally akan bergantung pada apakah diskusi berkembang di luar satu postingan panas, volume perdagangan tinggi bertahan selama beberapa hari, dan aktivitas opsi beli meningkat secara signifikan untuk menciptakan putaran umpan balik yang memperkuat kenaikan harga.

marsbit8j yang lalu

Kelompok Reddit yang Pernah Memaksa Tembok Bursa Wall Street, Apakah Telah Menemukan GME Berikutnya?

marsbit8j yang lalu

Trading

Spot
Futures
活动图片