mcpField
T
tidex6 — private payments on Solana

tidex6 — private payments on Solana

ローカル
tidex6.com金融データ1今日更新

tidex6 — private payments on Solana について

tidex6 は、Solana プログラムにプライベートなステーブルコイン決済を追加するオープンソースの Rust フレームワークと SDK で、EVM チェーンにも関連実装があります。送受信者間の関係を隠す仕組み、金額非表示プール、任意の閲覧キーによる開示を組み合わせています。現在のデプロイは開発・テスト用で、実資金には使用しないよう記載されています。

主な機能

  1. 01Groth16 による送受信者の関連性の秘匿
  2. 02機密トークンプールでの金額秘匿
  3. 03閲覧キーによる任意開示
  4. 04ステルス決済と暗号化メモ
  5. 05WebAssembly によるブラウザー内の証明生成
  6. 06Rust SDK と Anchor 統合例

活用シーン

  1. 01Anchor プログラムへのプライベートなステーブルコイン決済の追加
  2. 02送信者、受信者、金額を隠した決済
  3. 03監査担当者への取引履歴の選択的共有
  4. 04Solana や対応 EVM ネットワークでのプライバシープールのテスト

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
cargotidex6-mcp-local2.18.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

tidex6

tidex6

許可を与えるのではなく、アクセスを許可します。
同意に基づく開示が可能なプライベートなステーブルコイン決済 — 1つの Rust コードベースで、Solana メインネット、Arc、EVM チェーン上で稼働しています。


tidex6 は、Solana 開発者が小規模な SDK インターフェースを通じて Anchor プログラムに完全なトランザクションプライバシーを追加できる、Rust ネイティブのオープンソースフレームワークです。トランザクションはデフォルトで非公開となり、送信者、受信者、金額が隠されます。プライバシーは2つのレイヤーで実現されます。Groth16 シールドプールが送信者と受信者のつながりを隠し、Token-2022 Confidential Transfers レイヤー(メインネットと devnet で稼働中の wUSDC / wUSDT の非公開金額プール)が金額そのものを隠します。ユーザーは、信頼する相手(会計士、監査人、家族など)と任意で閲覧キーを共有し、自分の条件に基づいて履歴を選択的に開示できます。

ステータス: MVP の製品スタック全体がSolana メインネットで稼働中です。CSDD31Zmm3pRMHAMB8c3TBqsj9mbmH2rXBzV7jrsJhcd のプライバシーコア検証プログラムは OtterSec による検証済みで、不変です(アップグレード権限は放棄済み)。機能スタック全体 — デポジット、ZK 出金(Groth16 WithdrawCircuit<20> を alt_bn128 システムコールで検証)、nullifier ごとの二重支払い防止 PDA、受取人バインディングによるフロントラン防止、relayer.tidex6.com による参照リレイヤー経由のリンク不可能な出金、不透明な16進数ノートと専用のオンチェーンアカウントに保存されるポスト量子 ML-KEM-768 暗号化メモ、ステルス決済(受取人にノートが渡されることはなく、受取人は自身の ML-KEM 秘密鍵でチェーンをスキャンします)、デポジットごとの取り消し、WebAssembly によるブラウザー内のクライアント側証明生成(証明あたり約1.7秒、秘密情報がユーザーのタブから外に出ることはありません)、ユーザー向け tidex6 CLI、tidex6-client SDK、tidex6.com の Web アプリ、主要な examples/private-payroll 3バイナリデモ、そしてサードパーティ CPI 統合例(tidex6-tip-jar。約30行の Rust であらゆる Anchor プログラムにプライバシーを追加でき、2026年4月にメインネットへデプロイされ OtterSec による検証済み。アドレスは 5WohQRRzC31SkFMSWgEqJC9p2KvNhGkQbzUSsNUi9b9x。デモ用デプロイはその後終了) — はすべてメインネットでエンドツーエンドの検証を完了しています。MVP はColosseum Frontier hackathon(2026-05-11)向けにリリースされました。開発は継続中です — その後、非公開金額プール(Token-2022 Confidential Transfers、wUSDC AYTRKmF8VBdqRWGZr9c6Mx582SRm2tbUEwMesFMhcPcU と wUSDT QGPYpwyMnWhJUPGieXyJU5jhAkKsKuU7iGN53VCWPz2)、送信者が追加で支払い、ステルスノートとして非公開で徴収される設定可能な操作ごとの手数料(ADR-016)、および公開中の公開トラステッドセットアップセレモニー(ceremony.tidex6.com、ADR-017)がリリースされました。

