> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 概要

> ユーザーフロー、送金時に公開または非公開となる情報、カスタマイズ可能なポリシーを備えた Rings など、Helius Privacy の仕組みについて説明します。

<span id="introduction-to-rings" />

## はじめに

Solana 上のすべてのトランザクションは公開されており、アドレス、残高、送金履歴を誰でも確認できます。
Solana Privacy Rings では、プライバシーを次の 2 つのレベルで定義します。

* **機密性** – 資産と金額を暗号化します
* **匿名性** – 資産、金額、送信者、受信者を暗号化します

<img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/transaction-visibility-cards.svg?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=2569051cac1c7cba10d4ffabf254577c" alt="Confidential transfers hide the asset and amount. Anonymous transfers also hide the sender and recipient. The transaction hash remains public." width="880" height="248" data-path="images/privacy/transaction-visibility-cards.svg" />

## Solana Privacy Rings

Rings は、暗号化されたオンチェーン残高を持ち、Solana 上で直接実行される、プログラム可能なシールドプールです。
さまざまな種類の Rings が共存します。

<CardGroup cols={2}>
  <Card title="Default Ring" icon="lock">
    * 機密性
    * セルフカストディ
    * パーミッションレス
    * 監査者には非公開
  </Card>

  <Card title="Custom Enterprise Rings" icon="building" href="/docs/ja/privacy/integration/enterprise">
    * 機密または匿名
    * セルフカストディ
    * カスタムコンプライアンス
    * 監査者に公開
  </Card>
</CardGroup>

ほとんどのアプリケーションでは、パーミッションレスで機密性のあるデフォルト Ring を推奨します。

アプリケーションで監査者のアクセス権と制御を備えたカスタムコンプライアンスが必要な場合は、Custom Ring を使用します。
Custom Rings は、Token-2022 と同様に、送金権限や追加の権限者を定義する Solana プログラムです。

Default Ring は、機密性のある DeFi やその他のアプリケーションの基盤を提供します。
独立した Custom Rings は既存のアプリケーションを利用することも、独自のアプリケーションを作成することもでき、独自のポリシー、
監査者のアクセス権、権限者を定義できます。これらは、その Ring 内の残高にのみ適用されます。
Rings はデフォルトで相互運用可能であり、Solana の機密 DeFi エコシステム全体で流動性を共有します。

<img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/privacy-rings-workshop.png?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=c549ef2c514a89c73af25da87ac0a8cf" alt="Solana 上の公開残高と非公開残高。1 つの Permissionless Ring と、Custom Ring 1、Custom Ring 2、Custom Ring n が並んでいます。" width="850" height="370" data-path="images/privacy/privacy-rings-workshop.png" />

## 主な特性

* **Solana ネイティブの速度** – 簡潔な <Tooltip tip="Groth16 ZK-SNARKs let Solana verify private transactions without revealing their private data. Proofs are generated server-side using GPUs, or can be generated locally.">ゼロ知識証明</Tooltip>が数十 ms で生成されるため、使い慣れたユーザー体験を維持できます。別の RPC 呼び出しのようなものです。
* **オンチェーン実行** – 暗号化された残高は Solana 上に保持されます。オフチェーン台帳、サイドチェーン、中央集権型シーケンサーは使用しません。
* **あらゆる資産を暗号化** – Rings は SOL、SPL トークン、Token-2022 トークンをサポートします。
* **セルフカストディ残高** – 非公開トランザクションには、常に所有者の署名が必要です。
* **スマートアカウントとの互換性** – Rings は、独自の認可ロジックを持つスマートアカウントをサポートできます。
* **Solana のコンポーザビリティ** – 単一のトランザクション内で任意の Solana プログラムと組み合わせられます。
* **プログラム可能なプライバシー** – Solana プログラム内に非公開エスクローを作成できます。

## ユーザーフローとプライバシー保証

ユーザーは、暗号化された残高を Private Wallet に保持します。Ring への入金、Ring 内での非公開送金、Ring からの出金が可能で、単一のトランザクション内で他の Solana プログラムと組み合わせることもできます。

<img src="https://mintcdn.com/helius/df3Lmw7POmPkuUJN/images/privacy/privacy-rings-lifecycle.svg?fit=max&auto=format&n=df3Lmw7POmPkuUJN&q=85&s=54d057b2674ad3a194575858d35db167" alt="Public and fiat balances enter a Ring, tokens move between private balances, and users withdraw or off-ramp." width="1420" height="240" data-path="images/privacy/privacy-rings-lifecycle.svg" />

<span id="deposit-to-a-private-balance-what-is-private" />

