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

# Ikhtisar

> Pelajari cara kerja Helius Privacy, termasuk alur pengguna, informasi yang tetap publik atau privat dalam transfer, dan Ring dengan kebijakan yang dapat disesuaikan.

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

## Pendahuluan

Setiap transaksi di Solana dapat dibaca secara publik: alamat, saldo, dan riwayat transfer dapat dilihat oleh siapa pun.
Untuk Solana Privacy Rings, kami menetapkan dua tingkat privasi:

* **Kerahasiaan** – mengenkripsi aset dan jumlah
* **Anonimitas** – mengenkripsi aset, jumlah, pengirim, dan penerima

<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

Ring adalah pool terlindungi yang dapat diprogram dengan saldo onchain terenkripsi dan eksekusi langsung di Solana.
Berbagai jenis Ring dapat digunakan secara bersamaan:

<CardGroup cols={2}>
  <Card title="Default Ring" icon="lock">
    * Rahasia
    * Dikelola sendiri
    * Tanpa izin
    * Tidak dapat dilihat auditor
  </Card>

  <Card title="Custom Enterprise Rings" icon="building" href="/docs/id/privacy/integration/enterprise">
    * Rahasia atau anonim
    * Dikelola sendiri
    * Kepatuhan khusus
    * Dapat dilihat auditor
  </Card>
</CardGroup>

Untuk sebagian besar aplikasi, kami merekomendasikan Ring default yang bersifat rahasia dan tanpa izin.

Gunakan Custom Ring saat aplikasi Anda memerlukan kepatuhan khusus dengan akses dan kontrol auditor.
Custom Ring adalah program Solana yang menentukan izin transfer dan otoritas tambahan apa pun, serupa dengan Token-2022.

Default Ring menyediakan fondasi bagi DeFi rahasia dan aplikasi lainnya.
Custom Ring independen dapat menggunakan aplikasi yang ada atau membuat aplikasi sendiri sekaligus menetapkan kebijakan,
akses auditor, dan otoritasnya sendiri, yang hanya berlaku untuk saldo dalam Ring tersebut.
Secara default, Ring dapat saling beroperasi dan berbagi likuiditas di seluruh ekosistem DeFi rahasia Solana.

<img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/privacy-rings-workshop.png?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=c549ef2c514a89c73af25da87ac0a8cf" alt="Saldo publik dan saldo privat di Solana, dengan satu Permissionless Ring di samping Custom Ring 1, Custom Ring 2, dan Custom Ring n." width="850" height="370" data-path="images/privacy/privacy-rings-workshop.png" />

## Properti Utama

* **Kecepatan native 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.">bukti zero-knowledge</Tooltip> yang ringkas dihasilkan dalam puluhan milidetik, sehingga pengalaman pengguna tetap familier. Anggap saja seperti panggilan RPC lainnya.
* **Eksekusi onchain** – Saldo terenkripsi tetap berada di Solana. Tidak ada ledger offchain, sidechain, atau sequencer terpusat.
* **Enkripsi aset apa pun** – Ring mendukung SOL, token SPL, dan token Token-2022.
* **Saldo yang dikelola sendiri** – Transaksi privat selalu memerlukan tanda tangan pemilik.
* **Kompatibilitas akun pintar** – Ring dapat mendukung akun pintar dengan logika otorisasinya sendiri.
* **Komposabilitas Solana** – Gabungkan dengan program Solana apa pun dalam satu transaksi.
* **Privasi yang dapat diprogram** – Buat escrow privat dalam program Solana.

## Alur Pengguna dan Jaminan Privasi

Pengguna menyimpan saldo terenkripsi mereka dalam Private Wallet. Mereka dapat masuk ke Ring, melakukan transfer privat di dalamnya, atau keluar dari Ring serta menggabungkannya dengan program Solana lain dalam satu transaksi.

<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" />

Pengguna mengirim token ke alamat dompet Solana, seperti yang mereka lakukan dengan saldo publik.
Siapa pun dapat menyetor ke dompet privat mana pun hanya dengan mengetahui alamat dompet penerima.

### Setor ke Saldo Privat

Pengguna dapat menyetor ke saldo privat dengan dua cara:

1. Melakukan on-ramp dari saldo fiat ke saldo kripto privat
2. Menyetor dari saldo kripto publik ke saldo kripto privat

