Vou tentar dar meus 20 sats sobre o Cashu.

Cashu é um protocolo de código aberto em que existem Minters que recebem Bitcoin pela rede Lightning, e esse Minter te dá um token eCash que corresponde à quantidade de sats que você enviou para ele.

Você guarda esse token eCash literalmente no seu dispositivo.

Você pode entregar esse token para outra pessoa mesmo estando offline, de forma “física”, literalmente.

A pessoa que recebeu o token pode escolher se confia ou não no Minter que o emitiu, filtrando assim possíveis scammers.

Só tem um porém: da mesma forma que você pode entregar um token, que é apenas uma string, para outra pessoa, você também pode salvar essa string e fazer a "reclamação" (reclaim) mais rápido do que ela. Quando a outra pessoa tentar fazer o reclaim, o Minter vai informar que aquele token já foi resgatado.

Sugiro que seja criada uma rede de wallets Cashu com um nível de segurança no lado do cliente, onde:

Os tokens nos dispositivos sejam criptografados para evitar alterações maliciosas por parte do usuário.

Assim que forem transferidos, os tokens sejam deletados automaticamente do cliente do usuário, para manter a integridade da existência única do token.

Assim como já existe o aviso sobre confiar no Minter ao receber um token eCash, deveria haver também um aviso sobre confiar na wallet que está recebendo o token. Assim, a comunidade saberia que a wallet implementou as garantias e seguranças acima, o que aumenta a legitimidade do token.

Se alguém criar uma wallet capaz de duplicar tokens eCash com intenção de aplicar golpes, a pessoa do outro lado receberia uma mensagem avisando que a wallet da qual está recebendo o token não faz parte das wallets com “selo” de verificação da comunidade, um alerta de que o emissor pode ter más intenções.

As wallets poderiam criar um banco de dados com uma lista de wallets “confiáveis”, contendo um checksum que possa ser facilmente verificado durante a negociação. Assim, se alguém usar uma wallet que era aceita pela comunidade, mas teve seu código alterado e essa nova versão não for mais considerada segura, o receptor saberia disso. Ainda não tenho ideia de como seria essa verificação, mas vocês se viram aí.

nostr:npub12rv5lskctqxxs2c8rf2zlzc7xx3qpvzs3w4etgemauy9thegr43sf485vg some suggestions to cashu.

Reply to this note

Please Login to reply.

Discussion

Not sure if I get it right because I only read the translated text but it sounds like device and app level security which is something that can only really work if there's a trusted attestation as to which software is running at your counterparties device I suppose?

My knowledge on this is very limited and I know that attestation is a thing but I don't know whether you wouls need to use apple or android-specific security features for it. Some banking apps seem to be doing this and also therefore don't run on modified OS etc.

More insights on this would be welcome.

I added some new info in my comment, but I think the edit feature won't work on all nostr clients so here it is:

The idea is to have a database of verified checksums for Cashu Wallets, where these wallets have implemented code to ensure that users cannot have a copy of the token where they can spend it before the intended person do. This database could even be hosted on Nostr nodes, allowing the community to provide 👍👎 feedback on wallet checksum builds. Any unknown wallet, or known wallet with altered code resulting in a new checksum, would trigger a warning to the recipient of the eCash token.

The challenge now is how to implement this system in a way that allows different wallets to establish legitimate consensus during offline transactions, as I still see the possibility of malicious actors finding ways to tamper with it and circumvent the protections.

The idea is good, but when users have the power to reclaim an eCash token that they were supposed to give to another person as payment, and leave the other person with nothing is kinda annoying, in the end, you should only trust receiving eCash from people you really trust, else it would just be a race of "who can reclaim this token faster". If we are trying to mimic physical cash bills, we have to take into consideration that once you hand over a $ bill to someone, it not in your possession anymore.

on Android, you can have some code to show the current apk checksum and also to show who signed the apk final release build or if the apk is in release or debug, this info can be used to notify the recipient of the eCash Token.

Any modification to an apk would have an invalid checksum and a wrong signature.

still there are ways to circumvent it, man this sucks.