ユーザーは、公開残高の場合と同じように、Solana ウォレットアドレスへトークンを送信します。
受信者のウォレットアドレスを知っているだけで、誰でも任意のプライベートウォレットに入金できます。

### 非公開残高への入金

ユーザーは、次の 2 つの方法で非公開残高に入金できます。

1. 法定通貨残高から非公開暗号資産残高へオンランプする
2. 公開暗号資産残高から非公開暗号資産残高へ入金する

<Tabs>
  <Tab title="法定通貨残高からのオンランプ">
    | フィールド | 公開範囲 |
    | - | - |
    | 資産 | 非公開。オンチェーンで暗号化されます。 |
    | 金額 | 非公開。オンチェーンで暗号化されます。 |
    | 送信者 | オンランププロバイダー。機密 Ring では公開され、匿名 Ring では非公開です。 |
    | 受信者 | ユーザー。機密 Ring では公開され、匿名 Ring では非公開です。 |
    | メモ（任意） | 非公開。オンチェーンで暗号化されます。 |
    | 法定通貨残高と支払い | オンチェーンではありません。法定通貨での支払いはオンランププロバイダーを通じて行われます。 |

    公開残高から入金する場合とは異なり、非公開残高へのオンランプでは、資産と金額が非公開に保たれます。プロバイダーは、その非公開ウォレットからあなたのウォレットへ送金します。機密 Ring では、送信者と受信者のアドレスのみが公開されます。
  </Tab>

  <Tab title="公開暗号通貨残高からの入金">
    | フィールド | 可視性 |
    | - | - |
    | アセット | 公開。公開入金で確認できます。 |
    | 金額 | 公開。公開入金で確認できます。 |
    | 送信者 | 公開。送信元ウォレットアドレスは公開入金で確認できます。 |
    | 受信者 | 公開。送信先ウォレットアドレスは公開入金で確認できます。 |
    | メモ（任意） | 公開。公開入金とともに出力されます。 |
    | 処理後のプライベート残高 | 非公開。オンチェーンで暗号化されます。 |
  </Tab>
</Tabs>

<span id="private-transfer-what-is-private" />

### 非公開残高間の送金

ユーザーは、次の 2 つの方法で非公開送金を実行できます。

1. 同じ Ring 内で送金する
2. 別の Ring へ送金する

<Tabs>
  <Tab title="Default Ring">
    | フィールド | 可視性 |
    | - | - |
    | アセット | 非公開。オンチェーンで暗号化されます。 |
    | 金額 | 非公開。オンチェーンで暗号化されます。 |
    | 送信者 | 公開。デフォルトリングは機密です。 |
    | 受信者 | 公開。デフォルトリングは機密です。 |
    | メモ（任意） | 非公開。オンチェーンで暗号化されます。 |
  </Tab>

  <Tab title="Custom Rings">
    | 転送 | アセット | 金額 | 送信者 | 受信者 | メモ（任意） |
    | - | - | - | - | - | - |
    | カスタム機密リング内 | 非公開 | 非公開 | 公開 | 公開 | 非公開 |
    | カスタム匿名リング内 | 非公開 | 非公開 | 非公開 | 非公開 | 非公開 |
    | デフォルトリングとカスタム機密リング間 | 非公開 | 非公開 | 公開 | 公開 | 非公開 |
    | 機密リングからカスタム匿名リング | 非公開 | 非公開 | 公開 | 非公開 | 非公開 |
    | カスタム匿名リングから機密リング | 非公開 | 非公開 | 非公開 | 公開 | 非公開 |

    リレイヤーが匿名リングからの転送を送信するため、公開台帳から送信元のプライベートウォレットが明らかになることはありません。カスタムリングのプログラム ID は公開されたままです。

    リング間の転送は、送信元リングのポリシーに従う必要があります。1 つのトランザクションで、デフォルトリングと 1 つのカスタムリングの残高を組み合わせることができます。2 つのカスタムリング間の転送は、デフォルトリングを経由します。
  </Tab>
</Tabs>

<span id="withdraw-from-a-private-balance-what-is-private" />

### 公開残高への出金

ユーザーは、次の 2 つの方法で非公開残高から出金できます。

1. 非公開暗号資産から法定通貨残高へオフランプする
2. 非公開暗号資産から公開暗号資産残高へ出金する

