2026年10月9日時点の情報

Solanaの
プライバシー

3つの選択肢と、Solana Privacy Rings

Confidential Balances Private Channels Solana Privacy Rings

ある送金の記録

送り手7xKX…aQ2 受け手9fDe…Lm8 トークンUSDX 金額1,000 残高25,400

出典の中心:solana.com/docs/finance/privacy

今日の流れ

1

前提

普通の送金では、何が見えているか

2

2つの解決策

Confidential Balances
Private Channels

3

本題

Solana Privacy Rings を詳しく

4

比べて、試す

3つを横に並べる
Rings の始め方

前提:普通の送金は、すべて公開

エクスプローラーで見える情報SPL Token transfer
送り手7xKX…aQ2
受け手9fDe…Lm8
トークンUSDX
金額1,000 USDX
送金後の残高25,400 USDX
時刻・取引ID2026-10-04 09:12 · 5hQ…xT
1

誰と誰が取引したか

アドレスの持ち主が知られれば、取引先や給与の支払先も分かる

2

何を、いくら送ったか

取引規模が分かり、単価を推測されることも

3

いくら持っているか

資金の状況が、常に外から見える

透明性は長所。ただ、金融の実務では「見せる相手を選びたい」情報が多い

「プライベート」の意味は、1つではない

選ぶ前に、何が必要かを決める(公式ドキュメントの注意書き)

金額を隠す

amount confidentiality

残高や送金額を、外から読めなくする

参加者を隠す

participant anonymity

誰が誰に送ったかを、分からなくする

ルールで制御

policy controls

参加者の制限、上限、凍結など

実行を非公開に

private execution

取引の処理そのものを、外に出さない

監査人に見せる

audit access

必要な相手にだけ、中身を開示する

「プライベート」の意味は、モデルによって違う
原文:“Private” does not mean the same thing in every model.

出典:solana.com/docs/finance/privacy(Callout「Privacy has explicit boundaries」)

公式の比較表:3つの解決策

解決策向いている用途プライバシーの境界
Confidential BalancesToken-2022の残高と送金を秘匿金額と残高は非公開。アカウントと取引への参加は公開
Private Channels銀行や決済事業者などの組織が運営する、非公開の実行環境チャネル内の活動とデータへのアクセスが、運営組織の管理する範囲の内側に留まる
Solana Privacy Ringsチェーン上でプログラムできるプライバシー、独自のポリシーDefault RingとCustom Ringの設定で、資産・金額・参加者のどこまでを隠すかが決まる

Solanaのプライバシーは「ネットワーク全体のモード」ではなく、アプリ側で選ぶ道具のセット

出典:solana.com/docs/finance/privacy「Compare the three solutions」(表は筆者訳。原文の institution を「運営組織」と訳した)

同じ送金を、外から見ると

Alice → Bob 1,000 USDXSPL Token
送り手
受け手
トークンの種類
金額
残高
取引ID
Solanaには記録されないチャネル内の送金は、運営組織のサーバーの中で処理される

USDX は説明用の架空のトークン。出典:solana.com/docs/finance/privacy、helius.dev/docs/privacy(concepts/overview・llms.txt)、solana.com/docs/tools/private-channels(overview・concepts/auth)

1 / 3

Confidential Balances

Token-2022 の拡張機能で、金額と残高だけを暗号化する

Confidential Balances

金額と残高を暗号化する。相手は公開のまま

送り手のアカウントアドレス:公開
confidential 残高:暗号化

金額:暗号化

受け手のアカウントアドレス:公開
confidential 残高:暗号化
Token-2022 プログラム暗号化された残高を更新する
ZK ElGamal Proof ProgramSolana組み込みのプログラム。ゼロ知識証明を検証する
監査人の鍵(任意)ミントに設定すると、送金額を復号できる

非公開

confidential 残高、秘匿送金の金額

公開

ミント(トークンの種類)、トークンアカウント、持ち主、取引への参加、公開の残高部分、入金・出金の額

公式の言い方:匿名性ではなく、金額の秘匿(confidentiality, not anonymity)

出典:solana.com/docs/finance/privacy、/docs/tokens/extensions/confidential-transfer、同 integration-guide

