> For the complete documentation index, see [llms.txt](https://docs.cyclone.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cyclone.xyz/russkii/how-it-works.md).

# Как это устроено

### zkSNARKs для транзакций с сохранением конфиденциальности

![](https://github.com/tornadocash/tornado-core/raw/master/docs/diagram.png)

Cyclone прост: пользователь вносит криптовалюту в пул, а затем выводит средства из этого же пула, что скрывает историю депонированных токенов. Для депозитов пользователь отправляет «секрет» в виде хеш-кода (называемого обязательством) и сумму депозита в смарт-контракт Cyclone. Контракт принимает депозит и добавляет обязательство в свой список депозитов.

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

[Для еще более глубокого погружения см. Криптографический обзор.](https://tornado.cash/Tornado_cryptographic_review.pdf)

## Надежная установка

Как анонимная команда мы ценим полную прозрачность и стремимся к безопасному и плавному запуску Cyclone. Все с открытым исходным кодом и поддается проверке - мы применяем точную реализацию zkSNARKs, используемую tornado.cash, которая была тщательно проверена ([схемы](https://tornado.cash/Tornado_circuit_audit.pdf), [смарт-контракты](https://tornado.cash/Tornado_solidity_audit.pdf)). Кроме того, мы напрямую используем результат `Trusted Setup MPC`, который успешно работает на [Ethereum](https://medium.com/@tornado.cash/the-biggest-trusted-setup-ceremony-in-the-world-3c6ab9c8fffa#43d9).

## Контрактные адреса в основной сети IoTeX

* Cyclone Token: `io1f4acssp65t6s90egjkzpvrdsrjjyysnvxgqjrh`
* Timelock: `io10jv5lvagcgyvzagdlymagucyp3sy9ykktkudth`
* GovernorAlpha:`io1w8n28wr5dpc2uh3pzvx4n402h0l2agmu67a26x`
* Aeolus: `io1j2rwjfcm7jt7cwdnlkh0203chlrtfnc59424xc`
* Hasher: `io1pfq0g3ye7pp0gamtw4hj9kskunn3ue7400wdm5`
* Verifier: `io1rn3z2c9hc3fxnukwa0cl69hdveh0uy8mar8vqr`

## Контрактные адреса в сети BSC Mainnet

* Cyclone Token:`0x810ee35443639348adbbc467b33310d2ab43c168`
* Aeolus: `0x74fb687ad9c2c7635a8cab7dbb97d2b025fa85fa`
* C3PO Pool:`0x66b5e322dc31f8c7a33ffd23975163795f8d16c7`
* R2D2 Pool: `0xbe19d541389c9d3e03efc08f3d5008e8c9cc42a5`
* BB8 Pool: `0x79459751f6882868d1299bfa412428488b434541`
* Verifier: `0x9286e9271bf497ec39b3fdaef53e38bfc6b4cf14`

## Контрактные адреса в  сети Ethereum Mainnet

* Cyclone Token: `0x8861cff2366c1128fd699b68304ad99a0764ef9a`
* Timelock: `TBD`
* Aeolus: `TBD`
* Hasher: `TBD`
* Verifier: `TBD`