<Tabs>
  <Tab title="法定通貨残高へのオフランプ">
    | フィールド | 可視性 |
    | - | - |
    | 資産 | 非公開。オンチェーンで暗号化されます。 |
    | 金額 | 非公開。オンチェーンで暗号化されます。 |
    | 送信者 | ユーザー。機密 Ring では公開され、匿名 Ring では非公開です。 |
    | 受取人 | オフランププロバイダー。機密 Ring では公開され、匿名 Ring では非公開です。 |
    | メモ（任意） | 非公開。オンチェーンで暗号化されます。 |
    | 法定通貨での支払い | オンチェーンではありません。法定通貨での支払いは、オフランププロバイダーを通じて行われます。 |

    公開残高への出金とは異なり、非公開残高からオフランプすると、資産と金額は非公開のまま維持されます。自分の非公開ウォレットからプロバイダーの非公開ウォレットへ送金すると、プロバイダーが法定通貨で支払います。機密 Ring では、送信者と受取人のアドレスのみが公開されます。残りの非公開残高は非公開のままです。
  </Tab>

  <Tab title="公開暗号残高への出金">
    | フィールド | 公開範囲 |
    | - | - |
    | 資産 | 公開。公開出金で確認できます。 |
    | 金額 | 公開。公開出金で確認できます。 |
    | 送信者 | confidential Ring では公開され、anonymous Ring では非公開です。 |
    | 受取人 | 公開。送金先ウォレットアドレスは公開出金で確認できます。 |
    | メモ（任意） | 暗号化されたアウトプットに添付されている場合は非公開です。 |
    | 出金後の公開残高 | 公開。受取人の公開アカウントに保持されます。 |
    | 残りの非公開残高 | 非公開。オンチェーンで暗号化されます。 |
  </Tab>
</Tabs>

## プログラマビリティと非公開エスクロー

Solana プログラムは、非公開エスクローを使用して機密性のある DeFi アプリケーションを構築できます。

* **非公開エスクロー** – ZK Solana プログラムは非公開残高をエスクローし、解除条件を定義できます
* **Solana のコンポーザビリティ** – 単一のトランザクション内で、非公開トランザクションと他の Solana プログラムを組み合わせられます
* **共有流動性** – 機密 DeFi 全体の ZK プログラムで流動性を共有できます

**構築できるもの**

* **条件付き非公開支払い** – 暗号化された資産をエスクローし、スケジュールに従って、または必要な承認後に解除します。給与支払い、権利確定、マイルストーン支払い、非公開マルチシグワークフローを実現できます。
* **スワップと取引** – トークンスワップや OTC 取引などで、非公開エスクローを通じてラップドトークン、SOL、ミームコイン、株式、RWA を交換できます。
* **ステーキングと利回り** – ステーキングプール、トークン化された財務資産、その他の利回りボールトなど、非公開の利回り生成アプリケーションを構築できます。
* **貸付と借入** – トークン化された資産を担保とするステーブルコインローンなどで、担保を非公開エスクローに保持できます。

<img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/programmability.svg?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=1ead5d736db986e9fedd4a0e51d5a730" alt="Private balances connected by transfer, swap, and lending, with yield and staking above them inside Helius Privacy Rings." style={{ width: "100%" }} width="1000" height="680" data-path="images/privacy/programmability.svg" />

## トランザクションフローの概要

<a id="overview" />

非公開送金は公開送金と同様に動作し、単一の Solana トランザクションで実行されます。