Confidential Balances

お金の流れ:入口と出口は、金額が見える

Alice のトークンアカウント

アドレスは公開 7xKX…aQ2

公開の残高
保留中(暗号化)
使える残高(暗号化)

Bob のトークンアカウント

アドレスは公開 9fDe…Lm8

公開の残高
保留中(暗号化)
使える残高(暗号化)
① 入金Deposit。金額は平文
② 適用Apply。持ち主だけが実行
③ 送金Transfer。証明つき、金額は暗号化
④ 適用受け手が自分で Apply
⑤ 出金Withdraw。金額は平文

図の暗号文は模式表示(数字は説明用)。出典:solana.com/docs/tokens/extensions/confidential-transfer(基本の流れ)、同 integration-guide(Deposit/Withdraw は cleartext)、solana-program.com/docs/confidential-balances/overview(pending を分ける理由)

Confidential Balances

発行者が持つコントロール

監査人の鍵(任意)

ミントごとに1つ。設定すると送金額を復号できる

残高全体は見えない。トークンを動かす権限もない

入れ替えは今後の送金にだけ効く。過去分には古い鍵が要る

承認ポリシー

自動:誰でも秘匿送金を使える
手動:発行者の承認が要る

手動にすると、KYC済みの参加者だけに絞れる。通常の公開送金は対象外

ミントを作るときに有効化

拡張機能はミントを作るときだけ付けられる

既存のトークンには追加できない。たとえば今の USDC のミントは対象外。承認ポリシーと監査人は後から変えられる

暗号
twisted ElGamal + AES-GCM-SIV
証明
sigma protocol + Bulletproofs。trusted setup は不要
1回の送金の上限
248 未満(最小単位で数えて)

出典:solana.com/docs/tokens/extensions/confidential-transfer(Auditor keys)、同 issuer-guide、solana-program.com/docs/confidential-balances(encryption・zkps)、同 deposit-tokens

Confidential Balances

いま使えるか:メインネットで利用できる

Mainnet

メインネットで提供

2026年6月から Token-2022 v11.0.0 で利用可能

検証は Solana 組み込みの ZK ElGamal Proof Program

5+

独立した監査

Code4rena、Least Authority、zkSecurity、Trail of Bits、QEDIT など

4,096B

1回のトランザクションで

2026年9月15日から、v1 形式なら秘匿送金を1回で送れる

従来の形式では、証明を分けて複数回

JavaScript
@solana-program/token-2022(/confidential)
暗号・証明
@solana/zk-sdk(WASM)
Rust
spl-token-client

