zkSI zkSI

zkSI[docs]v0.1
how itworks,
what itcan't hide

v0.1 · local only. The lab runs today in your browser; the network comes next. Every claim carries its status, so you always know what runs today, what is planned and what is still open.

status: v0.1 · local onlyupdated 2026.10.17
[ read ]
[01] overview

A crowd you can hide in, from day one.

v0.1 · LOCAL ONLY
The Noise Lab runs today in your browser; the network comes next. There are no miners, gateways, contracts or nodes yet, and there is no token.
v0.1 LOCAL
runs today in the lab, only in your browser
DECIDED
agreed; changes are announced
PLANNED
on the road, not built yet
[VERIFY]
open question or not checked yet

zkSI is noise mining for private SI requests.

A fixed volume of traffic hides the real requests. When real traffic is low, miners fill the gap with decoy requests. When real traffic grows, the decoys shrink. PLANNED

The problem it targets: a private network is only as private as its crowd. With 50 users, there is no crowd. zkSI pays for the crowd until real users replace it. PLANNED

the crowd problem
noise off · 50 requests · each one is a person
ILLUSTRATION  orange = a real person. with noise on, an observer sees 1,000 requests that look the same.
[02] how it works

A fixed target. Miners fill the gap.

The network aims for a fixed target volume, for example 1,000 requests per minute. The real value is not decided. PLANNED

Miners deliver the difference between the target and real traffic, and are paid for that volume. PLANNED

one minute of traffic · 1,000 slots
real50
decoys from miners950
noise share95%
miners paid for950
SIMULATION  target 1,000 is an example. miners are paid for target minus real. turn on observer view to see what anyone watching the traffic sees.
real requests / mindecoys from minersnoise share
5095095%
50050050%
90010010%

Noise matters most at the start and falls on its own as the network grows. What happens when real traffic goes above the target is not decided. [VERIFY]

as the network growsreal 50 · decoys 950
ILLUSTRATION  the shape of the idea, not a forecast. the line on top is the only thing an observer sees: flat.
[03] two kinds of noise

Cheap at the network. Expensive at the model.

NZ.NET · network noiseNZ.END · endpoint noise
what it isFake packets from client into the mixnetDecoy requests that reach the model
where it endsDropped at the last nodeAnswered by the SI provider
costCheap, no inferenceExpensive, real inference
who it confusesNetwork observersThe SI provider
statusPLANNEDgenerator: v0.1 LOCAL
reaching a model: PLANNED
ILLUSTRATION
dropped at last hop0
reached the model0
yours, delivered0
decoy inference$0.00 - $0.00
ESTIMATE  inference counter uses ~$0.001-0.005 per decoy on a cheap model. a top model costs ~10x. network decoys cost nothing at the model because they never get there.

The Noise Pool pays mainly for endpoint noise, because that is where the cost is. PLANNED

In the Noise Lab (v0.1), a local decoy generator hides your request among decoys and pads every request to a fixed size class (256 B, 512 B, 1 KB, 2 KB or 4 KB), so size does not reveal which one is real. It runs only in your browser and sends nothing. v0.1 LOCAL

Next, the same code becomes an open-source client that sends real requests through a partner gateway, and each user pays for their own noise. PLANNED

Decoys only work if they look like real requests. A generator that does not copy real request patterns can be detected. See risks.

[04] what each party sees

