> ## 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.

# 加密与隐私保障

> 了解私密交易中哪些信息是公开的、哪些信息经过加密，以及隐私保护密钥对如何加密和解密私密余额。

<a id="private-wallet" />

<a id="shielded-keypair" />

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

## 隐私保障

私密交易中的每一方只能看到自己需要的信息。
在此示例中，Alice 向 Bob 付款，随后 Bob 向 Charlie 付款。两笔转账都是私密转账。

<Tabs>
  <Tab title="Default Ring">
    默认 Ring 是无需许可的机密 Ring。
    发送方和接收方地址在链上公开。资产和金额经过加密。
    只有发送方和接收方可以分别使用自己的查看密钥解密交易。每一方只能解密自己的余额。

    <img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/who-sees-what-confidential.svg?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=345de01ce5c5b51451c72f28fb852433" alt="Alice 在机密 Ring 中向 Bob 付款，随后 Bob 向 Charlie 付款。每一方的视图都会显示其能够解密的金额；地址对所有人公开。" width="960" height="586" data-path="images/privacy/who-sees-what-confidential.svg" />

    | 参与方 | 可以看到 | 无法看到 |
    | - | - | - |
    | Alice | 她向 Bob 支付的款项。Bob 向 Charlie 付款这一事实。 | Bob 向 Charlie 付款所涉及的资产和金额 |
    | Bob | Alice 向他支付的款项。他向 Charlie 支付的款项。 | Alice 的余额 |
    | Charlie | Bob 向他支付的款项。Alice 向 Bob 付款这一事实。 | Alice 向 Bob 付款所涉及的资产和金额 |
    | RPC 和 Solana | 发送方和接收方地址、承诺值和密文 | 任何资产或金额 |
  </Tab>

  <Tab title="Custom Rings">
    自定义 Ring

    * 可以配置为机密或匿名
    * 可以自定义合规控制，并且
    * 可以指定一名能够解密该 Ring 余额的审计方。

    <Tabs>
      <Tab title="Confidential Custom Ring">
        发送方和接收方地址在链上公开。资产和金额经过加密。

        <img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/who-sees-what-confidential.svg?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=345de01ce5c5b51451c72f28fb852433" alt="Alice 在机密 Ring 中向 Bob 付款，随后 Bob 向 Charlie 付款。每一方的视图都会显示其能够解密的金额；地址对所有人公开。" width="960" height="586" data-path="images/privacy/who-sees-what-confidential.svg" />

        | 参与方 | 可以看到 | 无法看到 |
        | - | - | - |
        | Alice | 她向 Bob 支付的款项。Bob 向 Charlie 付款这一事实。 | Bob 向 Charlie 付款所涉及的资产和金额 |
        | Bob | Alice 向他支付的款项。他向 Charlie 支付的款项。 | Alice 的余额 |
        | Charlie | Bob 向他支付的款项。Alice 向 Bob 付款这一事实。 | Alice 向 Bob 付款所涉及的资产和金额 |
        | Ring 审计方 | 策略所定义的 Ring 活动 | Ring 之外的活动 |
        | RPC 和 Solana | 发送方和接收方地址、承诺值和密文 | 任何资产或金额 |
      </Tab>

      <Tab title="Anonymous Custom Ring">
        中继方提交交易。发送方和接收方在链上不可见。只有接收方可以看到是哪个私密钱包发送了付款。

        <img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/who-sees-what-anonymous.svg?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=8c2c1ee021abe1117743b0ee1de56363" alt="Alice 在匿名 Ring 中向 Bob 付款，随后 Bob 向 Charlie 付款。每一方的视图仅显示其自己的交易对手方和金额。" width="960" height="510" data-path="images/privacy/who-sees-what-anonymous.svg" />

        | 参与方 | 可以看到 | 无法看到 |
        | - | - | - |
        | Alice | 她向 Bob 支付的款项 | Bob 向 Charlie 支付的款项，以及 Charlie 的存在 |
        | Bob | Alice 向他支付的款项，包括由哪个私密钱包发送。他向 Charlie 支付的款项。 | Alice 的余额 |
        | Charlie | Bob 向他支付的款项，包括由哪个私密钱包发送 | Alice，以及她向 Bob 支付的款项 |
        | Ring 审计方 | 策略所定义的 Ring 活动 | Ring 之外的活动 |
        | RPC 和 Solana | 中继方、承诺值和密文 | 发送方、接收方、资产或金额 |
      </Tab>
    </Tabs>
  </Tab>
</Tabs>