出典:github.com/solana-program/token-2022(release program@v11.0.0、issue #657)、github.com/anza-xyz/security-audits、solana.com/upgrades/larger-transaction-sizes、/docs/tokens/extensions/confidential-transfer/integration-guide

2 / 3

Private Channels

銀行や決済事業者などが運営する、非公開の実行環境

Private Channels

Solanaの外で処理し、Solanaで決済する

チャネルの中

送金は非公開、すぐ確定、決まった手数料なし

確定は約100ミリ秒(公式の図)

運営組織が決める

参加者、アクセス権、順序、レート制限、コンプライアンス、データの見え方

Solanaとの関係

お金の出入りは Solana のエスクローを通る。中の処理は非公開

運営組織:銀行や決済事業者など、チャネルを自分で運営する組織
仕組み自体は、ゼロ知識証明に頼らない
プライバシーの源は「Solanaに記録しない」ことと「運営組織のアクセス制御」
中身は Solana の実行環境(SVM)と互換普通のSPL送金をゲートウェイに送るだけ。ウォレットのRPCをゲートウェイに向ければよい
使えるプログラムは限られるSPL Token、ATA、Memo、出金用、DvPスワップなど。チャネル内で完結する用途に向く

出典:solana.com/docs/finance/privacy、/docs/tools/private-channels(overview・concepts/channels・quickstart/transfer)、github.com/solana-foundation/solana-private-channels(docs/CORE.md)

Private Channels

お金の流れ:見えるのは入口と出口だけ

SOLANA メインネット(誰でも見える)

チャネル(運営組織の管理する範囲)

利用者の口座SPLトークン
エスクローEscrow Program
払い出し先利用者の口座
A
B
C
運営者ゲートウェイ、ノード、DB。すべての履歴を持つ
① 入金 公開
② チャネル内で発行 約15秒
③ 送金 約100ミリ秒・決まった手数料なし・Solanaに記録なし
④ 焼却して出金を申請
⑤ 運営者が払い出し 公開
0チャネル内の送金(Solanaには0件)

出典:solana.com/docs/tools/private-channels(overview・concepts/channels・quickstart/deposit・quickstart/withdraw・operators)

Private Channels

信頼の考え方:運営組織が責任を持つ

Solana 上のエスクローが確かめること

✓登録された運営者の署名
✓許可されたミントであること
✓出金番号は一度だけ(二重払いの防止)

運営組織が担うこと

i参加者の認証と権限(JWT・RBAC)
i取引の順序付けと処理
i払い出しの実行(金額と受取人の指定)
i全履歴の保管。監査にも使える

利用者から見ると:運営組織を信頼して使う仕組み。運営者の鍵は、管理者の鍵と分けて安全に保管する

出典:solana.com/docs/tools/private-channels(overview・concepts/auth・instructions/release-funds)、github.com/solana-foundation/solana-private-channels docs/ESCROW_PROGRAM.md

Private Channels

提供状況:オープンソースで、devnet で試せる

オープンソース

Solana Foundation が開発。MIT ライセンス

2026年5月に Contra から改名

監査レポートを公開

OtterSec、2026年9月付けの3本

オンチェーン、オフチェーン、Web2 の3分野

devnet で試せる

クイックスタートと devnet のプログラムID

実際の資金で本番利用する前には、十分なセキュリティレビューを(公式ドキュメントの推奨)

向いている用途(公式):銀行や企業どうしの大量の決済、ゲームやポイントなどの高頻度な送金、相手と金額を隠したいトークンの流れ。ほかのオンチェーンのプログラムと組み合わせたいときは、通常の SPL 送金が向く

出典:solana.com/docs/tools/private-channels、同 concepts/channels、github.com/solana-foundation/solana-private-channels(audits/ottersec、PR #112)

3 / 3 本題

Solana Privacy Rings

チェーン上で、プログラムできるプライバシー(Helius)

Solana Privacy Rings

暗号化された残高を、Solanaの上に持つ

Solanaで直接動く

シーケンサーもサイドチェーンもない。送金は1回のSolanaトランザクションで決済

ロールアップではない

多くのトークンで

SOL、SPL、Token-2022 に対応。発行者の事前対応は不要

ただし Transfer Hook や Permanent Delegate など、一部の拡張機能つきミントは対象外

プログラムできる

非公開のエスクローで、スワップなどを組み立てられる

公開されているサンプルは、エスクローとスワップ

2026年10月時点:ベータ版、devnet で利用可能。独立した3社の監査と、形式検証を経てメインネットへ。名前や仕様は変わる可能性がある

出典:helius.dev/docs/privacy(llms.txt・concepts/architecture・addresses)、github.com/helius-labs/zolana。programs/shielded-pool(create_spl_interface/validate.rs)。メインネットにプログラムが存在しないことは筆者がRPCで確認

Solana Privacy Rings

仕組み:共有のMerkle木に、中身を隠した「証書」を入れる

State Merkle tree現在はすべてのRingで共有
C₀他人のUTXO
C₁Alice 100
C₂他人のUTXO
C₃Bob 60
C₄Alice お釣り 40
…
1

入金:金額・種類は公開

公開の残高から預け入れ、UTXO C₁ が木に入る

2

送金:nullifier を公開

C₁ を使った印。どれを使ったかは分からない。二重使用を防ぐ

3

新しいUTXOが木に入る

受け手向け C₃ とお釣り C₄。正しさは Groth16 の証明で示す

4

出金:金額・種類は公開

UTXOを使って、公開のアカウントに戻す

nullifier N₁公開。C₁ とは結びつけられない

出典:helius.dev/docs/privacy/concepts/utxo、concepts/architecture、github.com/helius-labs/zolana docs/spec.md。図の数字は説明用

Solana Privacy Rings

Ringの種類で、隠す範囲が決まる

資産の種類
金額
送り手
受け手
取引ID
Default Ring
誰でも使える。Ring 固有の管理者なし
非公開
非公開
公開
公開
公開
Custom Ring(confidential)
ポリシーと監査人つき
非公開
非公開
公開
公開
公開
Custom Ring(anonymous)
設計上。P-256 鍵で署名し、リレイヤーが提出。参照実装は送り手が匿名にならない制限あり。提供状況は Helius に確認
非公開
非公開
非公開
非公開
公開
入金・出金
公開の残高との出し入れ
公開
公開
送り手・受け手は原則公開(anonymous の出金は送り手が非公開)

Custom Ring で設定できること:許可する資産、参加者の許可リスト、受け手の拒否リスト、凍結、共同署名、Permanent Delegate、送金・入出金の上限、監査人

Ring をまたぐ送金:1回の取引で組めるのは Default Ring と Custom Ring 1つまで。Custom Ring 同士は Default Ring を経由し、送る側のRingのポリシーに従う。受け手が未登録だと公開の出金になることがある

出典:helius.dev/docs/privacy/concepts/overview、integration/enterprise・wallet、llms.txt(取引IDはどのモデルでも公開)、github.com/helius-labs/zolana docs/spec.md・custom-rings/README.md(Limits)

Solana Privacy Rings

鍵と信頼の仕組み

資金を動かす力

✓使うには、持ち主の署名が必要(Default Ring)
✓Helius は支払いの鍵を受け取らない
iCustom Ring は、運営企業がポリシーで管理(凍結、共同署名、Permanent Delegate)。設定によっては Ring の中で、持ち主の署名なしで動かせる
iプロトコルには安全のための停止権限(マルチシグ 2-of-5)

中身を見る力

✓confidential な Ring は、手元で復号できる
i匿名の Custom Ring は、復号を事業者に任せる
iウォレット向けの証明は現在 Helius の RPC が生成。取引のデータと nullifier 鍵を使う

証明の今後(ドキュメントより):ゼロ知識証明の生成には、取引データ全体の平文と nullifier 鍵が入力として必要。ローカルでの証明生成は近日対応。AWS Nitro 上の、エンドツーエンドで暗号化されたサーバー証明をメインネット公開前に予定。

helius.dev/docs/privacy/integration/wallet(筆者訳)

出典:helius.dev/docs/privacy(llms.txt・concepts/encryption・integration/wallet)、github.com/helius-labs/zolana docs/spec.md

横に並べて比べる

Confidential BalancesPrivate ChannelsSolana Privacy Rings
隠せるもの金額と confidential 残高チャネル内の活動(外から)資産の種類と金額。匿名の Custom Ring なら、設計上は参加者も
どこで動くかSolana の上運営組織のサーバー。出入りは SolanaSolana の上
信頼の置き場所暗号と、Solana 組み込みの検証プログラム運営組織暗号と、現在は Helius の証明サービス
監査人ミントの鍵で、送金額を復号運営組織が見せる範囲を決めるCustom Ring のポリシーで決める
使えるトークン拡張機能つきで作った Token-2022運営組織が許可した SPL トークンSOL、SPL、Token-2022。発行者の対応は不要(一部の拡張機能つきは対象外)
組み合わせToken-2022 の機能として使うチャネル内で完結非公開のエスクローで、他のプログラムと
2026年10月メインネットで利用可能devnet で試せる。自社で運用ベータ版、devnet で利用可能

誰から隠したいのか:送金額は誰に見えるか

Confidential Balances
Private Channels
Solana Privacy Rings
チェーンを見ている人
見えない入出金の額は見える
見えない入出金の額は見える
見えない入出金の額は見える
取引の相手
自分の取引は見える
設定による認証を有効にすると、自分の口座だけ
自分の取引は見える
監査人
鍵があれば
送金額が見える
運営組織が
付与した範囲
Custom Ring の
ポリシーによる
仕組みの運営者
運営者はいない検証は Solana のプログラム
運営組織がすべて把握管理する立場として
証明サービスが取引データを扱うローカル証明・暗号化証明を予定

「プライベート」と言うときは、誰から隠すのかまで決めておく

出典:各解決策のドキュメント(前のスライドまでの出典と同じ)。Private Channels の「取引の相手」は concepts/auth

選び方:3つの問い

1

運営組織に処理を任せ、オフチェーンで速く・決まった手数料なしで回したい?組織の内側で完結する決済

はい → Private Channels運営組織が責任を持って運営。運営者の鍵の管理が大切
2

CB 対応のミントで、金額だけを今すぐメインネットで隠したい?新しく発行するか、拡張機能つきで作られたトークン。相手は公開でよい

はい → Confidential Balancesミントを作るときに有効化。監査人の鍵も検討
3

資産の種類や参加者も隠したい/既存のトークンを使いたい/他のプログラムと組みたい?発行者の対応を待たずに始めたい

はい → Solana Privacy RingsDefault Ring か Custom Ring を選ぶ。現在はベータ版(devnet)

筆者の整理。複数に当てはまる場合は、要件の優先順位で選ぶ

選ぶときのポイント

① 入口と出口

公開の残高との出し入れは、公開の取引

Rings は、対応オンランプ経由なら入口の種類と金額も非公開

② 誰から隠すか

チェーンを見る人/取引相手/監査人/運営者

想定する相手で、選ぶ仕組みが変わる

③ 監査とコンプライアンス

監査人の鍵、Ring のポリシー、運営組織の管理

規制のある用途でも、見せる相手を選べる

④ 最新情報を確認

どのドキュメントも更新が速い

この資料は2026年10月9日時点の情報

まとめ:何を、誰から隠すか

Confidential Balances 金額を暗号で隠す。メインネット

Private Channels 運営組織の内側で処理する

Solana Privacy Rings 種類・金額・参加者まで

Solana Privacy Rings

Solana Privacy Rings を試す

1

ドキュメントを読む

helius.dev/docs/privacy(AI 向けの検索や MCP もある)

2

SDK を入れる

TypeScript:@heliuslabs/zolana(@solana/kit と使う)/Rust:zolana-client

3

ローカルで動かす

zolana-cli の zolana dev start で、RPC・indexer・prover つきの環境

4

サンプルとデモ

github.com/helius-labs/zolana-examples(エスクロー、スワップ)/helius.dev/privacy/demo

$ npm i @heliuslabs/zolana @solana/kit

$ zolana dev start

RPC · indexer · prover を起動

$ git clone https://github.com/helius-labs/zolana-examples

escrow-program / swap-program

企業向けの Custom Ring(許可リスト、上限、凍結、監査人など)は Helius に問い合わせ

出典:helius.dev/docs/privacy(llms.txt・sdk・endpoints)、github.com/helius-labs/zolana-examples。2026年10月9日時点はベータ版(devnet)。SDK は v0.4.0-alpha(2026年10月7日)

出典(2026年10月9日に確認)

全体
solana.com/docs/finance/privacy

Confidential Balances
solana.com/docs/tokens/extensions/confidential-transfer(integration-guide、issuer-guide、各手順のページ)
solana-program.com/docs/confidential-balances(overview、encryption、zkps)

提供状況
github.com/solana-program/token-2022(release program@v11.0.0、issue #657)
github.com/anza-xyz/security-audits
solana.com/upgrades/larger-transaction-sizes

Solana Privacy Rings
helius.dev/docs/privacy(llms.txt、concepts、integration/wallet・enterprise、guides、addresses)
github.com/helius-labs/zolana(docs/spec.md、custom-rings/README.md)

Private Channels
solana.com/docs/tools/private-channels(overview、concepts、quickstart、operators)
launch.solana.com/products/private-channels
github.com/solana-foundation/solana-private-channels(docs/ESCROW_PROGRAM.md、audits/ottersec、PR #301・#112)

注記
英語の引用は筆者訳。図の数字と USDX は説明用。ドキュメントは更新が速いので、引用の前に最新版を確認

再生ボタンを押すと説明が始まります
1 / 1 → / Space で進む ← で戻る N でノート F で全画面 00:00