Hey Cosmonauts,
I’ve been exploring an idea for a privacy-focused Cosmos SDK chain and wanted to bring it here before going too far into implementation.
The idea is called VeilRoute — a sovereign Cosmos blockchain that acts as a confidential settlement and asset-routing layer between IBC-connected chains.
The problem I’m interested in is relatively simple:
Cosmos has interoperability through IBC, but what if applications could route assets through a common privacy layer without publicly exposing every internal transfer, amount, balance, or ownership relationship?
I’m not proposing changes to the Cosmos Hub or requesting governance funding. This is an early architectural discussion to get technical feedback from people working on Cosmos SDK, IBC, ZK systems, and interchain security.
1. The idea
Imagine a user moving ATOM from Cosmos Hub to Osmosis.
Today, the public source and destination transactions are observable, along with the relevant IBC packet information.
With VeilRoute, the proposed flow would be:
Cosmos Hub / Other IBC Chain
|
IBC Deposit
|
v
+---------------+
| VeilRoute |
| |
| Shielded Pool |
| ZK Validation |
| Private Notes |
| Audit Records |
+---------------+
|
IBC Withdrawal
|
v
Destination IBC Chain
Users would deposit an IBC asset, shield it into a private note-based pool, make confidential internal transfers, and eventually withdraw it to another IBC-connected chain.
Internally, validators would verify zero-knowledge proofs without knowing the private transfer amounts or recipients.
One important limitation: VeilRoute would not make public-chain deposits and withdrawals invisible. Timing, amounts, asset types, and IBC metadata could still allow an observer to correlate transactions.
The initial objective is confidential internal settlement, not a claim of perfect cross-chain anonymity.
2. Why another privacy chain?
I’m aware that Cosmos already has serious privacy-focused work, particularly Penumbra and Namada.
I’m not trying to reinvent their cryptography.
What I’m interested in exploring is a routing-focused system that combines:
- IBC-native asset deposits and withdrawals.
- A common shielded settlement layer.
- Reusable SDKs for wallets and Cosmos applications.
- Public verification of private state transitions.
- Threshold-controlled disclosure of selected transaction records.
The last point is a significant architectural difference I’d like to discuss.
3. Threshold-governed visibility
Instead of allowing one chain operator to inspect all transactions, VeilRoute would use a distributed disclosure committee.
For example, five independent committee members with a three-member decryption threshold.
The intended properties are:
- Validators cannot see ordinary private transaction details.
- Individual committee members cannot decrypt audit records.
- A threshold of authorized committee members can reveal defined transaction information.
- Committee members do not possess users’ spending keys.
- Disclosure requests and approvals can be recorded publicly.
The audit ciphertext must be cryptographically bound to the same private witnesses used in the transaction proof. Otherwise, a malicious user could submit a valid private transfer alongside a misleading audit record.
I recognize that threshold disclosure introduces a meaningful trust assumption. Three colluding members could potentially decrypt information outside an officially approved workflow. An on-chain approval log alone cannot cryptographically prevent that.
The question is whether this privacy/accountability trade-off is useful for certain interchain applications, institutional use cases, or compliance-sensitive environments.
4. Tentative architecture
I’m considering a Cosmos SDK appchain with the following components:
| Component | Responsibility |
|---|---|
x/shielded |
Note commitments, nullifiers, ZK proof verification |
x/gateway |
IBC asset deposits and custody accounting |
x/withdrawal |
Proof-authorized exits, packet tracking, failure recovery |
x/disclosure |
Audit ciphertext commitments, threshold key epochs and approval records |
x/assetregistry |
Accepted assets, IBC denominations and route policies |
The cryptographic client and proving components would be written in Rust, while consensus-critical state transitions would be integrated into the Cosmos SDK application.
I would prefer adopting an existing reviewed shielded protocol rather than building new note commitments, circuits or proving systems from scratch.
5. What v0.1 could look like
For an initial proof of concept, I’d keep the scope deliberately limited:
- One supported IBC test asset.
- Deposits into a shielded pool.
- Private transfers using note commitments and nullifiers.
- Client-side proof generation.
- Proof-authorized public withdrawals.
- Three-of-five threshold disclosure for proof-bound audit records.
- Asset-conservation, double-spend and IBC timeout/recovery tests.
The goal would be a working research devnet, not an unaudited production launch.
6. Open design questions
This is where I’d particularly appreciate feedback.
1. Should VeilRoute be a sovereign chain at all?
Would this architecture benefit from its own consensus and state machine, or would building on an existing privacy chain with IBC functionality