TAB: hiding the submitter with ring signatures and FROST
F_RP Construction III. ZK proofs hide the contents but the wrapping Solana tx still leaks the submitter pubkey. TAB closes that gap with a Fujisaki-Suzuki ring signature and a FROST threshold Schnorr over Ed25519.
- FROM
- Dax the Dev <[email protected]>
- SOURCE
- https://blog.skill-issue.dev/blog/tab_threshold_anonymous_broadcast/
- FILED
- 2026-05-04 16:30 UTC
- REVISED
- 2026-05-04 16:30 UTC
- TIME
- 8 min read
- SERIES
- relayerless-privacy
- TAGS
SPST hides what value moved. PPST hides what program ran. Neither hides who submitted the transaction. On any chain that requires a signature on the outer transaction (Solana, Ethereum, Aptos, Sui — all of them), the public key of the submitter is right there in the transaction header.
Without a relayer, the submitter must sign with their own key. The Ed25519 public key tells the chain exactly which private actor authorised the proof. ZK on the inside; perfect plaintext on the outside.
This is post 5 of 11 in the relayerless-privacy series. Here we close the submitter-identification gap with two complementary network-layer primitives.
The submitter identification problem, formally
Definition (Active Participant Set). — the set of active F_RP participants at a given epoch. Each holds a Curve25519 keypair registered on chain.
Definition (Anonymity Set Reduction Attack). Adversary with full read access to . Define:
Naive relayerless setting: . Ed25519 signatures are strongly unforgeable — there is exactly one that verifies. Conditional entropy:
Worst possible. Even though the contents of the transaction (the SPST/PPST proof) reveal nothing about which notes were spent, the submitter’s pubkey reveals exactly who authorised the spend. Off-chain metadata (IP, timing, prior-deposit history, exchange KYC) collapses any remaining anonymity.
Approach A — Fujisaki-Suzuki ring signature over Ed25519
Adapt the linkable ring signature framework of Fujisaki and Suzuki (2007) to the Ed25519 group. Let be the prime-order Ed25519 subgroup with generator and order . Two random oracles: and .
Sign with ring at signer index :
- Key image. — deterministic linkability tag, hides .
- Commitment. Sample . Compute , .
- Challenge propagation. For sample and compute
- Close. Set , propagate to obtain , compute .
- Output. .
Verify. Recompute every . Accept iff .
Signature size. (32 B compressed) + (32 B) + scalars (32 B each) = bytes.
Solana transaction-size constraint
With ~300 bytes reserved for transaction metadata + nullifiers + Groth16 proof + recent blockhash, ~930 bytes are available for the ring signature inside the 1,232-byte limit:
Under SIMD-0296 (4,096-byte transactions, approved late 2025), this jumps to .
Verification cost: each ring member needs 2 scalar multiplications + 1 hash ≈ 5,300 CU. For , that’s CU on top of the ~150,000-200,000 CU for SPST verification. Total: ~340,000 CU — about 24% of the 1.4M CU budget.
Theorem 3.9 — Ring anonymity
Statement. In the random oracle model, for any ring , any indices , and any PPT distinguisher :
Perfect (information-theoretic) anonymity in the ROM.
Proof sketch (two steps).
Step 1 — Key image indistinguishability. . Since is a random oracle independent of , is a uniform random group element. The product is uniform over from the adversary’s view (one-more discrete-log assumption).
Step 2 — Transcript simulation. For any , the tuple is uniform over subject to the ring-closure constraint. The simulator that knows no secret key produces an identically distributed output by sampling all uniformly and programming the random oracle to close the ring. The marginal distributions are identical for every , so . ∎
Corollary. Ring signature of size provides bits of submitter anonymity. For that’s bits; for (SIMD-0296) that’s bits. Real-world anonymity is bounded by side-channel leakage (timing, IP) but the on-chain view alone provides exactly .
The signer is anonymous among the ring. The ring is public. The cost is linear in ring size.
Approach B — FROST threshold Schnorr (TAB proper)
Ring signatures grow linearly with . For high-throughput deployments where is desired, we want a constant-size signature. Threshold Schnorr is the answer.
Setup. participants run a one-time Distributed Key Generation (Feldman VSS) producing:
- A group public key (the group secret is never reconstructed).
- Individual shares for each participant.
- A threshold .
Sign (FROST round structure): Any subset with can co-produce a Schnorr signature on message :
- Commitment round. Each samples nonces and broadcasts , .
- Signing round. Each computes
- Combine. with .
Verify. Standard Schnorr verification against :
Signature size. = 32 + 32 = 64 bytes. Independent of and . Identical to a standard Ed25519 signature.
Theorem 3.10 — TAB privacy
Statement. For any two subsets with , and any PPT controlling up to participants, the threshold signature produced by is computationally indistinguishable from the one produced by .
Proof structure. Hybrid argument over the FROST protocol:
- Hybrid 0: real . Adversary observes final + partial signatures from corrupted parties.
- Hybrid 1: replace with a uniform random element. Honest participants’ nonces for are uniform; sum is uniform. Distribution identical.
- Hybrid 2: replace with the deterministic value (well-defined given ). Same distribution.
- Hybrid 3: real . Same argument.
Honest partial signatures are never revealed to (they’re consumed in combination). The final depends only on the honest contribution to — uniform regardless of . ∎
Anonymity: Unbounded. As long as and at least one honest participant in exists, the adversary cannot determine which subset signed. With in the thousands and in the hundreds, choices are combinatorial and indistinguishable.
Tradeoffs at a glance
| Aspect | Pros | Cons |
|---|---|---|
| Signature size | TAB: O(1) = 64 B (constant) | Ring: O(n) = 64 + 32n B |
| Verification cost | TAB: 1 scalar mul + 1 hash (≈2,500 CU) | Ring: n × (2 scalar mul + 1 hash) (≈5,300n CU) |
| Interaction | Ring: non-interactive | TAB: 2 rounds of signing + O(n²) DKG once |
| Anonymity guarantee | Both: perfect (ROM) | — |
| Max ring/group size on Solana | TAB: unbounded (sig is 64 B) | Ring: ~27 (1,232 B) or ~119 (SIMD-0296) |
| Trust model | Ring: no setup trust | TAB: DKG integrity (Feldman VSS verifiability) |
| Linkability | Ring: same signer → same key image (anti-sybil) | TAB: signatures unlinkable across transactions |
Why both, not one or the other
The two approaches cover different deployment regimes:
- Bootstrapping / low coordination: ring signatures. No DKG required; any user can sign with any ring composed of on-chain pubkeys. Anonymity scales to the size of the ring you can pack into the transaction.
- Established network with stable participants: TAB / FROST. One-time DKG cost amortises across all transactions; signatures are minimum-size; anonymity is bounded by the group size, not the transaction size.
In practice, F_RP starts in the ring-signature regime and migrates to TAB once the network has enough committed participants for a meaningful DKG. The constructions are not mutually exclusive — the on-chain verifier can accept either type and the wrapping Solana transaction looks identical in size in the TAB case.
What’s still missing
Even with TAB, two leakage channels remain:
- Network metadata. The TCP/QUIC packet that hits a Solana RPC node has a source IP. Without Tor, I2P, or Dandelion++, that IP links directly to the user. Post 6 addresses this with verifiable shuffles at the network layer.
- Timing correlation. A user who shields and spends within the same minute is still linkable via temporal proximity, regardless of how many ring members they hide in. Mitigations are about user behaviour and client-side delay sampling.
Bibliography
- Fujisaki, E., Suzuki, K. (2007). Traceable Ring Signature. PKC 2007.
- Komlo, C., Goldberg, I. (2020). FROST: Flexible Round-Optimized Schnorr Threshold Signatures. SAC 2020. https://eprint.iacr.org/2020/852
- Feldman, P. (1987). A Practical Scheme for Non-Interactive Verifiable Secret Sharing. FOCS 1987.
- Goodell, B., Noether, S. (2020). Concise Linkable Ring Signatures and Forgery Against Adversarial Keys (CLSAG). https://eprint.iacr.org/2019/654
- Bernstein, D. J. et al. (2012). High-speed high-security signatures. Journal of Cryptographic Engineering.
Previous: PPST: private programmable state ← · Next: Bayer-Groth verifiable shuffles →