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

# Khái niệm

> Tìm hiểu cách Helius Privacy hoạt động, bao gồm luồng người dùng, thông tin nào được công khai hoặc giữ riêng tư trong một giao dịch chuyển tiền và các Ring có chính sách tùy chỉnh.

## Giới thiệu về Ring

Mọi giao dịch trên Solana đều có thể được đọc công khai: bất kỳ ai cũng có thể xem địa chỉ, số dư và lịch sử chuyển tiền.
Ring mã hóa số dư onchain và luôn mặc định là không lưu ký:

* Trong Ring bảo mật, tài sản và số tiền được giữ riêng tư, còn người gửi và người nhận vẫn hiển thị.
* Trong Ring ẩn danh, tài sản, số tiền, người gửi và người nhận đều được giữ riêng tư.

<img src="https://mintcdn.com/helius/ANceN_N6YhA2y60D/images/privacy/transaction-visibility-cards.svg?fit=max&auto=format&n=ANceN_N6YhA2y60D&q=85&s=d775dd0d4ebcf7b299ef0f3ccfb025ca" alt="Two Solana transaction cards side by side. The confidential card shows the transaction hash, sender, and recipient while the asset and amount are blacked out. The anonymous card shows only the transaction hash; the sender, asset, amount, and recipient are all blacked out. The transaction hash stays public on both." width="2320" height="540" data-path="images/privacy/transaction-visibility-cards.svg" />

Có nhiều loại Ring:

1. Default Ring không cần cấp quyền và có tính bảo mật. Ring này mã hóa tài sản và số tiền, bất kỳ ai cũng có thể sử dụng và không có các tùy chọn kiểm soát chính sách tùy chỉnh.
2. Custom Ring là các chương trình Solana giúp khả năng riêng tư trên Solana có thể lập trình được, tương tự Token-2022. Custom Ring có thể là Ring bảo mật hoặc ẩn danh, với các quy tắc tùy chỉnh về chính sách, báo cáo và khả năng hiển thị.

