Shielded transfers on Bitsaga Signet

A payment happened here. Can you see it?

The paper "Shielded Bitcoin" proposes private transfers on Bitcoin without changing its rules: coins move in sealed envelopes inside ordinary transactions, readable only with a key. We built the transfer layer and switched it on at block 151,455 of Bitsaga Signet, our test network.

Proof of concept on a test network: coins worth nothing, proofs forgeable, and the last section lists what is not real yet.

Checking the network
Block
...
Last block
...
Shielded since block
151,455

Two real transactions

One you can read. One you cannot.

Both come live from Bitsaga Signet, where every block carries a signature you can check with one file you can read. Left, an ordinary payment. Right, a shielded transfer.

An ordinary payment

Transaction 85a6d93d...3679df25

Fetching from the network.

A shielded transfer

Transaction 1ffa8dd5...5f0a4c73

Fetching from the network.

Left: who paid whom, and how much. Right: only that 669 bytes of envelope went out, plus change. Without a key, that is all anyone sees.

The envelope is an OP_RETURN output, a size Bitcoin Core 30.0 relays by default.

Now hold a key

The envelope opens for exactly two people.

The 669 bytes are not hidden; your browser has them. They are encrypted, once to the receiver and once to the sender, the note model the paper credits to the Zcash protocol specification. Pick a key; shielded-verify.js, which decrypts, tries it in your browser.

Alice paid Bob. Bob's viewing key reads what he received. Alice's reads what she sent and her change. A stranger's opens nothing.

Try to read the envelope

Pick a key.

    About these keys. A viewing key only reads and these are test coins, so Alice's and Bob's are public. Spending keys are not.

    What the network checked

    Hidden is not the same as unchecked.

    Hidden is only useful if the network can still reject a forgery. A proof inside the envelope does that. Our indexer checked three things.

    The proof is checked in our indexer, not in your browser: it needs pairing arithmetic this page does not ship. Everything built and measured is in the long write-up.

    Where this could go

    What it would feel like for you.

    Your wallet would look as it does now, balance and history, read by your viewing key on your phone. The chain would show a sealed envelope and a proof, not your address and amount. An accountant or tax office gets a viewing key, not your seed; the authors' companion post gives the wider picture.

    What is not real yet

    Read this before you get excited.

    Public setup. The proof secret is a fixed public seed, so anyone can forge a proof here. Real use needs a ceremony that destroys it.

    One-key peg. Coins enter by paying a vault and leave through an operator wallet we hold.

    PIPEs on paper. The real bridge, PIPEs, exists only in the PIPEs v2 paper; nobody has built it.

    Proof time. Two seconds on sixteen threads, nine on one. Not yet phone speed.