Is it possible to encode sats into images and just have a client that sends images?

Reply to this note

Please Login to reply.

Discussion

Yes

And why don’t we do that? Would be a blast just sending image money

This painting I did helps you decode sats from a cypher I made:)

Here’s an image with some nuts in it

I’m thinking something even more obscure like memes

maybe using steganography? to encode a ecash token on the image. i know it can be done with bitcoin private keys.

yes! try this

David Zimbeck who created Bitbay and BitHalo showed this to us years ago as a creative way to bypass the censors. Steganography should be used much more today than it is. I'd think the client would have to be constantly looking for incoming images then trying to decode. I'm not sure there is a way to encrypt or password protect though as anyone can try to decode the image.

This seems similar in concept to an opendime except as an image and a lot less secure. You could probably conceal a private key in an image. Making it a standard for something like a client seems super insecure to me though.

Why insecure if all you do is dm images to one another?

It may not be if you're both using E2E encryption. But if they just leave it on an image that has other security problems. They'd need to immediately send it to a key that hasn't been digitally exposed for it to be secure (and that assumes that their device is secure). E2E encryption isn't enough if something malicious is on the device. It just seems like more work than sending invoice QR codes or something for Lightning payments. I think an encrypted file containing the key makes more sense. But that doesn't fix the problem that you were exposed to the key as well. This could create a double spend issue. You send an image that you already got the code from, paid someone, got something, and then rugged it. That's one of the security problems with hiding it in an image.

You'd need some way of generating an image key that you don't have access to and that their client can somehow use. I don't see how to securely generate a key on your device that is still secure on theirs. You'd only be able to do this with people you trust absolutely, who use reasonably secure devices. So that's a very small list for me at least.

Encrypt to their public key

Encrypt what though? If you're encrypting a key then that means you had it in plaintext. Same security problem I've outlined. And they are still decrypting on a potentially insecure device, making rugging more likely if the tech were widespread.

Yes, the input of anything being encrypted is considered plaintext, even if it itself is encrypted.

I think we need a clearer definition of the problem and goal. Im interpreting as a user wanting to send value to another user they know and can identify by nostr pubkey, and have it renderable as an image (and thusly encoded within) for which only the sender or recipient could claim the value.

Sending a kind 1 note referencing a publicly retrievable image whose contents encode an encrypted ecash string isn't the most efficient but could be used for such

I agree. I don't see a problem nor goal. The answer to the question is yes, because it is possible. But that doesn't make it a good idea, which is my point. I just don't see how it does anything other than create more technical and security problems than current options.

All of these issues are why storing a seed phrase for example as an image on a phone is a dumb idea.

I think the short answer is that you can definitely encode a private key into an image. Doing that securely and in a trustless way is beyond me though. I don't see how you could or what the point would be over just sending them a key or Lightning invoice.

I don’t see why not?

I did try sending ecash with steganography but wasn’t able to decrypt due to transcoding issue during uploading.

Yes possible