<Info>
  Đối với hầu hết ứng dụng, chúng tôi khuyên dùng Default Ring bảo mật và không cần cấp quyền.
  Để sử dụng các tùy chọn kiểm soát chính sách và tuân thủ tùy chỉnh, hãy [liên hệ với chúng tôi](https://www.helius.dev/contact) để bắt đầu với Custom Ring.
</Info>

<img src="https://mintcdn.com/helius/iNBk0QZ3vdaUiFW5/images/privacy/privacy-network.svg?fit=max&auto=format&n=iNBk0QZ3vdaUiFW5&q=85&s=af61b324d07f1184da1f3912d9f050fb" alt="Private Balances shown as a dashed onchain zone holding two rings. The Default Ring is confidential, self-custodial, and permissionless. The Custom Ring is confidential or anonymous, self-custodial, and adds custom policy and custom compliance. A private transfer connects the rings, and each deposits into and withdraws from a Solana Public Balances layer below." width="850" height="540" data-path="images/privacy/privacy-network.svg" />

### Custom Ring có thể lập trình

Custom Ring là các chương trình Solana đơn giản giúp khả năng riêng tư có thể lập trình được, với các tính năng tương tự Token-2022.

Custom Ring có thể xác định các quy tắc hoàn toàn tùy chỉnh cho việc chuyển tiền và khả năng hiển thị/kiểm toán.

<Accordion title="Example Custom Ring policies">
  | Chính sách                           | Ví dụ                                                                                   |
  | ------------------------------------ | --------------------------------------------------------------------------------------- |
  | Tài sản được phép                    | Chỉ USDC hoặc một stablecoin cụ thể đã được phát hành                                   |
  | Hạn mức chuyển tiền                  | Yêu cầu phê duyệt bổ sung khi vượt quá một ngưỡng                                       |
  | Đồng ký                              | Yêu cầu phê duyệt tuân thủ đối với các khoản thanh toán đã chọn                         |
  | Danh sách cho phép                   | Chỉ cho phép chuyển tiền đến các tài khoản, đơn vị bán hàng hoặc Ring đã được phê duyệt |
  | Danh sách chặn                       | Chặn các đích đến bị trừng phạt hoặc có rủi ro                                          |
  | Đóng băng/gỡ đóng băng               | Đóng băng số dư trong khi chờ điều tra                                                  |
  | Đại diện thường trực                 | Cho phép một bên có thẩm quyền đã cấu hình chuyển tiền theo chính sách                  |
  | Khả năng hiển thị cho kiểm toán viên | Cho phép bộ phận tuân thủ, kế toán hoặc cơ quan quản lý xem hoạt động của Ring          |
  | Quy tắc liên Ring                    | Cho phép hoặc chặn việc chuyển tài sản giữa các Ring cụ thể                             |
  | Quy tắc rút tiền                     | Hạn chế việc rút tiền công khai hoặc yêu cầu phê duyệt                                  |
  | Hỗ trợ tài khoản thông minh          | Cho phép sử dụng trực tiếp với tài khoản thông minh                                     |
  | Khôi phục tài khoản                  | Cho phép một bên có thẩm quyền đã cấu hình hoặc danh tính dự phòng khôi phục tài khoản  |
</Accordion>

Các bên có thẩm quyền của Ring được khai báo khi tạo Ring, vì vậy người dùng có thể kiểm tra chính sách trước khi chọn Ring.
Default Ring không cần cấp quyền và không có bên có thẩm quyền hoặc kiểm toán viên tùy chỉnh.

<Tip>
  Nếu muốn thiết lập Custom Ring riêng, hãy [liên hệ với chúng tôi](https://www.helius.dev/contact) và chúng tôi sẽ hỗ trợ bạn thiết lập.
  Bạn có thể tự cung cấp giải pháp tuân thủ hoặc sử dụng giải pháp KYC và sàng lọc lệnh trừng phạt do Helius quản lý.
</Tip>

## Luồng người dùng và cam kết về quyền riêng tư

Các giao dịch với Helius Privacy được thực thi trực tiếp trên onchain và kết hợp với các chương trình Solana khác trong một giao dịch duy nhất.
Người dùng có thể tham gia Ring, chuyển tiền riêng tư bên trong Ring hoặc rời khỏi Ring:

**1. Nạp tiền hoặc chuyển tiền pháp định vào.** Người dùng gửi token từ số dư Solana công khai hoặc số dư tiền pháp định trực tiếp đến số dư riêng tư.

**2. Chuyển tiền riêng tư.** Người dùng gửi token giữa các số dư riêng tư trong cùng một Ring hoặc sang một Ring khác.

**3. Rút tiền hoặc chuyển thành tiền pháp định.** Người dùng gửi token từ số dư riêng tư đến số dư Solana công khai hoặc trực tiếp đến số dư tiền pháp định.

<img src="https://mintcdn.com/helius/df3Lmw7POmPkuUJN/images/privacy/privacy-rings-lifecycle.svg?fit=max&auto=format&n=df3Lmw7POmPkuUJN&q=85&s=54d057b2674ad3a194575858d35db167" alt="Diagram of the Ring lifecycle. A public balance of 100 USDC deposits into a Ring and a fiat balance of USD / EUR / ... on-ramps into the same Ring, funds move between two private balances via private transfer, then withdraw to a public balance or off-ramp to a fiat balance." width="1420" height="240" data-path="images/privacy/privacy-rings-lifecycle.svg" />

Người dùng gửi token đến một địa chỉ ví Solana giống như khi sử dụng số dư công khai.
Privacy API tự động định tuyến giao dịch chuyển tiền đến Private Wallet nếu người nhận có ví này.
Nếu không, giao dịch chuyển tiền sẽ trở thành một giao dịch rút tiền đến địa chỉ công khai của người nhận.

Bất kỳ ai cũng có thể nạp tiền vào Private Wallet khi chỉ biết địa chỉ ví công khai của người nhận.
Khi ứng dụng của người gửi không hỗ trợ quyền riêng tư, người nhận sẽ nhận tiền công khai và có thể mã hóa số tiền đó vào số dư riêng tư của mình trong bước thứ hai.

### Nạp tiền vào số dư riêng tư: Thông tin nào được giữ riêng tư

Người dùng có thể nạp tiền vào số dư riêng tư theo hai cách:

1. Chuyển từ số dư tiền pháp định vào số dư tiền mã hóa riêng tư
2. Nạp từ số dư tiền mã hóa công khai vào số dư tiền mã hóa riêng tư

<Tabs>
  <Tab title="On-ramp from fiat balance">
    | Trường                                   | Khả năng hiển thị                                         | Lý do                                                                                                                                                                                                                                                                                                                          |
    | ---------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | Số dư tiền pháp định và khoản thanh toán | Không onchain                                             | Khoản thanh toán bằng tiền pháp định không diễn ra onchain                                                                                                                                                                                                                                                                     |
    | Tài sản                                  | Riêng tư                                                  | Tài sản được mã hóa onchain                                                                                                                                                                                                                                                                                                    |
    | Số tiền                                  | Riêng tư                                                  | Số tiền được chuyển được mã hóa onchain                                                                                                                                                                                                                                                                                        |
    | Nhà cung cấp onramp                      | Công khai trong Ring bảo mật, riêng tư trong Ring ẩn danh | Trong Ring bảo mật, địa chỉ ví của nhà cung cấp được hiển thị. Ring ẩn danh sử dụng một relayer, vì vậy sổ cái công khai không tiết lộ ví riêng tư nguồn.                                                                                                                                                                      |
    | Địa chỉ ví người dùng                    | Công khai trong Ring bảo mật, riêng tư trong Ring ẩn danh | Trong Ring bảo mật, địa chỉ ví người dùng được hiển thị onchain. Địa chỉ người dùng được sử dụng cho onramp không thể bị liên kết với người dùng nếu đó là địa chỉ mới và sau này không được gắn với một địa chỉ ví đã biết thông qua giao dịch chuyển bảo mật. Trong Ring ẩn danh, sổ cái công khai không tiết lộ người nhận. |
  </Tab>

  <Tab title="Deposit from public crypto balance">
    | Trường                       | Khả năng hiển thị | Lý do                                               |
    | ---------------------------- | ----------------- | --------------------------------------------------- |
    | Ví công khai nguồn           | Công khai         | Địa chỉ ví nguồn hiển thị trên chuỗi                |
    | Tài sản                      | Công khai         | Tài sản hiển thị trên chuỗi                         |
    | Số lượng                     | Công khai         | Số lượng đã nạp hiển thị trên chuỗi                 |
    | Địa chỉ ví đích              | Công khai         | Địa chỉ ví đích hiển thị trên chuỗi                 |
    | Số dư riêng tư sau giao dịch | Riêng tư          | Số dư riêng tư sau giao dịch được mã hóa trên chuỗi |
  </Tab>
</Tabs>

### Chuyển tiền riêng tư: Thông tin nào được giữ riêng tư

Người dùng có thể thực hiện giao dịch chuyển tiền riêng tư theo hai cách:

1. Chuyển tiền trong cùng một Ring
2. Chuyển tiền sang một Ring khác

<Info>
  Đối với hầu hết ứng dụng, chúng tôi khuyên dùng Default Ring bảo mật và không cần cấp quyền.
  Để sử dụng các tùy chọn kiểm soát chính sách và tuân thủ tùy chỉnh, hãy [liên hệ với chúng tôi](https://www.helius.dev/contact) để bắt đầu với Custom Ring.
</Info>

<Tabs>
  <Tab title="Permissionless Confidential Ring">
    | Trường            | Khả năng hiển thị | Lý do                                                          |
    | ----------------- | ----------------- | -------------------------------------------------------------- |
    | Tài sản           | Riêng tư          | Tài sản được mã hóa trên chuỗi                                 |
    | Số lượng          | Riêng tư          | Số lượng được chuyển được mã hóa trên chuỗi                    |
    | Ví riêng tư nguồn | Công khai         | Trong một Ring bảo mật, ví riêng tư nguồn hiển thị trên chuỗi. |
    | Người nhận        | Công khai         | Trong một Ring bảo mật, người nhận hiển thị trên chuỗi.        |
  </Tab>

  <Tab title="Custom Rings">
    Các giao dịch chuyển từ và trong một Ring sẽ tiết lộ ID chương trình của Ring tùy chỉnh.

    Số dư trong một Ring tùy chỉnh có thể được chuyển sang tài khoản token SPL, Ring mặc định hoặc một Ring khác, miễn là chính sách của Ring nguồn cho phép.
    Ring mặc định không cần cấp quyền và không có chính sách hoặc cơ quan quản lý.

    Một giao dịch có thể kết hợp số dư từ Ring mặc định và một Ring tùy chỉnh. Giao dịch chuyển giữa hai Ring tùy chỉnh sẽ được định tuyến qua Ring mặc định.

    | Chuyển khoản riêng tư              | Ring bảo mật tùy chỉnh | Ring ẩn danh tùy chỉnh                                                                                | Từ Ring bảo mật mặc định đến Ring bảo mật tùy chỉnh hoặc ngược lại | Từ Ring bảo mật (mặc định hoặc tùy chỉnh) đến Ring ẩn danh tùy chỉnh | Từ Ring ẩn danh tùy chỉnh đến Ring bảo mật (mặc định hoặc tùy chỉnh)                                  |
    | ---------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
    | Số lượng                           | Riêng tư               | Riêng tư                                                                                              | Riêng tư                                                           | Riêng tư                                                             | Riêng tư                                                                                              |
    | Tài sản                            | Riêng tư               | Riêng tư                                                                                              | Riêng tư                                                           | Riêng tư                                                             | Riêng tư                                                                                              |
    | Ví riêng tư nguồn                  | Công khai              | Riêng tư. Một bên chuyển tiếp gửi giao dịch, vì vậy sổ cái công khai không tiết lộ ví riêng tư nguồn. | Công khai                                                          | Công khai                                                            | Riêng tư. Một bên chuyển tiếp gửi giao dịch, vì vậy sổ cái công khai không tiết lộ ví riêng tư nguồn. |
    | Người nhận                         | Công khai              | Riêng tư                                                                                              | Công khai                                                          | Riêng tư                                                             | Công khai                                                                                             |
    | ID chương trình của Ring tùy chỉnh | Công khai              | Công khai                                                                                             | Công khai                                                          | Công khai                                                            | Công khai                                                                                             |
  </Tab>
</Tabs>

### Rút tiền từ số dư riêng tư: Thông tin nào được giữ riêng tư

Người dùng có thể rút tiền từ số dư riêng tư theo hai cách:

1. Chuyển tiền mã hóa riêng tư thành số dư tiền pháp định
2. Rút từ số dư tiền mã hóa riêng tư sang số dư tiền mã hóa công khai

<Tabs>
  <Tab title="Off-ramp to fiat balance">
    | Trường                               | Khả năng hiển thị                                         | Lý do                                                                                                                                                                                                                                                                                                                        |
    | ------------------------------------ | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Khoản thanh toán bằng tiền pháp định | Không nằm trên chuỗi                                      | Khoản thanh toán bằng tiền pháp định không nằm trên chuỗi                                                                                                                                                                                                                                                                    |
    | Tài sản                              | Riêng tư                                                  | Tài sản được mã hóa trên chuỗi                                                                                                                                                                                                                                                                                               |
    | Số tiền                              | Riêng tư                                                  | Số tiền được chuyển được mã hóa trên chuỗi                                                                                                                                                                                                                                                                                   |
    | Nhà cung cấp offramp                 | Công khai trong Ring bảo mật, riêng tư trong Ring ẩn danh | Trong Ring bảo mật, người quan sát có thể thấy rằng một người dùng đã thực hiện offramp qua Nhà cung cấp offramp này. Trong Ring ẩn danh, sổ cái công khai không tiết lộ người gửi và người nhận.                                                                                                                            |
    | Địa chỉ ví của người dùng            | Công khai trong Ring bảo mật, riêng tư trong Ring ẩn danh | Trong Ring bảo mật, địa chỉ ví của người dùng hiển thị trên chuỗi. Không thể liên kết một địa chỉ ví khác với địa chỉ này nếu đây là địa chỉ mới và sau đó không bị liên kết với một địa chỉ ví đã biết thông qua giao dịch chuyển tiền bảo mật. Trong Ring ẩn danh, sổ cái công khai không tiết lộ người gửi và người nhận. |
  </Tab>

  <Tab title="Withdraw to public crypto balance">
    | Trường                        | Khả năng hiển thị | Lý do                                                          |
    | ----------------------------- | ----------------- | -------------------------------------------------------------- |
    | Ví riêng tư nguồn             | Công khai         | Trong một Ring bảo mật, ví riêng tư nguồn hiển thị trên chuỗi. |
    | Tài sản                       | Công khai         | Tài sản hiển thị trên chuỗi                                    |
    | Số tiền                       | Công khai         | Số tiền đã rút hiển thị trên chuỗi                             |
    | Ví công khai đích             | Công khai         | Địa chỉ ví đích hiển thị trên chuỗi                            |
    | Số dư công khai sau giao dịch | Công khai         | Số dư công khai sau giao dịch hiển thị trên chuỗi              |
    | Số dư riêng tư còn lại        | Riêng tư          | Số dư còn lại được mã hóa trên chuỗi                           |
  </Tab>
</Tabs>

## Luồng giao dịch cấp cao

Giao dịch chuyển tiền riêng tư hoạt động tương tự giao dịch chuyển tiền công khai và được thực thi trong một giao dịch Solana duy nhất.

<Tabs>
  <Tab title="Private transfer">
    1. Số dư SOL hoặc SPL của người dùng được mã hóa onchain.
    2. Truy xuất trạng thái đã mã hóa và giải mã cục bộ, hoặc một nhà cung cấp được ủy quyền sẽ giải mã và cung cấp trạng thái đã giải mã.
    3. Ví đặt số tiền và người nhận, sau đó yêu cầu bằng chứng ZK.
    4. Theo mặc định, nhà cung cấp RPC tạo và trả về bằng chứng ZK. Custom Ring cũng yêu cầu bằng chứng chính sách.
    5. Ví tạo giao dịch Solana. Bằng chứng ZK được xác minh mà không tiết lộ trạng thái đã mã hóa. Các chương trình được gọi, cũng như bên ký và gửi giao dịch, phụ thuộc vào Ring:

    |                       | Ring bảo mật không cần cấp quyền                         | Custom Ring bảo mật                                      | Custom Ring ẩn danh                                                  |
    | --------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------- |
    | Chương trình được gọi | Solana Privacy Program                                   | Chương trình Custom Ring và Solana Privacy Program       | Chương trình Custom Ring và Solana Privacy Program                   |
    | Bên ký                | Người gửi ký. Nhà tài trợ phí gas có thể thanh toán phí. | Người gửi ký. Nhà tài trợ phí gas có thể thanh toán phí. | Một bên chuyển tiếp ký để người gửi không bị liên kết với giao dịch. |

    6. Ứng dụng theo dõi trạng thái qua hàm băm giao dịch 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. Số dư SOL hoặc SPL của người dùng được công khai onchain.
    2. Ví đọc trạng thái công khai, tạo giao dịch chuyển tiền và chủ sở hữu ký.
    3. Môi trường thực thi Solana xác minh chữ ký và gọi System Program hoặc Token Program để cập nhật số dư công khai.
    4. Ứng dụng theo dõi trạng thái qua hàm băm giao dịch 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>

## Private Wallet

Người dùng giữ số dư đã mã hóa trong Private Wallet.

Private Wallet nhận giao dịch chuyển tiền tại địa chỉ Solana công khai của người dùng, đóng vai trò là `inbox`.
Nhờ đó, người gửi luôn nhập địa chỉ Solana của người nhận giống như khi chuyển tiền công khai.

| So sánh                | Ví Solana                 | Private Wallet                  |
| ---------------------- | ------------------------- | ------------------------------- |
| Mã định danh công khai | Địa chỉ Solana            | Cùng một địa chỉ Solana         |
| Lưu trữ onchain        | Tài khoản token công khai | Tài khoản token riêng tư (UTXO) |

### Tạo Private Wallet

Khi Private Wallet được tạo, địa chỉ Solana sẽ được đăng ký trong một sổ đăng ký onchain.

Sổ đăng ký ánh xạ một địa chỉ Solana tới một <Tooltip tip="The Shielded Address is not a Solana keypair, it is deterministically derived from the signing, nullifier, and viewing public keys.">Shielded Address</Tooltip>.
Ở tầng bên dưới, các giao dịch chuyển tiền được mã hóa đến Shielded Address.
Nhiều địa chỉ Solana không thể dùng chung một Shielded Address.
Mỗi bản ghi trong sổ đăng ký là một PDA thuộc sở hữu của <Tooltip tip="regyS5rkAcw2YzDJCmTwCTHs2s246FXxbmuRZ42u2PD">[chương trình sổ đăng ký](https://orbmarkets.io/address/regyS5rkAcw2YzDJCmTwCTHs2s246FXxbmuRZ42u2PD)</Tooltip>. Bất kỳ ai cũng có thể tra cứu bản ghi này để biết một địa chỉ Solana có thể nhận giao dịch chuyển tiền riêng tư hay không.

<img src="https://mintcdn.com/helius/NHXFc7ysJd1NoY9P/images/privacy/wallet-shape.svg?fit=max&auto=format&n=NHXFc7ysJd1NoY9P&q=85&s=7e96783047c79ed30c4e995623f197a6" alt="User wallet showing two public Solana wallets and a private wallet. An inbox arrow connects Public Wallet A's public key to the private wallet's Shielded Address." width="1120" height="570" data-path="images/privacy/wallet-shape.svg" />

<Info>
  Trong ứng dụng ví, bạn có thể chỉ cho phép người dùng tạo ví riêng tư cho một khóa công khai "Private Wallet" chuyên dụng,
  hoặc cho bất kỳ khóa công khai nào.
</Info>

### Chuyển tiền đến Private Wallet

Trong mỗi giao dịch chuyển tiền, Privacy API tra cứu địa chỉ ví trong sổ đăng ký onchain để kiểm tra xem người nhận có ví riêng tư hay không.
Nếu tìm thấy, API sử dụng Shielded Address ở tầng bên dưới để mã hóa giao dịch chuyển tiền.

<Info>
  Khi người nhận giao dịch chuyển tiền riêng tư không có Private Wallet, Privacy API chuyển giao dịch thành một giao dịch rút tiền từ riêng tư sang công khai.

  Chúng tôi khuyên bạn nên yêu cầu một chữ ký người dùng riêng trong giao diện người dùng để tránh việc người dùng vô tình rút tiền vào số dư công khai.
</Info>

```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 User
    participant Privacy API
    participant Solana

    User->>Privacy API: Initiate Private Transfer
    Privacy API->>Solana: Look up Solana address
    rect rgba(255, 107, 53, 0.06)
        Note left of User: Recipient has a Private Wallet
        Solana-->>Privacy API: Registered
        Privacy API->>User: Request Signature
        User->>Privacy API: Sign private transfer
        Privacy API-->>Solana: Send Private Transfer
    end
    rect rgba(255, 107, 53, 0.06)
        Note left of User: Recipient has no Private Wallet
        Solana-->>Privacy API: Not Registered
        Privacy API->>User: Request Signature
        User->>Privacy API: Sign to Confirm Withdrawal
        Privacy API-->>Solana: Private-to-Public Withdrawal
    end
```

### Quản lý khóa

Private Wallet thêm một cặp khóa được che chắn vào ví Solana từ cặp khóa Solana của bạn.

| Khóa                   | Ví Solana                                  | Private Wallet                                |
| ---------------------- | ------------------------------------------ | --------------------------------------------- |
| Khóa công khai         | Được chia sẻ để nhận giao dịch chuyển tiền | Được chia sẻ để nhận giao dịch chuyển tiền    |
| Khóa riêng tư          | Dùng để ký giao dịch                       | Dùng để ký giao dịch                          |
| Cụm từ hạt giống       | Tạo lại ví                                 | Tạo lại ví                                    |
| Cặp khóa được che chắn | Không áp dụng                              | Gói gồm khóa ký, khóa vô hiệu hóa và khóa xem |

Cặp khóa được che chắn là một gói gồm khóa ký, khóa vô hiệu hóa và khóa xem. Đây không phải là cặp khóa Solana.

| Khóa             | Ring bảo mật                 | Custom Ring ẩn danh          |
| ---------------- | ---------------------------- | ---------------------------- |
| Khóa ký          | Ed25519 của ví công khai     | P-256 của ví riêng tư        |
| Khóa vô hiệu hóa | Đánh dấu UTXO là đã chi tiêu | Đánh dấu UTXO là đã chi tiêu |
| Khóa xem         | P-256 chỉ đọc. Giải mã số dư | P-256 chỉ đọc. Giải mã số dư |

Shielded Address là các khóa công khai của cặp khóa được che chắn. Các giao dịch chuyển tiền được mã hóa đến địa chỉ này.

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

#### Tạo cặp khóa được che chắn

Ví có thể tạo cặp khóa được che chắn theo hai cách.

1. **Dẫn xuất khóa từ cụm từ hạt giống.**

   * Phương pháp được khuyên dùng cho các ví dựa trên hạt giống.
   * Ring bảo mật: khóa ký là cùng khóa Ed25519 mà ví Solana dẫn xuất từ hạt giống đó. Khóa vô hiệu hóa và khóa xem là các khóa bổ sung được dẫn xuất từ cùng hạt giống.
   * Custom Ring ẩn danh: khóa ký là một khóa P-256 bổ sung được dẫn xuất từ hạt giống của ví.
   * Bạn luôn có thể tạo lại cặp khóa được che chắn theo cùng cách tạo lại ví Solana.

2. **Dẫn xuất khóa từ một thông điệp cố định bằng khóa Solana hiện có.**

   * Chữ ký Solana có tính xác định, vì vậy cùng một cặp khóa Solana luôn tạo ra cùng một cặp khóa được che chắn. Ứng dụng không bao giờ nhận khóa riêng tư.
   * Phương pháp được khuyên dùng cho hoạt động kiểm thử và các ví không sử dụng cụm từ hạt giống. Ví tích hợp phải đảm bảo chữ ký không bị tiết lộ cho bên thứ ba.

#### Tích hợp cặp khóa được che chắn

Ví có thể tự giữ cặp khóa được che chắn thông qua [Tích hợp ví](/docs/vi/privacy/integration/wallet) gốc.
Với [Embedded Privacy Wallet](/docs/vi/privacy/integration/embedded-wallet), Wallet Provider sẽ giữ cặp khóa được che chắn và thay ví thực hiện các thao tác với khóa.

| Quản lý khóa                                                       | Bên giữ cặp khóa được che chắn | Nơi thực hiện các thao tác              |
| ------------------------------------------------------------------ | ------------------------------ | --------------------------------------- |
| [Tích hợp ví](/docs/vi/privacy/integration/wallet) gốc                  | Ví                             | Trên thiết bị                           |
| [Embedded Privacy Wallet](/docs/vi/privacy/integration/embedded-wallet) | Wallet Provider                | Trong cơ sở hạ tầng của Wallet Provider |

### Chế độ giải mã và đồng bộ hóa ví

Chỉ chủ sở hữu mới có thể giải mã số dư Private Wallet bằng khóa xem.

Để tiết lộ có chọn lọc, chủ sở hữu có thể chia sẻ khóa xem với kiểm toán viên, cho phép kiểm toán viên đọc hoạt động nhưng không thể chi tiêu.
Trong Custom Ring, chính sách có thể khai báo một kiểm toán viên có khả năng giải mã mọi số dư từ Custom Ring đó.

Ring bảo mật (Default Ring và Custom Ring bảo mật) hỗ trợ giải mã cục bộ và giải mã được ủy quyền.
Ring ẩn danh (chỉ Custom Ring) chỉ hỗ trợ giải mã được ủy quyền.

| Chế độ        | Nơi thực hiện giải mã          | Bên có quyền xem  | Đánh đổi đối với ví                                                                | Đối tượng sử dụng                                   |
| ------------- | ------------------------------ | ----------------- | ---------------------------------------------------------------------------------- | --------------------------------------------------- |
| Cục bộ        | Bên trong ví                   | Chỉ ví            | Quyền riêng tư tốt nhất nhưng yêu cầu trạng thái cục bộ và vòng đời đồng bộ hóa    | Ring bảo mật: Default Ring và Custom Ring bảo mật   |
| Được ủy quyền | Nhà cung cấp RPC được ủy quyền | Ví + nhà cung cấp | Ít công việc đồng bộ hóa cục bộ hơn nhưng nhà cung cấp có thể xem số dư và lịch sử | Mọi Ring; chế độ duy nhất trong Custom Ring ẩn danh |

<Info>
  Ví nên giải mã và cập nhật số dư ở mọi thời điểm chạy quá trình truy xuất dữ liệu cũ: khi mở khóa ví,
  mở ví riêng tư, tiếp tục ứng dụng, kết nối lại mạng, luồng bị gián đoạn hoặc khôi phục ví.
</Info>

#### Giải mã cục bộ

Trong chế độ giải mã cục bộ, ví giải mã và đồng bộ hóa số dư cũng như lịch sử ngay trên thiết bị.
Máy chủ Helius không nhận cụm từ ghi nhớ, hạt giống, khóa ký riêng tư, khóa xem riêng tư hoặc bí mật vô hiệu hóa.

#### Giải mã được ủy quyền

Trong chế độ giải mã được ủy quyền, ví và nhà cung cấp được chọn chia sẻ một khóa xem.
Nhờ đó, nhà cung cấp có thể giải mã số dư và lịch sử nhưng không có quyền chi tiêu.
Ví cũng có thể chia sẻ các khóa xem trước đây khi ủy quyền cho nhà cung cấp đồng bộ hóa hoạt động lịch sử.

Quyền truy cập của kiểm toán viên tách biệt với giải mã được ủy quyền.
Kiểm toán viên nhận khả năng hiển thị Ring do chính sách xác định, còn nhà cung cấp được ủy quyền nhận quyền truy cập đồng bộ hóa trong phạm vi ví.

#### Bộ lập chỉ mục cung cấp trạng thái đã mã hóa

Giống như ví công khai phụ thuộc vào RPC Solana, Private Wallet phụ thuộc vào một bộ lập chỉ mục.
Bộ lập chỉ mục cung cấp trạng thái đã mã hóa mà ví cần để đọc số dư và tạo giao dịch riêng tư.

Theo mặc định, có thể truy cập bộ lập chỉ mục qua <Tooltip tip="https://devnet.helius-rpc.com/?api-key=<API_KEY>">URL RPC Helius</Tooltip>; bất kỳ ai cũng có thể tự vận hành bộ lập chỉ mục mà không cần cấp quyền để làm phương án dự phòng.

## Số dư Private Wallet

Số dư Private Wallet được giữ onchain trong các Tài khoản token Solana riêng tư dưới dạng UTXO (đầu ra giao dịch chưa chi tiêu), không phải tài khoản token Solana.
Default Ring và tất cả Custom Ring lưu trữ số dư riêng tư trong một cây Merkle trạng thái.

Số dư Private Wallet là tổng của tất cả UTXO thuộc sở hữu của một Private Wallet.
Chương trình Solana có thể sở hữu UTXO tương tự như tài khoản Solana thông thường.
Tài liệu này sử dụng Tài khoản token Solana riêng tư và UTXO thay thế cho nhau.

<img src="https://mintcdn.com/helius/KNGZoSuCXDUVm6yU/images/privacy/utxo-set-to-wallet.svg?fit=max&auto=format&n=KNGZoSuCXDUVm6yU&q=85&s=92c14cfcf72e56cbaff498a7b95c638b" alt="A Private Wallet connected by dashed lines to several UTXO notes, each holding one amount of one asset. The wallet balance is the sum of the notes." width="700" height="276" data-path="images/privacy/utxo-set-to-wallet.svg" />

<Accordion title="Balances in UTXOs vs Solana accounts">
  Đối với trải nghiệm người dùng, việc số dư được giữ trong UTXO hay tài khoản token Solana không tạo ra khác biệt.

  Ở cấp độ kỹ thuật, việc chi tiêu số dư công khai sẽ làm giảm `amount` trong tài khoản token Solana.
  Việc chi tiêu số dư riêng tư không ghi đè trường `amount` của UTXO.
  Thay vào đó, giao dịch riêng tư lấy các UTXO hiện có làm đầu vào (do SDK tự động chọn),
  tiêu thụ các đầu vào và tạo đầu ra mới cho người nhận cũng như phần số dư còn lại của người gửi.

  Ví dụ: Alice có 50 USDC và gửi cho Bob 35 USDC.

  * Trong tài khoản token Solana, trường `amount` của Alice giảm từ 50 xuống 15, còn trường của Bob tăng thêm 35. Giá trị được thay đổi tại chỗ.
  * Với UTXO, Alice giữ một tờ ghi chú 50 USDC. Giao dịch chi tiêu tờ ghi chú đó và tạo hai tờ ghi chú mới: một tờ 35 USDC cho Bob và một tờ tiền thừa 15 USDC cho Alice. Tờ ghi chú 50 USDC cũ của Alice giờ đã được chi tiêu.

  <Tabs>
    <Tab title="One input note">
      <img src="https://mintcdn.com/helius/KNGZoSuCXDUVm6yU/images/privacy/spend-comparison.svg?fit=max&auto=format&n=KNGZoSuCXDUVm6yU&q=85&s=3d0ce046ce268daf75ab8546766bc427" alt="Alice sends Bob 35 of her 50 USDC. On a Solana token account the amount field changes in place from 50 to 15. With UTXOs, Alice's single 50 USDC note is spent and two new notes are created: a 35 USDC note for Bob and a 15 USDC change note for Alice." width="1016" height="240" data-path="images/privacy/spend-comparison.svg" />
    </Tab>

    <Tab title="Multiple input notes">
      <img src="https://mintcdn.com/helius/KNGZoSuCXDUVm6yU/images/privacy/spend-comparison-multi.svg?fit=max&auto=format&n=KNGZoSuCXDUVm6yU&q=85&s=f4502ff2086c41f41908e337f3c12f7b" alt="Alice sends Bob 35 of her 50 USDC, held as three notes of 20, 20, and 10. On a Solana token account the amount field changes in place from 50 to 15. With UTXOs, all three input notes are spent and two new notes are created: a 35 USDC note for Bob and a 15 USDC change note for Alice." width="1016" height="240" data-path="images/privacy/spend-comparison-multi.svg" />
    </Tab>
  </Tabs>

  |                   | Tài khoản token Solana                  | Tài khoản token Solana riêng tư (UTXO)                                   |
  | ----------------- | --------------------------------------- | ------------------------------------------------------------------------ |
  | Lưu giữ           | Một giá trị số dư trong trường `amount` | Một tập hợp tờ ghi chú, mỗi tờ chứa một số lượng cố định của một tài sản |
  | Số dư             | Giá trị trên tài khoản                  | Tổng của tất cả UTXO chưa chi tiêu                                       |
  | Chi tiêu          | Trừ trực tiếp tại trường `amount`       | Tiêu thụ UTXO đầu vào và ghi một UTXO tiền thừa mới                      |
  | Khả năng hiển thị | Công khai onchain                       | Được mã hóa onchain                                                      |

  <Info>
    Khi nạp tài sản SOL và SPL vào số dư riêng tư, một PDA giao diện thuộc sở hữu của Solana Privacy Program sẽ ký quỹ token và tạo UTXO với người dùng là chủ sở hữu.

    Khi rút tiền về số dư công khai, các UTXO hiện có được đánh dấu là đã chi tiêu và token được giải phóng vào các tài khoản token Solana.
  </Info>
</Accordion>

Một Private Wallet có thể đồng thời giữ số dư trong nhiều Ring mà không bị giới hạn số lượng Ring.
Ring chứa một số dư không phải là thuộc tính của ví. Đó là thuộc tính của từng UTXO, được lưu trong trường `policy_program_id` của UTXO.

## Tài khoản token Solana riêng tư

Tài khoản token Solana riêng tư là một UTXO hoạt động tương tự tài khoản token Solana, với hai điểm khác biệt cốt lõi:

* Tài khoản token Solana riêng tư không yêu cầu miễn tiền thuê khi được tạo, và
* số dư của tài khoản được mã hóa onchain.

Tuy vậy, Tài khoản token Solana riêng tư vẫn lưu trữ cùng loại dữ liệu, chẳng hạn như:

* **Tài sản:** mint mà UTXO giữ các đơn vị của tài sản đó. SOL là địa chỉ mint mặc định. Tài sản có thể là SOL hoặc bất kỳ tài sản SPL hay Token-2022 nào.
* **Số tiền:** số đơn vị `asset` mà tờ ghi chú giữ, tính theo đơn vị nhỏ nhất của tài sản.
* **Dữ liệu chương trình và chính sách:** dữ liệu tùy chọn để chính sách Ring đã cấu hình bổ sung chức năng tương tự Token-2022

<Tabs>
  <Tab title="Diagram">
    <img src="https://mintcdn.com/helius/KNGZoSuCXDUVm6yU/images/privacy/account-comparison-private.svg?fit=max&auto=format&n=KNGZoSuCXDUVm6yU&q=85&s=860d0d2f3894b0a0ac169b82e538a934" alt="A Private Solana Token Account. The Solana Privacy Program owns a Private Token Account, which expands into its PrivateAccount fields: owner, asset, amount, policy data, and policy program id." width="1080" height="590" data-path="images/privacy/account-comparison-private.svg" />
  </Tab>

  <Tab title="Code">
    Bản ghi đầy đủ được lưu cho mỗi Tài khoản token Solana riêng tư là một UTXO phẳng:

    ```rust Private Solana Token Account (UTXO) theme={"system"}
    struct Utxo {
        /// Constant separating UTXOs from other Poseidon-hashed records.
        domain: u16,
        /// Recipient's `owner_hash` from their Shielded Address.
        /// Senders write this value directly; the spender supplies the preimage
        /// components as proof witness.
        owner: [u8; 32],
        /// Asset mint. SOL is Address::default().
        asset: Address,
        /// Amount in the smallest unit of `asset`.
        amount: u64,
        /// Random bytes ensuring distinct UTXO hashes for equal
        /// `(owner, asset, amount)` triples.
        blinding: [u8; 31],
        /// Arbitrary program data.
        program_data: Option<Vec<u8>>,
        /// Arbitrary policy data.
        policy_data: Option<Vec<u8>>,
        /// The policy program that authorizes spends of this UTXO.
        policy_program_id: Option<Address>,
    }
    ```
  </Tab>
</Tabs>

<Accordion title="View Solana token account">
  <Tabs>
    <Tab title="Diagram">
      <img src="https://mintcdn.com/helius/KNGZoSuCXDUVm6yU/images/privacy/account-comparison-solana.svg?fit=max&auto=format&n=KNGZoSuCXDUVm6yU&q=85&s=89ff901091255f2038972208fcb5d538" alt="A Solana Token Account. The Token Program owns a Token Account, expanded into its AccountInfo fields (Data, Executable, Lamports, Owner) and the Data field expanded into Account Data (Mint, Owner, Amount)." width="1080" height="462" data-path="images/privacy/account-comparison-solana.svg" />
    </Tab>

    <Tab title="Code">
      ```rust Solana Token Account theme={"system"}
      pub struct Account {
          /// The mint associated with this account
          pub mint: Pubkey,
          /// The owner of this account.
          pub owner: Pubkey,
          /// The amount of tokens this account holds.
          pub amount: u64,
          /// If `delegate` is `Some` then `delegated_amount` represents
          /// the amount authorized by the delegate
          pub delegate: COption<Pubkey>,
          /// The account's state
          pub state: AccountState,
          /// If is_native.is_some, this is a native token, and the value logs the
          /// rent-exempt reserve. An Account is required to be rent-exempt, so
          /// the value is used by the Processor to ensure that wrapped SOL
          /// accounts do not drop below this threshold.
          pub is_native: COption<u64>,
          /// The amount delegated
          pub delegated_amount: u64,
          /// Optional authority to close the account.
          pub close_authority: COption<Pubkey>,
      }
      ```
    </Tab>
  </Tabs>
</Accordion>

## Về xử lý đồng thời

Người dùng có thể chi tiêu số dư riêng tư ngay khi giao dịch được hoàn tất.

Cụ thể, số dư của một cặp khóa có thể được sử dụng đồng thời khi được chia cho nhiều UTXO.
Ví sẽ chọn các UTXO cần chi tiêu.

Một cây Merkle lưu trữ trạng thái riêng tư cho Default Ring không cần cấp quyền và tất cả Custom Ring.
Cây được lưu trong một tài khoản Solana có thể ghi.
Các giao dịch chuyển tiền riêng tư ghi vào tài khoản này dùng chung giới hạn khóa ghi 12 triệu CU trên mỗi tài khoản trong mỗi khối của Solana.

Một giao dịch chuyển tiền riêng tư tiêu thụ khoảng 220.000 CU.
Do đó, một cây hỗ trợ khoảng 54 giao dịch chuyển tiền riêng tư mỗi khối, tương đương khoảng 130 giao dịch mỗi giây với thời gian khối Solana hiện tại là khoảng 400 mili giây.

Giao thức có thể thêm nhiều cây hơn để tăng thông lượng.
Mỗi cây là một tài khoản có thể ghi riêng biệt với ngân sách tính toán riêng cho từng tài khoản, vì vậy các giao dịch trên những cây khác nhau không cạnh tranh cùng một ngân sách khóa ghi.

## Về thời gian tạo bằng chứng

Bằng chứng không kiến thức hiện được tạo bởi máy chủ chứng minh; một giao dịch chuyển tiền bảo mật thông thường được chứng minh trong vài chục mili giây; tính năng chứng minh cục bộ cho Ring bảo mật đã được lên kế hoạch.
Thời gian chứng minh đang được tích cực tối ưu hóa để đảm bảo trải nghiệm người dùng mượt mà.

## Thuật ngữ

| Thuật ngữ                       | Ý nghĩa                                                                                                                                                                                                                          | Cũng được viết là                                                                                                              |
| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| AES-GCM                         | Mật mã đối xứng dùng để mã hóa nội dung UTXO và phát hiện hành vi sửa đổi                                                                                                                                                        |                                                                                                                                |
| Kiểm toán viên                  | Người xem được cấu hình cho Custom Ring. Kiểm toán viên có thể đọc dữ liệu Ring nhưng không thể chi tiêu                                                                                                                         |                                                                                                                                |
| Custom Ring                     | Ring chuyên dụng cho doanh nghiệp, với các quy tắc, khả năng hiển thị và bên có thẩm quyền tùy chỉnh.                                                                                                                            | trước đây là "Policy Ring"                                                                                                     |
| Chế độ giải mã                  | Cách Ring hỗ trợ giải mã số dư và lịch sử: Ring bảo mật (Default Ring và Custom Ring bảo mật) hỗ trợ Cục bộ và Được ủy quyền; Custom Ring ẩn danh chỉ hỗ trợ Được ủy quyền                                                       |                                                                                                                                |
| Giải mã được ủy quyền           | Chế độ đồng bộ hóa trong đó nhà cung cấp được chọn sử dụng khóa xem dùng chung để đọc số dư và lịch sử mà không có quyền chi tiêu                                                                                                |                                                                                                                                |
| Default Ring                    | Nhóm ví riêng tư có số dư trong Ring bảo mật không cần cấp quyền; tài sản và số tiền được giữ riêng tư, còn người gửi và người nhận vẫn công khai                                                                                |                                                                                                                                |
| Nạp tiền                        | Giao dịch chuyển từ công khai sang riêng tư vào một Ring từ địa chỉ Solana công khai                                                                                                                                             | tham gia, nạp từ công khai sang riêng tư                                                                                       |
| ECDH                            | Elliptic Curve Diffie-Hellman, cho phép người gửi và người nhận dẫn xuất một bí mật dùng chung từ các khóa của họ mà không cần trao đổi bí mật đó                                                                                |                                                                                                                                |
| Bên có thẩm quyền đóng băng     | Bên có thẩm quyền được cấu hình, có thể đóng băng hoặc gỡ đóng băng số dư khi chính sách cho phép                                                                                                                                |                                                                                                                                |
| HPKE                            | Hybrid Public Key Encryption, cơ chế kết hợp thỏa thuận khóa ECDH với mật mã đối xứng để mã hóa UTXO cho khóa của người nhận                                                                                                     |                                                                                                                                |
| Hộp thư đến                     | Khóa công khai Solana dùng làm địa chỉ nhận công khai cho Private Wallet                                                                                                                                                         | địa chỉ nhận công khai                                                                                                         |
| Chủ sở hữu                      | Khóa công khai Solana, tài khoản thông minh hoặc bên ký do nhà cung cấp hỗ trợ có quyền cho phép các thao tác của Private Wallet                                                                                                 |                                                                                                                                |
| Chương trình chính sách         | Chương trình onchain công khai thực thi các quy tắc của Custom Ring và tiết lộ Custom Ring mà giao dịch sử dụng                                                                                                                  | bộ quy tắc chính sách, chính sách Ring                                                                                         |
| Privacy API                     | API Helius dùng để tạo Private Wallet, đọc số dư/lịch sử, chuẩn bị giao dịch chuyển tiền, tạo bằng chứng và gửi giao dịch                                                                                                        | Nhà cung cấp RPC (tài liệu kết hợp hai khái niệm thành "Privacy API / RPC Provider"; xem Mô hình tin cậy trong enterprise.mdx) |
| Số dư riêng tư                  | Số dư được mã hóa của người dùng được giữ bên trong Ring                                                                                                                                                                         | số dư được che chắn, số dư được mã hóa, tiền riêng tư                                                                          |
| Tài khoản token Solana riêng tư | UTXO onchain chứa một số lượng của một tài sản và thuộc sở hữu của Private Wallet. Số dư Private Wallet là tổng của tất cả UTXO chưa chi tiêu                                                                                    | UTXO, tờ ghi chú, đầu ra giao dịch chưa chi tiêu                                                                               |
| Chuyển tiền riêng tư            | Giao dịch chuyển tiền giữa các Private Wallet không tiết lộ tài sản hoặc số tiền. Trên Ring công khai bảo mật, người gửi và người nhận vẫn hiển thị; Ring ẩn danh sử dụng bên chuyển tiếp và không tiết lộ bên nào               | chuyển từ riêng tư sang riêng tư, chuyển trong Ring                                                                            |
| Private Wallet                  | Tài khoản thanh toán có số dư và giao dịch chuyển tiền onchain được mã hóa                                                                                                                                                       | tài khoản riêng tư, tài khoản thanh toán riêng tư, tài khoản riêng tư được quản lý                                             |
| Số dư Private Wallet            | Tổng của tất cả UTXO chưa chi tiêu thuộc sở hữu của một Private Wallet                                                                                                                                                           |                                                                                                                                |
| Số dư công khai                 | Số dư token SPL thông thường và công khai của người dùng nằm ngoài mọi Ring                                                                                                                                                      | tài khoản công khai, tài khoản token công khai, số dư token SPL                                                                |
| Sổ đăng ký                      | Ánh xạ địa chỉ Solana tới Shielded Address để người gửi có thể thanh toán riêng tư đến địa chỉ đó. Việc có bản ghi nghĩa là địa chỉ có thể nhận giao dịch chuyển tiền riêng tư, không có nghĩa là địa chỉ đang giữ tiền riêng tư |                                                                                                                                |
| Bên chuyển tiếp                 | Gửi các giao dịch của Ring ẩn danh và thanh toán phí giao dịch Solana để người gửi không bị liên kết với giao dịch                                                                                                               |                                                                                                                                |
| Shielded Address                | Gói khóa công khai (khóa ký, khóa vô hiệu hóa và khóa xem) được công bố trong bản ghi sổ đăng ký của người dùng. Không phải địa chỉ onchain                                                                                      | Shielded Public Key, khóa công khai được che chắn                                                                              |
| Cặp khóa được che chắn          | Gói gồm khóa ký, khóa vô hiệu hóa và khóa xem của Private Wallet. Do ví giữ hoặc do Wallet Provider giữ trong Embedded Privacy Wallet                                                                                            | khóa được che chắn                                                                                                             |
| TSPP                            | Solana Privacy Protocol mã nguồn mở, một tiêu chuẩn do Helius Labs xây dựng và duy trì, cung cấp năng lực cho các chuyển đổi trạng thái onchain nền tảng.                                                                        | Solana Privacy Protocol                                                                                                        |
| Khóa xem                        | Cặp khóa P-256 chỉ đọc dùng để giải mã số dư Private Wallet. Chủ sở hữu có thể chia sẻ khóa này với kiểm toán viên để tiết lộ có chọn lọc                                                                                        | khóa xem                                                                                                                       |
| Wallet Provider                 | Hệ thống quản lý tài khoản người dùng, bên ký, tài khoản thông minh hoặc ví ngân quỹ và giữ các khóa riêng tư không thể xuất, chẳng hạn như Turnkey, Privy, Squads, Rain hoặc một hệ thống lưu ký nội bộ                         | Trình quản lý khóa ví, dịch vụ quản lý khóa, cơ sở hạ tầng khóa bảo mật                                                        |
| Rút tiền                        | Giao dịch chuyển từ riêng tư sang công khai ra khỏi Ring đến một địa chỉ công khai                                                                                                                                               | rút từ riêng tư sang công khai                                                                                                 |

## Không tìm thấy nội dung bạn đang tìm kiếm?

<Callout type="info">
  Hãy liên hệ với chúng tôi! [Telegram](https://t.me/tilo_light) | [Email](mailto:sales@helius.xyz) | [Liên hệ](https://www.helius.dev/contact)
</Callout>