開発専用です。 監査前であり、信頼できるセットアップは単独のコントリビューターによるもので、信頼性の前提はハッカソン水準です。検証プログラムの upgrade-authority は solana program set-upgrade-authority --final によって放棄されており、プログラムは不変です。実際の資金の保護には使用しないでください。ceremony.tidex6.com で公開のマルチパーティ・トラステッドセットアップセレモニーを実施中です(公開検証可能なトランスクリプトについては CEREMONY.md を参照)。オンチェーン VK が置き換えられるのは、セレモニーの完了後に新しい不変の検証プログラムがリリースされた場合のみです。docs/release/security.md を参照してください。


Solana の外部でも同じ回路 — Arc と EVM チェーン

Solana がこの仕組みの出発点であり、最も深く統合されていますが、証明システムは Solana に縛られていません。同じ Groth16 回路と同じ検証鍵が、Solidity の検証器と Solidity の Poseidon(contracts/)を通じて EVM チェーン上でも変更なしで動作します。対象となるのは、値がコミットメントの隣ではなく、その内部に格納される、金額を秘匿したプールです。チェーンごとに別のプロトコルを用意するのではなく、1 つの仕組みで対応します。

Arc — Circle のチェーンであり、ここでループが完結します。コントラクトに変更は必要ありませんでした。デプロイ前に Arc の BN254 プリコンパイル(0x05–0x08)を実際に確認しました。チェーン ID 5042 に 6 つのコントラクトを、2026 年 9 月 18 日にデプロイしました。

コントラクトアドレス
HiddenPool(秘匿金額)0x28fbB1500875EaEbe303D195C1a3721BBed8AF5f
Pool(固定額面)0x8eb05Cb1b5E46e58C8ca91E3A3738CF534c1E74f
Groth16 Verifier0x2c94135FB49840a0D6e0985AB1A6c48EE6c140d6
HiddenWithdrawVerifier0x6fF8E8393F0dD9D2592332e9f9adC3232FC41786
HiddenTransferVerifier0xca4fECF177dBb1025CC64B3D3618AdfA2f44D7AD
Reader-key Registry0x6F6F07e14E8381D13D01f99867985D8c7D23E914

Arc Testnet(チェーン ID 5042002)にも同じアドレスが存在します。同じデプロイヤー、同じ nonce です。実際に試すにはテストネットをお使いください。フォーセットは faucet.circle.com にあり、手順はメインネットと同じです。

Arc が単なる別のデプロイ先にとどまらない理由は、そこでのガス代が USDC であることです。プールが扱うトークンと、手数料の支払いに使われるトークンが同じです。ほかの場所では、サービスが運用コストを自らの収益でまかなうには、ある資産を別の資産に交換する必要があります。Solana では、運用者の残高がしきい値を下回ると、アグリゲーターを通じて手数料を SOL に交換します(crates/tidex6-ct-lab/src/gas.rs)。Arc では交換する必要がありません。手数料も USDC、ガス代も USDC であり、スワップも価格リスクも第三者もありません。残りの EVM チェーンではこのループはまだ完結していません。手数料は USDC、ガス代は ETH または HYPE です。これを解決することが次の課題です。

手数料の仕組みとコスト、まだ機能していない部分も含めて、docs/release/BUSINESS.md に詳しく記載しています。

