Blindsats: Blind your Bitcoin
BLIND is an asset protocol with transparent balances and encrypted notes. Its transaction data is published in Bitcoin transactions; BLIND-aware software checks the asset rules, signatures and proofs. Private notes can hide their values and owners from ordinary chain readers. This does not hide the Bitcoin transaction that carries them, remove all service dependencies, or guarantee that activity cannot be correlated.
Current implementation. This edition describes the deployed transaction families and their limitations. It replaces the implementation claims in the September design paper. The current authoritative text is in English; the language selector still applies to other pages. Public access to claim and transfer is separately scheduled for 13 October 2026 at 23:00 UTC.
01 What Bitcoin verifies
Bitcoin provides the transaction history, ordering and confirmation of the carrier transactions. It does not execute the BLIND proof verifier or enforce BLIND balances. Those checks belong to BLIND clients and indexers using the authenticated protocol profiles, verification resources and replay rules.
Reading an OP_RETURN payload is therefore only the beginning of verification. A reader must also recognize the carrier version, verify its authorization and any required proof, apply the state transition in canonical chain order, reject conflicts and handle reorganizations. A successful Bitcoin payment alone does not establish a valid BLIND claim or transfer.
BLIND is not a claim on a redeemable BTC reserve. The current note system does not implement a BTC peg, a blind BTC vault, or a statechain. References to those ideas below are historical research context.
02 Transaction families in use
| Operation | Wire | Proof and disclosure |
|---|---|---|
| Transparent transfer | v8 | No zero-knowledge proof. A Bitcoin wallet signature authorizes a public debit and credit; addresses and amount are public. |
| Private claim or transfer | v13 | A 14,656-byte UltraHonk proof over BN254, with encrypted note outputs. Public commitments, nullifiers and the carrier transaction remain visible. |
| Transparent/private conversion | v14 | A 14,656-byte UltraHonk proof over BN254. The public leg remains public; a conversion is not an entirely private transaction. |
| Transparent claim | v16 | A 768-byte PLONK proof over BN254 and a Bitcoin wallet signature. The claim's public addresses and amount are visible; the proof still checks the claim relation. |
These are proof byte counts, not complete transaction sizes. Envelopes, encrypted outputs, routing receipts and Bitcoin inputs and outputs add bytes and fees. A larger proof is not evidence of greater security: security depends on the statement proved, its implementation, the proof system and its assumptions.
v16 adds a compact transparent-claim format alongside v13 and v14. It does not replace their private proof system or reinterpret old notes. Earlier profiles and upgrade records remain part of the authenticated history and must be validated under their original rules. A version number is not a security rating.
The implementation pins proof encodings, verification keys, circuit and runtime hashes, activation heights and predecessor digests. The private profiles use a universal CRS; v16 uses a universal Powers of Tau setup. Older profiles also include single-party setup history. The existence of these pins is not evidence that BLINDSATS completed an independent setup ceremony or a security audit.
03 Initial mint eligibility
The initial mint allocation is a sealed record with a pinned digest. The eligibility commitment and subsequent proofs bind claims to that allocation. An account holder signs a read authorization to obtain their own original allocation and eligibility evidence; the full payer and allocation record is not exposed by a public endpoint.
This is an important verification boundary. A commitment or a valid membership proof demonstrates consistency with the committed record. It does not, by itself, prove that every original payment, price and allocation was correctly included. Bitcoin data and the public archive alone are not sufficient to independently reconstruct the complete initial eligibility calculation. Full auditing of that calculation requires the underlying mint records and the rules used to seal them.
Original allocation and remaining claimable amount are different values. Remaining rights require verified replay of claims and spends. Where only the original allocation can be read, the interface must not present it as an unspent balance.
Claims use an immutable eligibility-owner binding and amount-independent claim/right nullifiers. Partial claims consume the previous right and preserve a typed remainder. Changing an amount, opening another browser or producing another proof does not create a second allocation. Conflicting spends are resolved by the asset replay rules; a payment preview is not a completed claim.
04 Notes, signatures and recovery
A private note carries an encrypted opening and a commitment. Spending proves the required ownership and value relation and publishes nullifiers that prevent reuse. The current private envelope contains two nullifiers and two encrypted output slots. Their membership in the same envelope remains public, even when their values and owners are hidden.
Current receiving addresses use the bln1 format. The older mint-era blnd1 description is not the current note-address encoding. A BLIND receiving address is not a Bitcoin payment address.
The wallet derives privacy keys from a fixed, domain-separated wallet-signature message. Its exact message bytes, including the original origin, are part of key recovery and must remain unchanged when the website's routes or wording change. A wallet that returns different valid signatures for the same derivation request can produce different keys. The current flow rejects unstable derivation; it does not silently switch to a new random identity.
The verification and recovery page provides encrypted backup controls and downloadable recovery tools. A backup can contain privacy keys, initial eligibility evidence and available sender receipts. Keep it with its password. A missing initial eligibility witness cannot be recreated merely by scanning encrypted notes, and a sender's original recipient address may be unavailable without its saved receipt.
The independent recovery tool recovers account information from a backup and independently verified history up to the saved block height. It is a read-only recovery tool, not an independent replacement for every step needed to authorize and broadcast a new claim or transfer.
05 Routing and availability
The deployed carrier flow uses an operator-issued route ticket. Its signature binds an operation, profile, expiry and allocated marker script to a pinned routing key. The carrier includes the ticket and a Bitcoin marker output; clients and indexers reject an unauthorized ticket.
The routing signer does not replace the asset proof or the user's Bitcoin signature. However, new operations depend on obtaining the required ticket. If that service refuses a request or becomes unavailable, a user cannot bypass it simply by publishing an otherwise valid proof. Independent verification of existing history is a different capability from independent continuation of this issuance and routing service.
Eligibility reads, immutable account binding, preparation, transaction admission and synchronized state also use project-operated services in the website flow. Services can observe requests and their timing. The protocol must not be described as eliminating every trusted party or every opportunity for metadata correlation.
Current v13/v14 private and v16 transparent-claim proofs are generated by the browser runtime. Proof generation, Bitcoin transaction signing and route admission are separate steps. New remote-proof requests through the older public-claim compatibility routes are disabled; an older client must upgrade. Verification of historical v9 proofs and recovery of already prepared payments remain supported. When previously enabled under explicit consent, remote proving received the claim witness, including a nullifier key and eligibility or remainder evidence. Closing that endpoint does not erase information already disclosed, and that historical path does not describe the disclosure boundary of the current browser-proved paths.
06 Independent verification and checkpoints
The downloadable indexer and recovery resources make it possible to examine the published rules and validate supported transaction history without relying only on the website's displayed balance. Verification requires the appropriate profiles, historical verifier resources, authenticated starting state and Bitcoin data. Downloading a file is not the same as verifying it.
A checkpoint records a state at a specific Bitcoin height and hash. Incremental recovery must validate its integrity and context, resume from its declared boundary and reject a mismatched chain or a conflicting continuation. A checkpoint accelerates replay; it cannot prove an omitted genesis history or supply unpublished mint-allocation evidence. Distinguish replay from an authenticated checkpoint from a full reconstruction of the initial allocation.
Archiving the data and verification resources improves recoverability if the website disappears. It does not remove the route-ticket dependency for new operations or guarantee that all private recovery material can be derived from Bitcoin. Keep copies of recovery material and verify archive contents before relying on them.
07 What privacy does and does not cover
| Surface | Visible or potentially linkable |
|---|---|
| Private asset data | Encrypted notes hide their plaintext. Commitments, nullifiers, roots, format, envelope grouping and transaction history are public. |
| Bitcoin funding | Funding inputs, change, fees, marker outputs, transaction size, confirmation height and timing remain public. |
| Transparent activity | Transparent addresses and amounts, including the public side of a conversion, are intentionally disclosed. |
| Service requests | Wallet authorization, preparation and routing requests can expose account or network metadata to the services handling them. |
| Recipients and senders | Recipients decrypt their own notes. Senders know the destination they chose and may retain an encrypted receipt. This does not reveal every other participant to them. |
The deployed protocol does not merge all operations in a block into one anonymous batch. Outputs remain grouped by transaction envelope. Earlier claims that the input/output grouping was never written were incorrect for this implementation.
Especially early in the protocol, a small set of eligible notes or active participants can make timing and transaction patterns revealing. Reusing Bitcoin funding addresses, closely timed claims and transfers, and transparent entry or exit amounts can further reduce ambiguity. Zero knowledge does not guarantee unlinkability against these observations, and there is no fixed anonymity-set size or numerical probability of untraceability promised here.
The slogan “Anyone can verify. No one can see.” describes a design aim, not a claim that every field is hidden or that the complete issuance history can be reconstructed from public data alone.
08 Review status
According to the project team, external independent reviews are in progress. The reported organizations and scope are listed in the project-reported audit status. No completed audit report is published; this is not a claim of certification or institutional endorsement.
Automated regression tests, proof verification fixtures and source hashes are useful implementation checks. They do not replace an independent review of the circuits, setup assumptions, initial allocation, key derivation, state transitions and operational dependencies. The deployed metadata retains independentAuditComplete: false.
09 Historical design and future work
The September paper described a proposed 610-byte envelope with a 192-byte Groth16 proof, public reconstruction of all issuance, per-block mixing, a separate full-allocation registration step, and possible BTC vaults and swaps. Those descriptions must not be read as the specification of the current v13/v14/v16 paths. Some earlier implemented profiles also used other proof encodings; their historical verifier rules remain relevant to historical data.
Per-block mixing, a BTC peg or vault, statechain transfers and the proposed swap systems are not implemented by the current BLIND note protocol. Research citations express intellectual background, not deployed functionality, audits or endorsements. Any future protocol change needs explicit rules, compatibility analysis, new verification evidence and a clear activation boundary.
Verify the rules. Understand the boundary.
Historical research references
Background reading retained from earlier design editions. These references do not establish what BLINDSATS has implemented or independently audited.
- [1]D. Chaum, "Blind signatures for untraceable payments," In Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, pages 199-203, 1983.
- [2]S. Nakamoto, "Bitcoin: A peer-to-peer electronic cash system," https://bitcoin.org/bitcoin.pdf, 2008.
- [3]C. Shikhelman, M. Komarov, A. Moskvin, "Shielded Bitcoin: Private transfers on the Bitcoin L1," [alloc] init, https://www.allocinit.xyz/uploads/shielded-bitcoin.pdf, 2026.
- [4]E. Ben-Sasson, A. Chiesa, C. Garman, M. Green, I. Miers, E. Tromer, M. Virza, "Zerocash: Decentralized anonymous payments from Bitcoin," In IEEE Symposium on Security and Privacy, pages 459-474, 2014.
- [5]D. Hopwood, S. Bowe, T. Hornby, N. Wilcox, "Zcash protocol specification," https://zips.z.cash/protocol/protocol.pdf, 2026.
- [6]T. Pornin, "Deterministic usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)," RFC 6979, https://www.rfc-editor.org/info/rfc6979, 2013.
- [7]H. Krawczyk, P. Eronen, "HMAC-based extract-and-expand key derivation function (HKDF)," RFC 5869, https://www.rfc-editor.org/info/rfc5869, 2010.
- [8]K.-J. Alm, O. Gugger, "Generic signed message format," BIP 322, https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki, 2018.
- [9]Bitcoin Core, "Bitcoin Core 30.0 release notes," https://bitcoincore.org/en/releases/30.0/, 2025.
- [10]P. Wuille, J. Nick, A. Towns, "Taproot: SegWit version 1 spending rules," BIP 341, https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki, 2020.
- [11]C. Rodarmor, "Inscriptions," Ordinal theory handbook, https://docs.ordinals.com/inscriptions.html, 2023.
- [12]R. Linus, L. Aumayr, Z. Avarikioti, M. Maffei, A. Pelosi, O. Thyfronitis Litos, C. Stefo, D. Tse, A. Zamyatin, "Bridging Bitcoin to second layers via BitVM2," Cryptology ePrint Archive, Paper 2025/1158, https://eprint.iacr.org/2025/1158, 2025.
- [13]M. Abdalla, B. Carmer, M. El Gebali, H. Kilinc-Alper, M. Komarov, Y. Rebenko, L. Soukhanov, E. Tairi, E. Tatuzova, P. Towa, "Bitcoin PIPEs v2: Covenants and ZKPs on Bitcoin via witness encryption," Cryptology ePrint Archive, Paper 2026/186, https://eprint.iacr.org/2026/186, 2026.
- [14]M. El Gebali, Y. Rebenko, M. Schofnegger, L. Soukhanov, "Breaking ADP-based witness encryption," Cryptology ePrint Archive, Paper 2026/1594, https://eprint.iacr.org/2026/1594, 2026.
- [15]S. Jo, "Cryptanalysis of a candidate witness encryption scheme for affine determinant programs," Cryptology ePrint Archive, Paper 2026/1583, https://eprint.iacr.org/2026/1583, 2026.
- [16]R. Somsen, "Statechains: Non-custodial off-chain Bitcoin transfer," https://medium.com/@RubenSomsen/statechains-non-custodial-off-chain-bitcoin-transfer-1ae4845a4a39, 2019.
- [17]T. Trevethan, "Blinded 2-party Musig2," bitcoin-dev mailing list, https://gnusha.org/pi/bitcoindev/CAJvkSsc_rKneeVrLkTqXJDKcr+VQNBHVJyXVe=7PkkTZ+SruFQ@mail.gmail.com/, 2023.
- [18]stutxo (lxdev), "Blinded bitcoin <> Liquid USDT swaps," thread on X, https://x.com/stutxo/status/2082487825392455688, 2026.
- [19]J. Nick, T. Ruffing, E. Jin, "MuSig2 for BIP340-compatible multi-signatures," BIP 327, https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki, 2022.
- [20]A. Poelstra, "Scriptless scripts," MIT Bitcoin Expo, https://download.wpsoftware.net/bitcoin/wizardry/mw-slides/2017-03-mit-bitcoin-expo/slides.pdf, 2017.
- [21]J. Gugger, "Bitcoin-Monero cross-chain atomic swap," Cryptology ePrint Archive, Paper 2020/1126, https://eprint.iacr.org/2020/1126, 2020.
- [22]G. Maxwell, "Confidential transactions," https://elementsproject.org/features/confidential-transactions/investigation, 2015.
- [23]A. Poelstra, A. Back, M. Friedenbach, G. Maxwell, P. Wuille, "Confidential assets," In Financial Cryptography and Data Security Workshops, LNCS vol 10958, pages 43-63, 2018.
- [24]J. Nick, A. Poelstra, G. Sanders, "Liquid: A Bitcoin sidechain," https://blockstream.com/assets/downloads/pdf/liquid-whitepaper.pdf, 2020.
- [25]Blockstream, "Liquid Network security incident assessment," https://blog.blockstream.com/liquid-network-security-incident-assessment/, 2026.
- [26]J. Groth, "On the size of pairing-based non-interactive arguments," In Advances in Cryptology - EUROCRYPT 2016, LNCS vol 9666, pages 305-326, 2016.
- [27]S. Bowe, A. Gabizon, I. Miers, "Scalable multi-party computation for zk-SNARK parameters in the random beacon model," Cryptology ePrint Archive, Paper 2017/1050, https://eprint.iacr.org/2017/1050, 2017.
Blindsats