入金
ブラウザが秘密値を生成してプライベートノートを作ります。資産とノートのハッシュが固定額プールへ送信されます。
commitmentHashsecret + nullifierTORNADO.CASH / TORNADO CASH CLASSIC とは
Tornado Cash は、公開ブロックチェーン上の非公開取引を目的とした分散型プロトコルです。不変のスマートコントラクトプールとゼロ知識証明を組み合わせ、入金アドレスと後の受取アドレスの見える関係を分離します。
Tornado Cash Classic とは: Classic は同額のプールを使用します。利用者は固定額を入金してプライベートノートを受け取り、対応する入金を公開せずにプール所属を証明します。
プロトコルは一つのアドレスからコミットメントを受け取り、後で受取人の証明を検証します。プライベートノートは利用者側で両操作を結びますが、オンチェーンには公開されません。
ブラウザが秘密値を生成してプライベートノートを作ります。資産とノートのハッシュが固定額プールへ送信されます。
commitmentHashsecret + nullifier同額のコミットメントが増えると、単純な時間相関は弱くなります。ただしプライバシーは利用者の行動やネットワークメタデータにも左右されます。
クライアントは、有効で未使用のコミットメントがマークルツリーに存在することを証明します。コントラクトが証明を検証し、指定受取人へ送金します。
root + nullifierHashdeposit path + secrets公開ブロックチェーンは通常、直接の取引経路を示します。Tornado Cash では、送信元がコミットメントを公開し、受取先は後で共有プールに対して有効な証明を提示します。

ノートには証明作成に必要な秘密情報が含まれます。秘密鍵と同様に保護し、共有しないでください。
コントラクトは利用者の秘密ノートではなく、コミットメントをマークルツリーへ記録します。
公開ヌリファイアハッシュがノートを使用済みにし、対応するコミットメントは明かしません。
受取人とリレイヤーのパラメータを証明入力に含め、出金先の置換を防ぎます。
Tornado Cash コントラクトは暗号学的事実を評価します。プライベートノートを知る必要も、顧客残高を管理する必要も、有効な受取人を選ぶ必要もありません。
プロトコル文書を読む ↗秘密値とヌリファイアから得たハッシュが、プールのマークルツリーに葉として追加されます。
H(secret, nullifier)
クライアントがツリーを再構築し、コミットメントが受理済みルートに属することを証明します。
leaf ∈ root
コントラクトは使用済みヌリファイアハッシュを拒否し、二重出金を防ぎます。
spent[nHash] == false
検証コントラクトが証明を確認し、プールが固定額を指定受取人へ送ります。
verifyProof() → true
Classic プールは同じ額面をまとめます。入金で生成したノートを後の出金証明に使用します。
Nova は任意額と、シールドプール内に留められる送金を、異なるアカウントモデルで実現します。
運営者のアカウントではなく、利用者が持つ秘密情報によって制御されます。
コントラクト、回路、証明ツール、インターフェースコードを検証し、独立してホストできます。
デプロイ済みプールは元の開発者ではなく、自身のバイトコードに従って実行されます。
提案と TORN 投票はオンチェーンで行われ、ノート保管とは分離されています。
以下は中核設計の説明です。プライバシーは自動ではなく、時間、アドレス再利用、ブラウザ状態、RPC、適用法も考慮が必要です。
プールコントラクトは資産と秘密値から作られたコミットメントを受け取ります。プライベートノートは利用者が保管し、出金証明の作成に必要です。一般的なパスワードや復旧データベースはありません。
同額の入金が同じプールに増えることで、単純な時間相関を弱めます。待機だけでプライバシーが保証されるわけではありません。
受理済みマークルルート内のコミットメントに対応する秘密を知り、関連ヌリファイアが未使用であることを、秘密自体を公開せずに示します。
リレイヤーは受取人に代わって出金トランザクションを送信し、Gas を支払えます。証明は受取人と手数料を固定します。
操作前に文書を読み、コントラクトを確認し、ノートを保護し、プライバシーの前提を理解してください。