Arbitrum — コントラクトが Solidity ではなく Rust で書かれているチェーンです。同じプールを WASM にコンパイルし、Stylus(stylus/)上で 2 つのチェーン、Arbitrum Sepolia と Robinhood Chain で実行しています。Robinhood Chain は、トークン化された株式をトークンとする Orbit チェーンです。すべてのコントラクトは再現可能な Docker ビルドであり、コンストラクターも含め、両方のネットワークで cargo stylus verify が成功します。

コントラクトArbitrum SepoliaRobinhood Chain
hidden-pool(USDC / TSLA)0xe4c1f2bc121800b8e56ff11dced9a62d6ce3b3830xf4029451b6988d32ed1a9de847bf3250e83a87fe
hidden-pool(USDG)0x27ee24bea73088095b2898b3098e2b60405152750x73f68e1e4d02557e6cefd0292ffac13da5d18490
hidden-withdraw-verifier0xe00eca003e40bb3f2df30c5b7111c73cff9d0b000x6f6c5b8e4b2f637aa7c7c47eb90c73bc18c5008d
hidden-transfer-verifier0x5024f1348dccb7f612cf0f5dc08de81b99c3fbb80xeb8cfac5351089d9436fc9fc3a40c93f1aa282f4
poseidon0x3454f4bb9b3bb20344bbb3cb43d6fb743a1c1d680xe9182c3b0cdf5bfb8871ac162fa28a501a3cfa82

これらのプールでは 3 種類のトークンを扱います。重要なのは、プールがどのトークンかを問わないことです。USDC、TSLA — トークン化された株式であり、給与や請求書の支払いを、誰がいくら受け取るかを公開せずに株式で行えます —、そして PAXOS のドルである USDG です。USDG は 2026 年 9 月 22 日に両方のチェーンで追加されました。2 つ目のトークン用に 2 つ目のプールを追加しても、最初のプールと検証器を共有できます。証明が対象とするのはツリーとヌリファイアであり、どのトークンが入っているかを示す情報は含まれません。 これを Rust で実装する価値がある理由は Poseidon にあります。深さ 20 のツリー走査では、入金のたびにハッシュを 20 回計算します。Solidity では、ハッシュ 1 回あたり約 63 000 gas かかります(独自のデプロイで測定)。Stylus では制約が別のところにあります。コントラクトは brotli 圧縮後に 24 KB 以内に収める必要があり、Poseidon の 195 個のラウンド定数は圧縮されません。そのため、ハッシュ処理はプールが呼び出す別個のコントラクトになっています。サイズ、デプロイ時の gas、そしてその理由については stylus/README.md をご覧ください。

EVM、Arbitrum、Arc のデプロイにも Solana と同じ注意点があり、さらにもう 1 つあります。検証キーは現在も進行中のセレモニーで生成されるため、これらのプールはレビューとテスト用であり、実際の資金には使用しないでください。


動作するもの、まだ動作しないもの、そして実装しないと決めたもの

審査員やインテグレーターからは、いずれにせよ次の 3 つの質問を受けます。その答えは、相手に発見されるより先に、私たち自身が書き記しておくほうがよいでしょう。

動作するもの — 誰でも実行できます:

  • Solana mainnet での wUSDC と wUSDT によるプライベートなステーブルコイン決済:Groth16 プールにより送信者と受信者が隠され、Token-2022 Confidential Transfers により金額が隠されます。検証器は不変です(アップグレード権限は放棄済みです)。
  • Arbitrum Sepolia、Robinhood Chain、Base Sepolia、HyperEVM testnet、Arc testnet、Arc mainnet の金額秘匿プール:tidex6.com のブラウザーから送信、受信、監査ができます。リレイヤーが gas を支払うため、受信者のウォレットが送金を要求したものとして記録されることはありません。
  • Robinhood Chain 上の USDG:2026 年 9 月 23 日に、手数料の記録も含めた入金から出金までの一連の処理を実際に実行しました。
  • Solana devnet 上の USDG:機密性を持つラッパー(wUSDG、プール GwZ55BcsK39KBmT3oh6jcWQpVm7EpC7p8rFNVWFUvN5U)を通じて、2026 年 9 月 24 日に送信と受信を一通り実行し、手数料の記録もトレジャリーロボットが回収しました。
  • トレジャリー:すべての決済で発生する 1% の手数料は、トレジャリー宛てに封印された別個のノートになります。サーバー上のロボットが EVM チェーンと Solana でこれらのノートを回収し、トレジャリーからリレイヤーの gas を補充します。回収された手数料、残高、すべてのロボットのトランザクションは、tidex6.com/treasury で公開されています。
  • コントラクトテスト 51 件(Foundry)が、プッシュのたびに CI で実行されます。

