← Terug naar alle inzichten

Elke bitcoinbetaling is een postkaart. Het bedrag en beide adressen staan op de buitenkant, en wie ze opraapt kan ze lezen. Daarom bestaan er chainanalysebedrijven.

Op 24 september 2026 publiceerden drie onderzoekers een paper met de titel Shielded Bitcoin. Die stopt de postkaart in een verzegelde envelop. De envelop reist mee in een gewone Bitcoin-transactie, de regels van Bitcoin veranderen niet, en alleen de geadresseerde kan ze openen. Wij bouwden het transfergedeelte en draaiden het op mainnet met testbedragen. Deze pagina bevat de bytes, en een manier om ze te openen.

Twee echte mainnet-transacties

Beide kaarten zijn getekend uit de ruwe transactiebytes; de links gaan naar dezelfde bytes op mempool.space.

Coins die erin gaan

Transactie 3529901c...24e8d49e. Bekijk ze op mempool.space

De bytes worden gelezen.

Een afgeschermde transfer

Transactie 5c3a5857...4bdec3751. Bekijk ze op mempool.space

De bytes worden gelezen.

Links: wie de vault betaalde, en hoeveel. Rechts: 669 bytes gingen buiten, plus wisselgeld. Zonder sleutel is dat alles wat iemand ziet.

Open ze zelf

De 669 bytes zijn niet verborgen, ze zijn versleuteld, één keer voor de ontvanger en één keer voor de verzender. Bobs viewing key leest wat hij ontving, die van Alice leest wat ze verstuurde en haar wisselgeld, en elke andere sleutel opent niets, zonder foutmelding en zonder gedeeltelijk resultaat.

Kies een sleutel.

    Over deze sleutels. Viewing keys lezen alleen en dit zijn testbedragen, dus die van Alice en Bob zijn publiek. Spending keys niet. Het ontsleutelen gebeurt in je browser met shielded-verify.js, en niets verlaat die.

    Wat het netwerk controleerde

    Bitcoin controleerde alleen de handtekening op de input die de fee betaalde. Onze indexer, die de keten leest met de regels van de paper, controleerde de rest.

    Het bewijs wordt gecontroleerd in de indexer, niet in je browser: daar is pairing-rekenwerk voor nodig dat deze pagina niet meelevert. Vóór mainnet draaide de hele reeks op onze signet, inclusief een dubbele uitgave die de indexer weigerde; het logboek staat in RUNS.md.

    Zijn er sats verplaatst?

    Ja, zoals ze op Lightning bewegen. De sats zitten op de chain vast in de kluis, en het eigendom verschuift zonder dat er een munt van hand wisselt. De 15.000 van Alice en de 10.000 van Bob gingen in het openbaar naar de kluis. Daarna werden 5.000 ervan van Bob, in een envelop, zonder dat een output op de chain dat zegt. Toen Bob zijn sats terug op het grootboek wilde, betaalde de kluis hem 11.448: zijn eigen 10.000 plus de 5.000 van Alice, min de kosten. Niets op de chain verbindt die uitbetaling met de storting van Alice.

    Het verschil met Lightning is de uitgang. Een Lightning-kanaal kan door beide kanten met een script gesloten worden; hier betaalt de houder van de kluis je uit, en de vertrouwensloze versie daarvan uit de paper bestaat nog alleen op papier. De andere eerlijke grens is de menigte: met twee stortingen is de link duidelijk. Privacy is de grootte van de pool, en de onze bestond uit twee mensen.

    Wat het kostte

    StapFeeEnvelopWaar
    Mint 15.000 sat naar Alice702 sat81 bytes3529901c, blok 968.530
    Alice betaalt Bob 5.000 sat, afgeschermd2.382 sat, 793 vB669 bytes5c3a5857, blok 968.533
    Bob wisselt 12.000 sat in2.676 sat, 892 vB699 bytes515a51d7, blok 968.537
    De operator betaalt 11.448 sat uit552 satgeen2e21f3f9

    De envelop is de kost. Een gewone betaling is ongeveer 140 vB; deze was 793 vB, het grootste deel de OP_RETURN, een grootte die Bitcoin Core 30.0 standaard doorgeeft. Het bewijs maken duurde 1,89 seconden op de server die deze site draait.

    Wat ontbreekt

    Publieke setup. Het bewijssysteem heeft een eenmalige setup nodig die eindigt met het vernietigen van een geheim. Hier is dat geheim publiek, dus iedereen zou een bewijs kunnen vervalsen en de vault leegmaken.

    Peg met één sleutel. Coins komen binnen door een vault te betalen die wij beheren, bc1qmha0yw969cy0kaqpcyr7eht8s9ryh9rgt5edrq, en gaan buiten via een operatorwallet die wij beheren. Dat is een bewaarder, geen brug.

    De brug bestaat alleen op papier. De paper behandelt transfers; coins erin en eruit krijgen verwijst naar PIPEs v2, ook onderzoek. Niemand heeft ze gebouwd.

    Bewijstijd. Twee seconden per bewijs op een server met zestien threads, negen op één thread. Geen telefoonsnelheid.

    Dus, in klare taal: proof of concept, onveilig by design, vandaag niet bruikbaar. De code, het profiel en elke transactie-id staan op github.com/bitsagarob/shielded-btc-probe, zodat iedereen de keten kan naspelen en onze boeken kan controleren.

    Wat het zou betekenen

    Als dit echt draaide, zou je wallet je saldo en geschiedenis bevatten, en zou de keten een blob bytes tonen zonder bedrag en zonder ontvanger. Wanneer je betaalde, en ongeveer hoe groot de transactie was, blijft publiek. Het is een envelop, geen onzichtbaarheid.

    Openbaarmaking verandert van vorm. Je inkomsten aan een boekhouder tonen zou betekenen dat je een viewing key overhandigt, niet je adressen. Die opent je enveloppen en kan geen enkele sat uitgeven.

    Niets in de regels van Bitcoin verandert. Geen soft fork, geen stemming, geen nieuwe munt. De transfer werkt vandaag op mainnet; de brug erin en eruit is de open vraag.