Pick a seat. Watch the traffic.

    SIMULATION
    IPs are from documentation ranges, prompts are made up. "show which ones are real" only exists in this demo: no party in the network has that button.
    partyseesshould not see (design goal)
    Your clientYour real requests-
    First mixnet nodeYour IP, that you send traffic, whenContent, which packets are real
    Last mixnet nodeTraffic leaving the mixnetYour IP
    GatewayRequest content, audit nullifiersYour IP. Whether it can tell real from decoy: [VERIFY]
    SI providerContent of every request and response, real and decoyYour IP, which requests are real
    MinerOnly its own decoysYour requests
    Chain observerStakes, commits (hashes), audit results, payoutsAny request content

    All rows: PLANNED. The exact view of each node depends on the mixnet used, which is not decided. [VERIFY]

    What zkSI does not hide

    The SI provider still reads the content of your real request. If your prompt contains your name, your email or text that only you would write, noise does not protect you. zkSI hides which request is yours, not what it says.

    what the SI provider readsILLUSTRATION
    request · size class M · real? ?
    names and address are made up. the content is the leak, not the route.
    [05] threat model

    Who we defend against, and who we don't.

    zkSI is built against the adversaries below. Each one says what the design does about it and whether it is built yet. None of it is: it all comes with the network. PLANNED

    ILLUSTRATION  orange ring = where the adversary sits. the dashed box = what is meant to stop it.
    adversarywhat they wantwhat zkSI doesstatus
    Network observerLink your IP and timing to requestsMixnet plus network decoys, dropped at the last hopPLANNED
    SI providerKnow which requests come from real peopleEndpoint decoys reach the model too; all requests use fixed size classesPLANNED
    SI provider + entry nodeMatch requests to people by timingNetwork decoys travel with you, so timing does not single you outPLANNED
    Decoy detectorTrain a model that spots decoysThe generator copies real request patterns. This is an arms race, not a fix.PLANNED
    Cheating minerGet paid without sending decoysStake, commit before sending, random auditPLANNED
    Miner + gatewaySend decoys to its own gateway and get paid for nothingDecoys go to several staked gateways at randomPLANNED

    Out of scope

    • What your prompt says. See section 04.
    • A compromised device. If your computer or browser is not yours anymore, nothing here helps.
    • A provider that refuses decoy traffic.

    How much a network observer can still learn depends on the mixnet used, which is not decided. [VERIFY]

    If the Noise Pool runs out of money, the noise level drops and so does privacy.

    [06] proof of noise

    Pay for decoys nobody can see.

    Miners are paid for decoys that, by design, look like everything else. Proof of noise is how the network checks they were sent without learning which ones they were. The lab runs steps 2 to 4 locally today; the rest comes with the network.

    1. stakeThe miner locks a stake, for example 0.1 ETH. PLANNED
    2. commitAt the start of each one-hour epoch, the miner publishes on chain a hash of the batch it is about to send. v0.1 LOCAL on chain: PLANNED
    3. sampleAt the end, the hash of a future block picks about 1% of the batch. Nobody knows the sample in advance. v0.1 LOCAL block hash: PLANNED
    4. openThe miner reveals the sampled decoys. Two checks: they were sent (their nullifier shows up at the gateway) and they look credible. v0.1 LOCAL (hashes only) nullifier check: PLANNED
    5. pay or slashPass: paid for the whole batch. Fail: the stake is lost. PLANNED
    SIMULATION
    commit0x…
     
    epochs run0
    caught0
    caught, so far-
    expected89.3%
    1,000 decoys, 10 opened (1%). hollow squares are fakes: you see them here, the network does not. expected = 1 - (1 - share)^10.

    Why 1% can be enough

    If a miner fakes part of a batch, every opened decoy is a chance to get caught. With 100 decoys opened:

    share fakedchance of being caught
    5%99.4%
    2%86.7%
    1%63.4%

    ESTIMATE  math: 1 - (1 - share)^100. Small cheating is harder to catch than big cheating. The batch size per miner and the audit size are not decided. [VERIFY]

    Open questions

    • Who decides that a decoy is credible, and how. [VERIFY]
    • Whether a block hash is random enough, given that block producers can influence it. [VERIFY]

    In the lab today. The Noise Lab runs a local version: a SHA-256 commit over the decoy hashes, then it opens ~1% (at least one), chosen from hash(commit + simulated beacon). It only checks hashes. v0.1 LOCAL

    v2. The audit becomes a zk proof: the miner shows that k of the published nullifiers are theirs, without saying which. PLANNED

    [07] noise pool

    Who pays for the noise.

    The Noise Pool pays miners for verified decoys. It mainly pays for endpoint noise, because that is where the cost is. PLANNED

    It is meant to be funded from two places: a fee of about 20% on real requests, and a bootstrap fund at the start. PLANNED

    ILLUSTRATION
    real50
    decoys to pay for950
    fee inflowlow
    bootstrap fundcarries most
    not to scale: the fee level and the price of a request are not decided. the shape is the point: at the start, fees are small and decoys are many; as real use grows, fees rise and the decoys to pay for fall.
    itemvaluestatus
    Fee on real requests~20%PLANNED
    Bootstrap fundSize and source not decided[VERIFY]
    Paid to minersPer verified decoy, for target minus real trafficPLANNED
    CurrencyETH / USDC. There is no token.DECIDED
    Who controls the poolNot decided[VERIFY]

    Miner rewards are not guaranteed. If the pool runs dry, fewer decoys get paid for, and privacy drops with them.

    Any token would come only after real miners exist and after legal review. Until then, everything runs in ETH / USDC. Anything claiming to be a zkSI token today is not ours. DECIDED

    [08] cost of privacy

    Privacy costs real inference.

    An endpoint decoy is a real request to a real model, so it costs what a real request costs. We say this up front.

    decoys2
    cost multiplier3x
    per real request$0.003 - $0.015
    per 1,000 real$3 - $15
    ESTIMATE  ~$0.001-0.005 per request on a cheap model, ~10x on a top model. network decoys are not counted: they never reach a model.

    At network level, per hour

    With a fixed target of 1,000 requests per minute, the decoys to pay for depend on how many real requests there are:

    real / mindecoys / hourcheap model / hourtop model / hour
    5057,000$57 - $285$570 - $2,850
    50030,000$30 - $150$300 - $1,500
    9006,000$6 - $30$60 - $300

    ESTIMATE  decoys / hour = (1,000 - real) x 60. The target of 1,000 is an example, and prices change over time.

    [09] cryptography

    Commit first. Open later.

    The core of proof of noise is a commitment: the miner fixes the batch with a hash before anyone knows which decoys will be opened. Changing a single character afterwards changes the hash, so it shows. The lab does this today; on chain it comes with the network. v0.1 LOCAL

    RUNS IN THIS PAGE  real SHA-256 from your browser (Web Crypto). the beacon is simulated: on chain it would be a future block hash.

    This is the code the figure runs:

    const sha = async s => hex(await crypto.subtle.digest("SHA-256", enc(s)));
    
    const leaves = await Promise.all(batch.map(sha));   // one hash per decoy
    const commit = await sha(leaves.join(""));          // published before sending
    
    // later: a beacon nobody knew in advance picks what gets opened
    const pick = parseInt((await sha(commit + beacon)).slice(0, 8), 16) % batch.length;
    
    // anyone can check the opened decoy against the commit
    const ok = (await sha(batch[pick])) === leaves[pick]
            && (await sha(leaves.join(""))) === commit;
    partwhat it doesstatus
    CommitHash over the decoy hashes. SHA-256 in the lab; the on-chain choice is not decided.v0.1 LOCAL [VERIFY]
    Random pickHash of a future block decides which ~1% is opened. The lab uses a simulated beacon.PLANNED
    NullifierShows at the gateway that a decoy was really sentPLANNED
    Size classesEvery request padded to 256 B, 512 B, 1 KB, 2 KB or 4 KBv0.1 LOCAL
    zk usage creditPay for requests without linking them to each other or to youPLANNED
    zk auditProve k of the published nullifiers are yours, without saying whichPLANNED
    Mixnet encryptionDepends on the mixnet used[VERIFY]

    v1 has no zk: stake, commit, random audit and rewards only. The zk parts come in v2, built with a cryptographer on the team. PLANNED

    [10] verification

    Don't trust this page. Check it.

    What you can check today is small, and we list it as it is.

    requests this page made since you opened itRUNS IN THIS PAGE
    read from your own browser (Performance API). every file comes from zksi.io; the page loads nothing from anywhere else.

    Check the lab yourself

    1. Open zksi.io/lab on a computer.
    2. Open the developer tools (F12) and go to the Network tab.
    3. Write a request and run the lab.
    4. No new request should appear. The page's security policy only allows connections to zksi.io itself (connect-src 'self').

    The site has no build step: the files you get are the files we wrote. You can read them with view-source.

    The lab's code is public: github.com/zkSI0x/noise-lab (MIT). Its standalone copy blocks every connection (connect-src 'none'), so you can run it offline and watch nothing leave. v0.1 LOCAL

    Later

    whathow you will check itstatus
    Client that sends real requestsOpen-source repository, like the labPLANNED
    Commits, audits, payoutsOn chain, in a block explorer (testnet in v1)PLANNED
    "What the provider sees"24-hour demo with the provider's view publishedPLANNED
    Node countsShown only once they can be checked on chainDECIDED
    [11] risks and limits

    Open problems, written down.

    None of these are solved. Each has a planned answer, and each answer still has to be tested.

    RK.01OPEN

    self-dealing

    A miner who also runs a gateway could "send" decoys to itself and get paid for nothing.

    planned answer: decoys go to several gateways at random, and gateways stake too.

    RK.02OPEN

    noise detectors

    A provider can train a model to spot decoys. This becomes an arms race, not a one-time fix.

    planned answer: the decoy generator copies real request patterns and is updated over time.

    RK.03OPEN

    provider terms

    Automated fake traffic to closed SI providers may break their terms of use.

    answer: start on open-source models run by partner gateways. DECIDED

    RK.04OPEN

    cost

    Endpoint decoys cost real inference. If funding dries up, the noise level drops and so does privacy.

    planned answer: fee on real requests plus a bootstrap fund, with the cost shown openly.

    Limits

    • zkSI hides which request is yours, not what it says.
    • v0.1 does not send your request to any SI model, so it does not protect a real request yet. It shows the mechanism, locally. v0.1 LOCAL
    • It is not "100% anonymous", and nothing here is unbreakable. Do not rely on it for anything where a leak could hurt you.
    • The lab's decoys come from fixed templates; a trained detector could spot many of them. v0.1 LOCAL
    • The lab's audit only checks hashes, and its timings are simulated. v0.1 LOCAL
    • The mixnet is not chosen, so the network layer's real protection is unknown. [VERIFY]
    • A block hash as randomness may be biased by block producers. [VERIFY]
    [12] roadmap

    Small, testable steps.

    Times are estimates for building each step, not dates. Nothing starts counting until the previous step works.

    v0.1 · now

    noise lab

    Local decoys, fixed size classes, random timing, local commit and audit, in your browser. Code public under MIT. v0.1 LOCAL

    Next: the same code as an open-source client that sends real requests through a partner gateway; everyone pays for their own noise. PLANNED

    running today
    demo

    what the provider sees

    Run it for 24 hours and publish the provider's view: a flat line where real requests can not be picked out. PLANNED

    1 week
    v1

    noise pool on testnet

    Contract for stake, commit, random audit and rewards. No zk yet. PLANNED

    ~2 months
    v2

    zk audits

    Audits become zero-knowledge proofs, built with a cryptographer on the team. PLANNED

    3+ months
    NO TOKEN
    There is no token. Any token would come only after real miners exist and after legal review. Until then, everything runs in ETH / USDC. Anything claiming to be a zkSI token today is not ours.
    [13] disclosure

    Found a problem? Tell us first.

    If you find a security problem in zksi.io or the Noise Lab, email us before you publish it.

    security reports contact@zksi.io subjectsecurity: <short title>

    Please

    • Describe the problem and the steps to reproduce it.
    • Give us a reasonable time to fix it before you make it public.
    • Do not access other people's data and do not run attacks that slow the site down for others.

    We read every report. There is no bug bounty yet. In scope today: zksi.io and the Noise Lab. The network comes next, so there is no network or contract to test yet.

    ANTI-SCAM
    No one from zkSI will ever ask you for keys, seed phrases or money, by DM or anywhere else. Official links: zksi.io, x.com/0x_zkSI, t.me/zkSI0x, github.com/zkSI0x.
    [14] faq

    Short answers.

    Is there a token?

    No. Any token would come only after real miners exist and after legal review. Anything claiming to be a zkSI token today is not ours. DECIDED

    What runs today?

    v0.1 · local only. The Noise Lab runs today in your browser: decoys, fixed size classes, random timing, commit and audit. The network comes next: no miners, gateways or contracts yet. v0.1 LOCAL

    Does the lab protect my real requests today?

    No. v0.1 does not send your request to any SI model. It shows the mechanism locally, so you can test it without an account or an install. v0.1 LOCAL

    Is the code public?

    The lab's code is: github.com/zkSI0x/noise-lab, under MIT. v0.1 LOCAL

    Does the lab send what I type anywhere?

    No. It runs 100% locally and makes no network request after the page loads. You can check it yourself, see verification. v0.1 LOCAL

    Will zkSI hide what I write?

    No. It is meant to hide which request is yours, not what it says. If your prompt names you, noise does not help. See section 04.

    Is it 100% anonymous?

    No, and we will not say it is. The open problems are listed in risks and limits.

    Why do decoys cost money?

    Endpoint decoys are real requests to real models, so they cost real inference: ~$0.001-0.005 each on a cheap model, ~10x on a top model. See cost of privacy. ESTIMATE

    Which models will it use?

    Open-source models run by partner gateways. Automated decoy traffic to closed SI providers may break their terms. DECIDED

    Can I mine now? How much would I earn?

    No one can mine yet: the network comes next. Miners would be paid per verified decoy from the Noise Pool, and rewards are not guaranteed. PLANNED

    Someone from zkSI messaged me. Is that real?

    No one from zkSI will ever ask you for keys, seed phrases or money. Official links: zksi.io, x.com/0x_zkSI, t.me/zkSI0x, github.com/zkSI0x.