まだ動作しないもの:

  • EVM プールへの入金額は公開されています。 プール内の金額(join-split)は隠されていますが、入金時に金額を隠すには、次の段階となる機密性を持つトークンが必要です。
  • 検証キーは、ceremony.tidex6.com で公開セレモニーが終了するまで開発用キーのままです。 プールはレビューとテスト用です。
  • Arbitrum Sepolia 上の USDG はデプロイ済みですが、最初から最後までの動作確認はできていません。Paxos のテストネット・フォーセットは 2026 年 9 月 22 日にこのチェーンへの払い出しを停止したため、決済に使えるテスト用 USDG がありません。
  • EVM テストネットでは、手数料を gas に交換できません。交換先となる流動性がありません。Arc では gas が USDC で、手数料も同じ通貨で入ってくるため、交換は不要です。
  • Solana 上の USDG は devnet のみです。 wUSDG ラッパーとそのプール(GwZ55BcsK39KBmT3oh6jcWQpVm7EpC7p8rFNVWFUvN5U)は 2026 年 9 月 23 日から devnet で稼働しています。需要があれば mainnet に続きます。デプロイ内容は同じで、支払いが発生するだけです。
  • トレジャリーページに表示される Solana の手数料金額は、ノートに封印された値のままです。 EVM プールでは金額をノートのコミットメントと照合しますが、Solana の機密プールのコミットメントには金額が含まれていないため、トレジャリーキー宛てに封印されたノートは、保有額を超える金額を請求できてしまいます。それを超える金額を回収することはできず、表示されるだけです。
  • Solana ではラッパーはカストディアルです。基となる USDC/USDT はオペレーターのキーで管理されるボールトに保管され、オペレーターは送信側を確認できます。次の段階は PDA 権限を持つラッパープログラムです。

実装しないと決めたものと、その理由:

  • ウォレットのスクリーニングはまだありません。 決済を有効にする前に、ウォレットを制裁リストや既知のハッキング関連データベースと照合する仕組みはありません。このチェックを行うべきなのは Enable で、ウォレットが最初に登録されるタイミングです。手段については、チェーンにある場合はオンチェーンオラクルを使い、それ以外では外部データベースを使う案がありますが、まだ決まっていません。デプロイ済みプールは変更できないため、プールコントラクトには含めていません。また、ブラウザー内だけでチェックしても回避される可能性があります。
  • Solana の検証プログラムは、私たちでさえアップグレードできません。 新しいルールを適用するには、新しいアドレスに新しいプログラムを用意し、利用者に移行してもらう必要があります。すでに預けられた資金に対して、誰かがルールを変更することはできません。
  • Poseidon は Stylus 上の独立したコントラクトです。 195 個のラウンド定数は、24 KB の brotli 制限内に圧縮できません。
  • Stylus プールには token() ゲッターがありません。 リレイヤーは各プールのトークンアドレスを独自のテーブルに保持し、ストレージスロット 0 と照合します。ゲッターを追加するには、すでに資金を保持しているプールを再デプロイする必要があります。

クリーンなクローンからのビルド

このリポジトリ内のすべてのものは、通常の git clone の後に cargo build --release でビルドでき、オンチェーンプログラムも Docker で solana-verify build を実行すれば再現可能な形でビルドできます。3 つのクレートは意図的にワークスペースの外にあり、それぞれ独自の方法でビルドします。