<Tabs>
  <Tab title="On-ramp from fiat balance">
    | Kolom | Visibilitas |
    | - | - |
    | Aset | Privat. Dienkripsi secara onchain. |
    | Jumlah | Privat. Dienkripsi secara onchain. |
    | Pengirim | Penyedia on-ramp. Publik dalam Ring rahasia; privat dalam Ring anonim. |
    | Penerima | Pengguna. Publik dalam Ring rahasia; privat dalam Ring anonim. |
    | Memo (opsional) | Privat. Dienkripsi secara onchain. |
    | Saldo fiat dan pembayaran | Tidak tercatat secara onchain. Pembayaran fiat dilakukan melalui penyedia on-ramp. |

    Berbeda dengan penyetoran dari saldo publik, melakukan on-ramp ke saldo privat menjaga kerahasiaan aset dan jumlah. Penyedia mentransfer aset dari dompet privatnya ke dompet privat Anda. Dalam Ring rahasia, hanya alamat pengirim dan penerima yang bersifat publik.
  </Tab>

  <Tab title="Deposit from public crypto balance">
    | Bidang | Visibilitas |
    | - | - |
    | Aset | Publik. Terlihat dalam deposit publik. |
    | Jumlah | Publik. Terlihat dalam deposit publik. |
    | Pengirim | Publik. Alamat dompet sumber terlihat dalam deposit publik. |
    | Penerima | Publik. Alamat dompet tujuan terlihat dalam deposit publik. |
    | Memo (opsional) | Publik. Disertakan bersama deposit publik. |
    | Saldo privat yang dihasilkan | Privat. Dienkripsi secara onchain. |
  </Tab>
</Tabs>

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

### Transfer antar-Saldo Privat

Pengguna dapat mengirim transfer privat dengan dua cara:

1. Transfer dalam Ring yang sama
2. Transfer ke Ring yang berbeda

<Tabs>
  <Tab title="Default Ring">
    | Bidang | Visibilitas |
    | - | - |
    | Aset | Privat. Dienkripsi secara onchain. |
    | Jumlah | Privat. Dienkripsi secara onchain. |
    | Pengirim | Publik. Default Ring bersifat rahasia. |
    | Penerima | Publik. Default Ring bersifat rahasia. |
    | Memo (opsional) | Privat. Dienkripsi secara onchain. |
  </Tab>

  <Tab title="Custom Rings">
    | Transfer | Aset | Jumlah | Pengirim | Penerima | Memo (opsional) |
    | - | - | - | - | - | - |
    | Dalam Custom Ring rahasia | Privat | Privat | Publik | Publik | Privat |
    | Dalam Custom Ring anonim | Privat | Privat | Privat | Privat | Privat |
    | Default Ring ke atau dari Custom Ring rahasia | Privat | Privat | Publik | Publik | Privat |
    | Ring rahasia ke Custom Ring anonim | Privat | Privat | Publik | Privat | Privat |
    | Custom Ring anonim ke Ring rahasia | Privat | Privat | Privat | Publik | Privat |

    Relayer mengirimkan transfer dari Ring anonim, sehingga buku besar publik tidak mengungkapkan dompet privat sumber. ID program Custom Ring tetap bersifat publik.

    Transfer antar-Ring harus mengikuti kebijakan Ring sumber. Satu transaksi dapat menggabungkan saldo dari Default Ring dan satu Custom Ring. Transfer antara dua Custom Ring dirutekan melalui Default Ring.
  </Tab>
</Tabs>

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

### Tarik ke Saldo Publik

Pengguna dapat menarik dana dari saldo privat dengan dua cara:

1. Melakukan off-ramp dari kripto privat ke saldo fiat
2. Menarik dari kripto privat ke saldo kripto publik

<Tabs>
  <Tab title="Off-ramp to fiat balance">
    | Bidang | Visibilitas |
    | - | - |
    | Aset | Privat. Dienkripsi secara onchain. |
    | Jumlah | Privat. Dienkripsi secara onchain. |
    | Pengirim | Pengguna. Publik dalam Ring rahasia; privat dalam Ring anonim. |
    | Penerima | Penyedia off-ramp. Publik dalam Ring rahasia; privat dalam Ring anonim. |
    | Memo (opsional) | Privat. Dienkripsi secara onchain. |
    | Pembayaran fiat | Tidak dilakukan secara onchain. Pembayaran fiat dilakukan melalui penyedia off-ramp. |

    Tidak seperti penarikan ke saldo publik, off-ramp dari saldo privat menjaga kerahasiaan aset dan jumlah. Anda mentransfer dari dompet privat Anda ke dompet privat penyedia, lalu penyedia membayar Anda dalam mata uang fiat. Dalam Ring rahasia, hanya alamat pengirim dan penerima yang bersifat publik. Sisa saldo privat Anda tetap privat.
  </Tab>

  <Tab title="Withdraw to public crypto balance">
    | Bidang | Visibilitas |
    | - | - |
    | Aset | Publik. Terlihat dalam penarikan publik. |
    | Jumlah | Publik. Terlihat dalam penarikan publik. |
    | Pengirim | Publik dalam Ring rahasia; privat dalam Ring anonim. |
    | Penerima | Publik. Alamat dompet tujuan terlihat dalam penarikan publik. |
    | Memo (opsional) | Privat saat dilampirkan ke output terenkripsi. |
    | Saldo publik yang dihasilkan | Publik. Disimpan di akun publik penerima. |
    | Sisa saldo privat | Privat. Dienkripsi secara onchain. |
  </Tab>