<Info>
  此示例对私密转账进行了建模。存款和取款会在链上披露更多信息：

  * 从公开余额存入资金会披露来源、资产和金额。
  * 取款会披露目标地址、资产和金额。

  请参阅[每种流程中哪些信息会保持私密](/docs/zh/privacy/concepts/overview#存入私密余额)。
</Info>

## 加密

私密钱包由用于签名的 Solana 密钥对、nullifier 密钥以及用于加密的查看密钥组成。这些密钥共同构成隐私保护密钥对。隐私保护密钥对用于签名、加密和解密交易。

* **签名密钥：** 钱包用于签署交易的 Ed25519 Solana 密钥对。在匿名自定义 Ring 中，改由私密钱包的 P-256 密钥签名。
* **查看密钥：** 用于加密和解密交易的 P-256 密钥对。
* **Nullifier 密钥：** 用于派生 nullifier 的密钥，可防止私密余额被重复花费。

隐私保护地址是隐私保护密钥对中的公钥。转账会针对该地址进行加密。

```
ShieldedAddress = (signing_pk, nullifier_pk, viewing_pk)
```

要了解交易如何加密，请参阅规范中的 [ViewingKey](https://github.com/helius-labs/zolana/blob/a3ddedda42b40d4951ae8fcdde2500374c4f2125/docs/spec.md#viewingkey) 和 [AES 密钥派生](https://github.com/helius-labs/zolana/blob/a3ddedda42b40d4951ae8fcdde2500374c4f2125/docs/spec.md#aes-key-derivation)。

### 集成隐私保护密钥对

钱包可以通过原生[钱包集成](/docs/zh/privacy/integration/wallet)自行保管隐私保护密钥对。
使用[嵌入式隐私钱包](/docs/zh/privacy/integration/embedded-wallet)时，则由钱包提供商保管隐私保护密钥对并执行其密钥操作。

| 密钥管理方式 | 谁保管隐私保护密钥对 | 在哪里执行相关操作 |
| - | - | - |
| 原生[钱包集成](/docs/zh/privacy/integration/wallet) | 钱包 | 设备上 |
| [嵌入式隐私钱包](/docs/zh/privacy/integration/embedded-wallet) | 钱包提供商 | 钱包提供商的基础设施中 |

### 解密模式

所有者使用查看密钥解密自己的私密余额。

机密 Ring（默认 Ring 和机密自定义 Ring）支持本地解密和委托解密。
匿名 Ring（仅限自定义 Ring）仅支持委托解密。

| 模式 | 解密位置 | 谁拥有查看权限 | 钱包的权衡 | 谁使用此模式 |
| - | - | - | - | - |
| 本地 | 钱包内部 | 仅钱包 | 隐私性最佳，但需要维护本地状态和同步生命周期 | 机密 Ring：默认 Ring 和机密自定义 Ring |
| 委托 | 获得授权的 RPC 提供商 | 钱包 + 提供商 | 减少本地同步工作，但提供商可以查看余额和历史记录 | 任何 Ring；匿名自定义 Ring 中唯一可用的模式 |

#### 本地解密

在本地解密模式下，钱包在本地解密并同步余额和历史记录。
本地解密会将查看密钥保留在设备上。

#### 委托解密

在委托解密模式下，钱包与选定的提供商共享查看密钥。
这样提供商便可以解密余额和历史记录，但不会获得支出权限。
当钱包授权提供商同步历史活动时，还可以共享以前的查看密钥。

审计方访问权限与委托解密相互独立。
审计方可以查看策略定义的 Ring 信息，而受委托的提供商只能获得钱包范围内的同步访问权限。

#### 选择性披露

所有者可以共享查看密钥以授予读取权限，例如将其分享给审计方以满足合规要求，或分享给委托解密提供商。

* 要披露单笔交易，发送方可以共享交易查看密钥，该密钥只能解密这一笔交易。
* 自定义 Ring 还可以设置单独的审计方密钥。该密钥可以解密策略所定义的 Ring 活动。请在[自定义企业 Ring](/docs/zh/privacy/integration/enterprise)中了解详情。

## 了解更多

<CardGroup cols={2}>
  <Card title="Overview" icon="book" href="/docs/zh/privacy/concepts/overview">
    Ring、隐私保障和交易流程。
  </Card>

  <Card title="Architecture" icon="diagram-project" href="/docs/zh/privacy/concepts/architecture">
    钱包、RPC 服务和 Solana 程序如何交互。
  </Card>

  <Card title="Private State and UTXOs" icon="database" href="/docs/zh/privacy/concepts/utxo">
    如何存储和使用私密余额。
  </Card>

  <Card title="Custom Enterprise Rings" icon="building" href="/docs/zh/privacy/integration/enterprise">
    了解如何配置自定义 Ring。
  </Card>
</CardGroup>

## 没找到您要找的？

<Callout type="info">
  联系我们！[Telegram](https://t.me/tilo_light) | [电子邮件](mailto:sales@helius.xyz) | [联系](https://www.helius.dev/contact)
</Callout>


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