> For the complete documentation index, see [llms.txt](https://bitnet-whitepaper.gitbook.io/bitnet-whitepaper/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bitnet-whitepaper.gitbook.io/bitnet-whitepaper/10.-ecosystem/10.7-zk-bridge.md).

# 10.7 zk-Bridge

BitNet’s zk-Bridge architecture adds a **privacy-preserving layer** to cross-chain bridges by integrating **zk-SNARKs**. Users can transfer assets without revealing their source, destination, or wallet address.

**How It Works**

**1. Deposit**

* Assets are deposited into a bridge smart contract.
* A commitment hash is generated and stored: `commitment = Hash(secret, recipient, amount)`

**2. zk-SNARK Proof Generation**

* Off-chain, users generate a proof showing ownership of a valid unspent deposit.
* The proof hides identity, source chain, and amount.

**3. Withdrawal**

* The user submits a zk-proof and nullifier (prevents double-spending).
* The contract verifies the proof and releases the funds anonymously.

**Architecture**

* Acts as **middleware**, not a full bridge replacement.
* Compatible with EVM chains using Solidity and Circom-based verifiers.
* Supports modular integration into existing bridge UI/UX.

**Benefits**

* **Unlinkable Transfers**: Breaks connection between deposit and withdrawal events.
* **DeFi Composability**: Can be used with private DEXes, lending protocols, and DAOs.
* **Anonymity Set**: Mimics privacy features of full ZK systems like Tornado Cash.

**Implementation Challenges**

* zk-proof generation is still compute-intensive.
* Requires robust, decentralized relayer networks.
* Complex UX (managing secrets, nullifiers) must be abstracted for users.