</Tabs>

## Kemampuan Pemrograman dan Escrow Privat

Program Solana dapat menggunakan escrow privat untuk membangun aplikasi DeFi rahasia.

* **Escrow privat** – Program ZK Solana dapat menyimpan saldo privat dalam escrow dan menentukan ketentuan pencairannya
* **Komposabilitas Solana** – Gabungkan transaksi privat dengan program Solana lain dalam satu transaksi
* **Likuiditas bersama** – Program ZK di seluruh DeFi rahasia dapat berbagi likuiditas

**Yang dapat Anda bangun**

* **Pembayaran privat bersyarat** – Simpan aset terenkripsi dalam escrow dan cairkan sesuai jadwal atau setelah persetujuan yang diperlukan, sehingga memungkinkan penggajian, vesting, pembayaran berdasarkan pencapaian, dan alur kerja multisig privat.
* **Swap dan Perdagangan** – Tukarkan wrapped token, SOL, memecoin, saham, dan RWA melalui escrow privat, seperti dalam swap token atau perdagangan OTC.
* **Staking dan Imbal Hasil** – Bangun aplikasi privat yang menghasilkan imbal hasil, seperti pool staking, treasury tertokenisasi, atau vault imbal hasil lainnya.
* **Pemberian dan Pengambilan Pinjaman** – Simpan agunan dalam escrow privat, seperti untuk pinjaman stablecoin yang didukung aset tertokenisasi.

<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" />

## Alur Transaksi Tingkat Tinggi

<a id="overview" />

Transfer privat berfungsi serupa dengan transfer publik dan dieksekusi dalam satu transaksi Solana.

<Tabs>
  <Tab title="Private transfer">
    1. Saldo SOL atau SPL pengguna dienkripsi secara onchain.
    2. Ambil status terenkripsi dan dekripsi secara lokal, atau penyedia yang diberi wewenang mendekripsi dan menyajikan status yang telah didekripsi.
    3. Dompet menetapkan jumlah dan penerima, lalu meminta bukti ZK.
    4. Secara default, penyedia RPC menghasilkan bukti ZK dan mengembalikannya. Custom Ring juga memerlukan bukti kebijakan.
    5. Dompet membuat transaksi Solana. Bukti ZK diverifikasi tanpa mengungkapkan status terenkripsi. Program yang dipanggil serta pihak yang menandatangani dan mengirimkan transaksi bergantung pada Ring:

    | | Permissionless Confidential Ring | Custom Confidential Ring | Custom Anonymous Ring |
    | - | - | - | - |
    | Program yang Dipanggil | Solana Privacy Program | Program Custom Ring dan Solana Privacy Program | Program Custom Ring dan Solana Privacy Program |
    | Penanda Tangan | Pengirim menandatangani. Sponsor gas dapat membayar biaya. | Pengirim menandatangani. Sponsor gas dapat membayar biaya. | Relayer, sehingga pengirim tidak ditautkan ke transaksi. |

    6. Aplikasi melacak status melalui hash transaksi 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. Saldo SOL atau SPL pengguna bersifat publik secara onchain.
    2. Dompet membaca status publik, membuat transfer, lalu pemilik menandatanganinya.
    3. Runtime Solana memverifikasi tanda tangan dan memanggil System Program atau Token Program, yang memperbarui saldo publik.
    4. Aplikasi melacak status melalui hash transaksi 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">
      Coba transfer rahasia dan swap di 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" />

## Pelajari Lebih Lanjut

<CardGroup cols={2}>
  <Card title="Architecture" icon="diagram-project" href="/docs/id/privacy/concepts/architecture">
    Cara dompet, layanan RPC, dan program Solana berinteraksi.
  </Card>

  <Card title="Private State and UTXOs" icon="database" href="/docs/id/privacy/concepts/utxo">
    Cara saldo privat disimpan dan dibelanjakan.
  </Card>

  <Card title="Encryption and Privacy Guarantees" icon="key" href="/docs/id/privacy/concepts/encryption">
    Cara aset dienkripsi dan peran keypair terlindungi.
  </Card>

  <Card title="Custom Enterprise Rings" icon="building" href="/docs/id/privacy/integration/enterprise">
    Cara mengonfigurasi Custom Ring dengan kontrol auditor dan kepatuhan.
  </Card>
</CardGroup>

## Tidak menemukan yang Anda cari?

<Callout type="info">
  Hubungi kami! [Telegram](https://t.me/tilo_light) | [Email](mailto:sales@helius.xyz) | [Kontak](https://www.helius.dev/contact)
</Callout>


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