クレートビルド方法分離されている理由
crates/tidex6-prover-wasmwasm-pack buildwasm32-unknown-unknown をターゲットとし、ブラウザー専用のクレートを取り込みます
crates/tidex6-ct-labcargo build --manifest-path crates/tidex6-ct-lab/Cargo.tomlワークスペースより新しい spl-token-2022 / solana-* に固定されています
crates/tidex6-mcpcargo build --manifest-path crates/tidex6-mcp/Cargo.tomlこのリポジトリの隣に、社内のコア(forge)のチェックアウトが必要なため、他の人はビルドできません

最後の点は、知らないうちに判明するのではなく、はっきり記しておく価値があります。ホスト型 MCP サーバーは、このリポジトリの外部にある非公開クレートに依存しています。これがワークスペースのメンバーだったときは、そのチェックアウトを持っていない人全員(つまり私たち以外の全員)にとって、クリーンなクローンでの cargo build が失敗していました。同じ理由で、プログラム検証ツールも各自のマシンでリポジトリをビルドできませんでした。現在は独自のワークスペースになっています。ここにある他のものは何もこれに依存していません。決済プロトコル、プログラム、SDK、CLI、ローカル MCP サーバー(crates/tidex6-mcp-local)は、すべて単独でビルドできます。


クイックスタート — ステーブルコイン(USDC / USDT)

本番環境のプールでは、金額をオンチェーンで秘匿したまま USDC と USDT を送金できます。このリポジトリをソースからビルドする必要のない方法が 2 つあります。

ブラウザーから — tidex6.com、Solana ウォレットなら何でも利用できます。証明はタブ内で生成され、秘密情報が外部に出ることはありません。

AI エージェントまたはコマンドラインから — ローカル MCP サーバーが、コードで適用される制限のもと、マシン内にとどまるキーで署名します。

cargo install tidex6-mcp-local
{ "mcpServers": { "tidex6": { "command": "tidex6-mcp-local", "args": [] } } }

ツール:send、payments、collect、audit、whoami。詳しい説明は crates/tidex6-mcp-local/README.md をご覧ください。

クイックスタート — 従来の SOL プール

以下の tidex6 CLI は、ステーブルコインプールより前に作られ、現在も利用可能な v0.1 固定額面 SOL プールと通信します。このプールには発行者の freeze_authority がないため、引き続き提供しています。金額はオンチェーンで確認できますが、送信者と受信者のつながりだけは秘匿されます。金額も秘匿するには、上記のステーブルコインの方法を使ってください。

# Generate a tidex6 identity (spending + viewing key).
cargo run --release -p tidex6-cli -- keygen

# Make a private 0.5 SOL deposit to the shielded pool.
cargo run --release -p tidex6-cli -- deposit \
    --amount 0.5 --note-out parents.note

# Redeem the note into any recipient wallet. The CLI rebuilds
# the offchain Merkle tree from on-chain history via the
# indexer, generates a Groth16 withdraw proof, and submits it
# to the verifier program.
#
# Default is the direct path — the user signs their own tx.
# For full unlinkability (ADR-011) add `--relayer` to delegate
# the tx to a relayer service that signs and pays on the user's
# behalf:
#   --relayer https://relayer.tidex6.com \
#   --relayer-pubkey <relayer_hot_wallet_pubkey>
cargo run --release -p tidex6-cli -- withdraw \
    --note parents.note --to <recipient_pubkey>

クイックスタート — SDK

tidex6-client のビルダー API を使えば、わずかな行数で、独自の Rust アプリにシールドプールを組み込めます。

use anchor_client::Cluster;
use tidex6_client::PrivatePool;
use tidex6_core::note::Denomination;

# fn demo(
#     payer: &solana_keypair::Keypair,
#     recipient: anchor_client::anchor_lang::prelude::Pubkey,
# ) -> anyhow::Result<()> {
let pool = PrivatePool::connect(Cluster::Mainnet, Denomination::OneSol)?;