<Tabs>
  <Tab title="Private transfer">
    1. ユーザーの SOL または SPL 残高がオンチェーンで暗号化されます。
    2. 暗号化された状態を取得してローカルで復号するか、委任されたプロバイダーが復号して、復号済みの状態を提供します。
    3. ウォレットが金額と受信者を設定し、ZK 証明をリクエストします。
    4. デフォルトでは RPC プロバイダーが ZK 証明を生成して返します。Custom Ring では、ポリシー証明も必要です。
    5. ウォレットが Solana トランザクションを構築します。暗号化された状態を公開せずに ZK 証明が検証されます。呼び出されるプログラム、署名者、送信者は Ring によって異なります。

    | | Permissionless Confidential Ring | Custom Confidential Ring | Custom Anonymous Ring |
    | - | - | - | - |
    | 呼び出されるプログラム | Solana Privacy Program | Custom Ring プログラムと Solana Privacy Program | Custom Ring プログラムと Solana Privacy Program |
    | 署名者 | 送信者が署名します。ガススポンサーが手数料を支払う場合があります。 | 送信者が署名します。ガススポンサーが手数料を支払う場合があります。 | リレイヤーが署名するため、送信者はトランザクションに関連付けられません。 |

    6. アプリは Solana トランザクションハッシュを使用してステータスを追跡します。

    <Tabs sync={false}>
      <Tab title="Permissionless Confidential Ring">
        ```mermaid theme={"system"}
        %%{init: {
          'theme': 'base',
          'themeVariables': {
            'lineColor':           '#FF6B35',
            'primaryTextColor':    '#737373',
            'primaryBorderColor':  '#9CA3AF',
            'actorBkg':            '#FFFFFF',
            'actorBorder':         '#9CA3AF',
            'actorTextColor':      '#737373',
            'signalColor':         '#FF6B35',
            'signalTextColor':     '#737373',
            'labelBoxBkgColor':    '#FF6B351F',
            'labelBoxBorderColor': '#FF6B35',
            'noteBkgColor':        '#F5F5F5',
            'noteTextColor':       '#737373',
            'noteBorderColor':     '#9CA3AF'
          }
        }}%%
        sequenceDiagram
            participant Wallet
            participant RPC as RPC Provider
            participant Solana

            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Local
                Wallet->>RPC: Fetch encrypted state
                RPC-->>Wallet: Encrypted state
                Note over Wallet: Decrypt locally
            end
            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Delegated
                Wallet->>RPC: Get private balance
                Note over RPC: Decrypt and serve decrypted state
                RPC-->>Wallet: Decrypted state
            end

            Note over Wallet: Set amount and recipient
            Wallet->>RPC: Request ZK proof
            Note over RPC: Generate ZK proof
            RPC-->>Wallet: ZK proof
            Note over Wallet: Build transaction, sign

            Wallet->>RPC: Submit Transaction
            RPC->>Solana: Forward transaction
            Note over Solana: Verify signatures
            Note over Solana: CPI Solana Privacy Program
            Note over Solana: Verify ZK proof
            RPC-->>Wallet: Transaction signature
        ```
      </Tab>

      <Tab title="Custom Confidential Ring">
        ```mermaid theme={"system"}
        %%{init: {
          'theme': 'base',
          'themeVariables': {
            'lineColor':           '#FF6B35',
            'primaryTextColor':    '#737373',
            'primaryBorderColor':  '#9CA3AF',
            'actorBkg':            '#FFFFFF',
            'actorBorder':         '#9CA3AF',
            'actorTextColor':      '#737373',
            'signalColor':         '#FF6B35',
            'signalTextColor':     '#737373',
            'labelBoxBkgColor':    '#FF6B351F',
            'labelBoxBorderColor': '#FF6B35',
            'noteBkgColor':        '#F5F5F5',
            'noteTextColor':       '#737373',
            'noteBorderColor':     '#9CA3AF'
          }
        }}%%
        sequenceDiagram
            participant Wallet
            participant RPC as RPC Provider
            participant Solana

            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Local
                Wallet->>RPC: Fetch encrypted state
                RPC-->>Wallet: Encrypted state
                Note over Wallet: Decrypt locally
            end
            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Delegated
                Wallet->>RPC: Get private balance
                Note over RPC: Decrypt and serve decrypted state
                RPC-->>Wallet: Decrypted state
            end

            Note over Wallet: Set amount and recipient
            Wallet->>RPC: Request ZK proof
            Note over RPC: Generate ZK proof and policy proof
            RPC-->>Wallet: ZK proof and policy proof
            Note over Wallet: Build transaction, sign

            Wallet->>RPC: Submit Transaction
            RPC->>Solana: Forward transaction
            Note over Solana: Verify signatures
            Note over Solana: CPI Custom Ring Program
            Note over Solana: Verify policy ZK proof
            Note over Solana: CPI Solana Privacy Program
            Note over Solana: Verify SPP ZK proof
            RPC-->>Wallet: Transaction signature
        ```
      </Tab>

      <Tab title="Custom Anonymous Ring">
        ```mermaid theme={"system"}
        %%{init: {
          'theme': 'base',
          'themeVariables': {
            'lineColor':           '#FF6B35',
            'primaryTextColor':    '#737373',
            'primaryBorderColor':  '#9CA3AF',
            'actorBkg':            '#FFFFFF',
            'actorBorder':         '#9CA3AF',
            'actorTextColor':      '#737373',
            'signalColor':         '#FF6B35',
            'signalTextColor':     '#737373',
            'labelBoxBkgColor':    '#FF6B351F',
            'labelBoxBorderColor': '#FF6B35',
            'noteBkgColor':        '#F5F5F5',
            'noteTextColor':       '#737373',
            'noteBorderColor':     '#9CA3AF'
          }
        }}%%
        sequenceDiagram
            participant Wallet
            participant RPC as RPC Provider
            participant Relayer
            participant Solana

            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Delegated
                Wallet->>RPC: Get private balance
                Note over RPC: Decrypt and serve decrypted state
                RPC-->>Wallet: Decrypted state
            end

            Note over Wallet: Set amount and recipient, sign
            Wallet->>RPC: Request ZK proof
            Note over RPC: Generate ZK proof and policy proof
            RPC-->>Wallet: ZK proof and policy proof
            Note over Wallet: Build transaction

            Wallet->>Relayer: Submit Transaction
            Relayer->>Solana: Forward transaction
            Note over Solana: Verify signatures
            Note over Solana: CPI Custom Ring Program
            Note over Solana: Verify policy ZK proof
            Note over Solana: CPI Solana Privacy Program
            Note over Solana: Verify SPP ZK proof
            Relayer-->>Wallet: Transaction signature
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="Solana transfer">
    1. ユーザーの SOL または SPL 残高はオンチェーンで公開されています。
    2. ウォレットが公開状態を読み取り、送金を構築し、所有者が署名します。
    3. Solana ランタイムが署名を検証し、System Program または Token Program を呼び出します。呼び出されたプログラムが公開残高を更新します。
    4. アプリは Solana トランザクションハッシュを使用してステータスを追跡します。

    ```mermaid theme={"system"}
    %%{init: {
      'theme': 'base',
      'themeVariables': {
        'lineColor':           '#FF6B35',
        'primaryTextColor':    '#737373',
        'primaryBorderColor':  '#9CA3AF',
        'actorBkg':            '#FFFFFF',
        'actorBorder':         '#9CA3AF',
        'actorTextColor':      '#737373',
        'signalColor':         '#FF6B35',
        'signalTextColor':     '#737373',
        'labelBoxBkgColor':    '#FF6B351F',
        'labelBoxBorderColor': '#FF6B35',
        'noteBkgColor':        '#F5F5F5',
        'noteTextColor':       '#737373',
        'noteBorderColor':     '#9CA3AF'
      }
    }}%%
    sequenceDiagram
        participant Wallet
        participant RPC
        participant Solana

        Wallet->>RPC: Get public balance
        RPC-->>Wallet: Public state
        Note over Wallet: Build transfer, owner signs
        Wallet->>RPC: sendTransaction
        RPC->>Solana: Forward transaction
        Note over Solana: Verify signatures
        Note over Solana: CPI System / Token Program
        Note over Solana: Update balance
        RPC-->>Wallet: Transaction signature
    ```
  </Tab>
</Tabs>

<CardGroup cols={1}>
  <a href="https://www.helius.dev/privacy/demo" target="_blank" rel="noopener noreferrer" className="not-prose">
    <Card title="Launch Demo" icon="play">
      devnet で機密送金とスワップを試せます。
    </Card>
  </a>
</CardGroup>

<span id="private-wallet" />

<span id="creation-of-a-private-wallet" />

<span id="transfers-to-a-private-wallet" />

<span id="key-management" />

<span id="creating-a-shielded-keypair" />

<span id="integrating-a-shielded-keypair" />

<span id="decryption-modes-and-wallet-sync" />

<span id="local-decryption" />

<span id="delegated-decryption" />

<span id="indexer-serves-encrypted-state" />

<span id="private-wallet-balance" />

<span id="private-solana-token-accounts" />

<span id="on-concurrency" />

<span id="on-proof-generation-time" />

<span id="terms" />

<span id="custom-rings-are-programmable" />

## 詳細情報

<CardGroup cols={2}>
  <Card title="Architecture" icon="diagram-project" href="/docs/ja/privacy/concepts/architecture">
    ウォレット、RPC サービス、Solana プログラムがどのように連携するかを説明します。
  </Card>

  <Card title="Private State and UTXOs" icon="database" href="/docs/ja/privacy/concepts/utxo">
    非公開残高がどのように保存され、使用されるかを説明します。
  </Card>

  <Card title="Encryption and Privacy Guarantees" icon="key" href="/docs/ja/privacy/concepts/encryption">
    資産の暗号化方法とシールドキーペアの役割を説明します。
  </Card>

  <Card title="Custom Enterprise Rings" icon="building" href="/docs/ja/privacy/integration/enterprise">
    監査者向け制御とコンプライアンス制御を備えた Custom Ring の設定方法を説明します。
  </Card>
</CardGroup>

## お探しの情報が見つかりませんでしたか？

<Callout type="info">
  ぜひご連絡ください！[Telegram](https://t.me/tilo_light) | [E-Mail](mailto:sales@helius.xyz) | [Typeform](https://form.typeform.com/to/LPFASU8a)
</Callout>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.