Random idea combining #physics and #bitcoin:

I was trying to think of a way to encode ecash so you can send it over the public internet but in a way that could not be swiped by computers, only humans.

One idea I had was to tie a physical process into the decoding the qrcode: Encode the ecash into some complex pattern where if you using some kind of overlapping filter it would generate a reconstructed image of the qrcode.

A long time ago I was trying to think of some polarizing filter scheme to do something similar. Maybe you could sell a physical polarization filter with some kind of moire pattern for decoding the image on your screen.

I like the idea of using optical phenomena to make it harder for a computer to simulate and decode. It would be a form of optical steganography(Is this a field?).

Not practical at all and not sure if it’s doable, but it’s a fun thought experiment.


That is interesting 🤔
I wonder if a combination of filters and infrared sensors could be used. Or even light frequency pulses.


My original thought experiment from a couple years ago was: could you create one of those laptop screen protectors where the polarization encoding was a kind of one-time pad so that only you can see the screen with a special set of glasses. So many optical effects are quantum mechanical wave interference stuff, so I have always thought of using optical effects to make it hard for classical computers to decode things.

How all of this plays out in practice would be serious research endeavours i’d imagine 😅


We have this. Ecash tokens that are encoded to be received by an npub. This way you can broadcast it over a public channel and it cannot be redeemed at the mint without a signature from the recipient's private key. This way the token can even be left in long-term storage and there is no way it can be stolen because not only does it need the recipient to sign a spend authorization, once its redeemed the token is worthless. This means you can literally print a qr code on a piece of paper, send it through the mail, include it in the back of a book, put it on a billboard and it is still safe from theft.


AHAHAHA. I just asked chatgpt about this and it started talking about Moirè patterns... So now I know what you were searching for 😅


Oh wait... You were looking at something different... I thought I had seen a post by you about moirè patterns.

Maybe worth looking into 🤓.


Whait, isn't that Bitcoin?


Another thought: use a three-frame gif to show a password to unlock a cashu qr token. Each of the three frames could show a part of the stroke of each letter. For example, frame 1 could have the left slant on an A, frame 2 could have the horizontal part of letter A, and the third frame has the right slant. The time between gif frames could be only 50ms so the eye couldn't even tell its animated, but a computervision couldn't take advantage of the eye's visual integration time.


Anamorphism is an interesting way to hide data. It's basically using the relationship between the viewer and the ciphertext as a decryption key.

You can store data in relationships that is impossible to perceive in bitstreams. For example, if you express note IDs as 3D coordinates, then any event that references another event via e tag creates a 3D vector, but the vector is not explicitly written anywhere. It is stored in the relationship and interpretation of the events.


You could probably achieve something similar now with one of those shutter 3D glasses and a 120 Hz display. Just show the real image, then close the glasses and show the exact inverse of the real image for the second half of the 60Hz period. Should look like gray to someone without the glasses.


I know you can do it by just removing the polarizer and putting it on your glasses like this: https://m.youtube.com/watch?v=xQ_pkWzy0_o

But it should definitely be possible to just replace your screen with a non standard filter that requires the right glasses filter to see so its even more obscure.

Now the real prize would be if theres a way to make it so sensitive or multi layered so that it's not feasible to brute force the encoding. I don't see much of a market for this tho. Anyone this worried about physical privacy should be worried about digital instead.