// Deposit side: keep the note locally — with stealth payments the recipient
// is never handed the note; they discover the deposit by scanning the chain
// with their own ML-KEM secret.
let (deposit_sig, note, _leaf_index) = pool.deposit(payer).send()?;
std::fs::write("parents.note", note.to_text())?;

// Withdraw side: rebuild the tree, prove, submit.
// Default direct path — user signs the tx themselves.
let withdraw_sig = pool
    .withdraw(payer)
    .note(note)
    .to(recipient)
    .send()?;

// Full unlinkability via the reference relayer (ADR-011): the
// user's keypair never signs the withdraw tx, the relayer pays
// fees and becomes the on-chain payer. Circuit binds the specific
// relayer so a front-runner cannot swap them in mempool.
// let withdraw_sig = pool
//     .withdraw(payer)
//     .note(note)
//     .to(recipient)
//     .via_relayer("https://relayer.tidex6.com", relayer_hot_wallet_pubkey)
//     .send()?;
# drop((deposit_sig, withdraw_sig));
# Ok(())
# }

主力デモを試す

examples/private-payroll では、Lena が毎月両親に仕送りをし、会計士の Kai が共有されたスキャンファイルから税務レポートを作成する一連の流れを確認できます。3 つのバイナリ — sender、receiver、accountant — が稼働中のメインネットにアクセスします。

cd examples/private-payroll
./scripts/run_demo.sh

このスクリプトは 1 つのターミナルを 3 つの tmux ペインに分割し、すべての処理を横並びで実行します — deposit → rebuild → prove → withdraw → report — 1 分以内に完了します。


アーキテクチャの概要

  • Groth16 による BN254 曲線上のゼロ知識証明を使用し、ネイティブ Solana alt_bn128 システムコールでオンチェーン検証します。1 回の証明に必要な計算ユニットは 200,000 未満です。
  • Poseidon ハッシュ関数を使用し、オフチェーン(light-poseidon)とオンチェーン(solana-poseidon)のコンポーネント間でパラメーターを揃えています。
  • オンチェーンのルートリングバッファーを備えたオフチェーン Merkle ツリー(深さ 20、容量約 100 万)。
  • 金額の秘匿 — Token-2022 Confidential Transfers レイヤー(wUSDC / wUSDT のラップ済みミントプール。メインネットおよび devnet で稼働中)が、Groth16 によるリンクプライバシープールに加えて、送金額そのものを秘匿します。2 つのレイヤーにより、プールは 誰から誰へ を秘匿し、Confidential Transfers は いくら を秘匿します。
  • ポスト量子 ML-KEM-768 監査タグによる入金ごとの選択的な開示 — ユーザーはトランザクションごとに、誰に何を見せるかを選択できます。
  • シールドされたメモ — ポスト量子 ML-KEM-768 で暗号化されたメモを、専用のオンチェーンアカウント(入金イベントとは別)に保存します。閲覧キーの所有者だけが読み取れます。ステルス決済(受取人はメモを受け取るのではなく、自身の ML-KEM 秘密鍵でチェーンをスキャンします)と入金ごとの取り消しに対応しています。
  • アップグレード不可の検証プログラム — コアの証明検証プログラムはデプロイ後にロックされるため、ユーザーはデプロイ担当者を永久に信頼する必要がありません。
  • リレイヤーによる送信元の秘匿 — ADR-011:リファレンス HTTPS サービス relayer.tidex6.com が withdraw トランザクションに署名して送信するため、ユーザーのウォレットが支払人としてオンチェーンに記録されることはありません。証明には特定のリレイヤーがコミットメント(公開入力)として含まれるため、先回りする第三者が手数料の送信先を変更できません。リファレンスサービスの回路内 relayer_fee ポリシーはゼロです。誰でも任意の手数料で独自のリレイヤーを運用できます。これとは別に、入金には設定可能な操作ごとの手数料があります(ADR-016)。送信者は追加で手数料を支払い(ゼロでもかまいません)、署名する前にその金額を確認できます。手数料はプライベートに徴収され、同じシールドプール内でオペレーターにステルスメモとして送られます。
  • クライアント側での証明生成 — tidex6-prover-wasm は Rust の証明生成プログラムを WebAssembly にコンパイルします。ブラウザーは入金メモをローカルで解析し、WASM 内の Poseidon を使って commitment と nullifier_hash を導出したうえで、ユーザーのマシン上で Groth16 を完全に実行します。M シリーズ CPU では約 1.7 秒で完了します。ユーザーの secret と nullifier が当社のサーバー、リレイヤー、その他の第三者に送信されることはありません。デプロイ済み .wasm 成果物の WebAssembly.Module.imports(...) を調べれば形式的に検証できます。そこには fetch / XMLHttpRequest / WebSocket のシンボルは含まれません。サンドボックスがその証明です。
  • CPI プリミティブとして合成可能 — 任意の Anchor プログラムが tidex6_verifier::deposit 経由で SOL を送金し、プライバシー機能一式を継承できます。リファレンス例の tidex6-tip-jar では、このパターンを約 30 行の Rust で示しています(過去の v1 検証プログラムを対象にビルドし、OtterSec の検証を受けています。再利用する前に現在の検証プログラムを参照するよう変更してください)。給与支払い、ロイヤリティの分配、サブスクリプションプロトコル、ダークプール DEX のフックにも同じパターンを適用できます。
  • Anchor 1.1.2 で構築されています。

技術的な詳細は、docs/release/PROJECT_BRIEF.md をご覧ください。


技術スタック

オンチェーン(Anchor 1.1.2 プログラム):

  • anchor-lang = "=1.1.2"
  • groth16-solana = "0.2" — alt_bn128 システムコール経由の Groth16 検証器
  • solana-poseidon = "4" — ネイティブ Poseidon システムコール

オフチェーン(クライアントと証明生成):

  • arkworks 0.5.x — ark-bn254、ark-groth16、ark-crypto-primitives、ark-r1cs-std、ark-relations、ark-ff、ark-ec、ark-serialize、ark-ed-on-bn254
  • light-poseidon = "0.4" — circom 互換の Poseidon。オンチェーンのシステムコールとバイト単位で同等です
  • ml-kem = "0.2"、chacha20poly1305 = "0.10" — 耐量子 ML-KEM-768 メモ暗号化
  • anchor-client = "1.0"、solana-sdk = "4.0"

哲学

デフォルトでは閉じています。ユーザーの選択によって開きます。このプロトコルは誰が利用するかについて何も強制しません。誠実な行動が最短の道となるように、そのためのレールを築きます。正当性を証明することを選ぶユーザーは、自分で選んだ相手に、自分が保持する鍵を通じて証明します。バックドアも、鍵のエスクローも、復旧サービスもありません。このアーキテクチャは、ツールをどのように利用できるかについては明確な見解を持ちますが、誰が利用するかについては見解を持ちません。

マニフェスト全文:docs/release/THE_LEGEND.md。


ドキュメント

公開ドキュメントは docs/release/ にあります。

  • THE_LEGEND.md — ミッション、哲学、設計原則。
  • PROJECT_BRIEF.md — 技術概要:アーキテクチャ、データフロー、ワークスペースの構成、開発者エクスペリエンス。
  • ROADMAP.md — 現在/次/その後、リリースのマイルストーン。
  • security.md — 脅威モデル、既知の制限事項、脆弱性の種類と緩和策。
  • CEREMONY.md — 公開の信頼されたセットアップセレモニー:参加方法、チェーンの検証方法、最終化の仕組み。
  • PR_CHECKLIST_PROOF_LOGIC.md — 証明ロジックに関わるすべての PR に適用する Fiat-Shamir の規律チェックリスト。
  • adr/ — アーキテクチャ決定記録(コミットメントスキーム、Merkle ツリーのストレージ、ヌリファイアのストレージ、ElGamal の実装、アップグレード不可の検証器、ビルダーパターンとマクロの比較、主要機能、プールの分離、証明生成時間の予算、メモの転送、リレイヤーのアーキテクチャ、不透明なノート形式、ブラウザー側での証明生成、専用アカウントでの耐量子 ML-KEM メモ、2 層の機密金額アーキテクチャ、非公開での徴収が可能な設定式手数料、公開セレモニーの最終化を扱う 17 件の ADR)。

上記すべてのロシア語翻訳は docs/release/ru/ にあります。


ワークスペースの構成

tidex6/
├── crates/
│   ├── tidex6-core/             — commitments, nullifiers, Merkle tree, keys, Poseidon, DepositNote, pqc (ML-KEM-768)
│   ├── tidex6-circuits/         — arkworks R1CS: DepositCircuit, WithdrawCircuit<20> with relayer binding
│   ├── tidex6-indexer/          — offchain Merkle tree rebuild from on-chain DepositEvent logs
│   ├── tidex6-client/           — Rust SDK with builder pattern API (PrivatePool, DepositBuilder, WithdrawBuilder direct + via_relayer)
│   ├── tidex6-cli/              — developer CLI: `tidex6 keygen | deposit | withdraw | accountant`
│   ├── tidex6-prover-wasm/      — ADR-013: Rust prover compiled to WebAssembly (~1.7 s in-browser proof, secret never leaves the tab); excluded from workspace, built via wasm-pack
│   ├── tidex6-notifier-client/  — bitcode IPC client for the Telegram notifier microservice (shared between tidex6-web and the relayer service)
│   ├── tidex6-ui-shared/        — shared brand/css/template assets embedded via include_dir!; single source of truth for tidex6-web and the relayer status pages
│   └── tidex6-day1/             — Day-1..15 mainnet flight harnesses (Day-1 gates, Day-5 deposit, Day-11 withdraw, Day-12 negative, Day-13 accountant)
├── programs/
│   ├── tidex6-verifier/         — singleton non-upgradeable Anchor verifier program (deployed at CSDD31Zm…sJhcd)
│   ├── tidex6-tip-jar/          — ADR-013 reference CPI integration example (deployed + OtterSec-verified Apr 2026, deployment since closed)
│   ├── tidex6-confidential-amounts/  — early v0.3 Token-2022 Confidential-Transfers exploration (not on mainnet yet)
│   └── tidex6-caller/           — test CPI caller used by Day-1 gate 4
├── examples/
│   ├── private-payroll/         — flagship example: sender, receiver, accountant binaries
│   └── confidential-amount-demo/  — companion to programs/tidex6-confidential-amounts (v0.3 exploration)
├── brand/                        — logo assets, brandbook, Solscan PNGs
└── video/                        — pitch, demo, and weekly progress scripts

External repos (sibling path-deps, not part of this workspace):
  - tidex6-web        — production website at tidex6.com (5-microservice IPC architecture)
  - tidex6-relayer    — production relayer at relayer.tidex6.com (Axum HTTPS service, ADR-011)

Planned for v0.2, not yet in the workspace:
  - Proof of Innocence circuit + Association Set Provider (ADR-007 v2)
  - Relayer hardening: HSM keypair, multi-sig cold wallet, federated discovery
  - Ergonomic proc macros (`#[private_withdraw]` etc.) layered over the builder API (ADR-006)
  - Auditor key lifecycle — BIP32-style HD derivation for forward secrecy (extends ADR-014)

ライセンス

MIT または Apache-2.0 のいずれかを選択して、デュアルライセンスで提供されています。

トークンも SaaS プランもありません。Groth16 検証器は誰でも統合できる、パーミッションレスで不変のプリミティブです。非公開金額プールは運用されるデプロイメントであり、操作ごとに設定可能な(ゼロの場合もある)手数料が適用されます。


お問い合わせ

GitHub で Issue とプルリクエストをお寄せください。

tidex6.rs — 私が付与するのはアクセス権であり、許可ではありません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。