sparrowwallet / sparrow

Desktop Bitcoin Wallet focused on security and privacy. Free and open source.
https://sparrowwallet.com/
Apache License 2.0
1.28k stars 185 forks source link

[Feature] Remove all fiat references in the wallet #687

Open RequestPrivacy opened 1 year ago

RequestPrivacy commented 1 year ago

Motivation

The exchange rate between bitcoin <-> fiat is provided by almost all wallets. As there is not "one" exchange rate, prices might fluctuate between different wallets though (depending on which API they pull the exchange rate from and/or how often).

This might lead to differences between payments of people sending "fiat amounts" around or other issues raised, see #683 and #147.

Another flaw of displaying bitcoin denominated in fiat is the pitifully clinging to a legacy system. For everyone - including me - it is hard to live between two systems, the old fiat world and the new bitcoin one. Displaying fiat amounts is comforting and even somewhat reasonable in today's world.

But its also a massive intellectual pullback to the legacy world. Imho all wallets should lead the way by removing all ties to that world and enforce a "no fiat" stance.

A wallet manages keys and lets you transfer property rights by means of database entries which some people call "sending coins". These coins are commonly denominated in different magnitudes like btc, sats, mbtc or whatever the "current thing" is people tend to use.

Fiat should have no power in this transfer of property.

I understand this is a controversial topic and likely one which would lead to a lot of backlash if implemented. Nonetheless - as I haven't found an open or closed issue regarding this matter in the sparrow repo - I wanted to introduce one with this subject.

craigraw commented 1 year ago

While I appreciate the "no fiat" stance, I think we are on a journey to get there and some degree of inclusivity is still good/useful. A similar situation is with Sparrow's support of public servers. This feature does not, in strict sense, conform with the goal of financial self-sovereignty, but it's important to include beginners who are starting on their privacy journey. In the same way, a fiat value gives people new to Bitcoin a tangible sense of value in terms they understand, and it's valuable in that sense.

That said, I'll keep the issue open as no doubt there will be a day where value is better understood in sats!

Transisto commented 1 year ago

@RequestPrivacy I think Sparrow is already mostly there, The amount cannot be typed in fiat but the approximate value is shown as a safety mechanism. Most people don't operate is fractions of coins in day to day thinking therfore are at high risk of sending an order of magnitude too much BTC.

meglio commented 1 year ago

The described motivation is a bit utopian. If the wallet is being developed for the real world too, not just for the non-existent ideal future world, then visibility of the exchange rate is crucial for vendors, and still quite useful for regular users. It might not be needed for the minority who "live 100% crypto", but again, that's just the minority.

Note, it is not that important for the fee rate to be precise and exact at any moment in time. But to see some meaningful $USD equivalent (or whatever currency is chosen by the user) makes the wallet much more usable:

If you ask me, I can't see any disadvantages to have this informatin handy.

Note, it's not uncommon. Mobile wallets have it too, e.g. see Unstoppable as an example.

My vote is to collect exchange rates from a few free sources and just show an average:

All of them are free, and you can query them once every 15..20 seconds.

All the "querying" and "storing" is a 1-2 days job (I did it recently as part of an internal web application I'm working on). Little work for huge usability improvement.

RequestPrivacy commented 1 year ago

If the wallet is being developed for the real world too [...] exchange rate is crucial for vendors, and still quite useful for regular users

I use a wallet that has no fiat denomination. I use services that don't list prices in fiat. I feel happy as I don't have to make mental gymnastics on "what is this in fiat terms" or "I payed that fiat denominated service with bitcoin but now the exchange rate went up so effectively I payed too much Bitcoin for it, as I could have bought the same thing for fewer sats today".

E.g. I pay for a service 100.000 sats. I don't have to regret tomorrow that an exchange rate fell or has risen, because I would still have to pay 100.000 sats tomorrow. Easy. End of story.

You think what I'm talking about is "a bit of utopia", I think you're view on how this system should move forward is train wreck happening in slow motion:

Wallets as the gateway shape how "the real world" sees Bitcoin. If you provide an exchange rate, Bitcoin will always stay a payment rail of fiat transactions. If you force your users to only see Bitcoin or sats in the wallet, you force them to either pull the exchange rate externally (too much work) or demand merchants to denominate their prices in the thing they can plug into their transaction screen: a bitcoin amount...

Now you're gonna tell my how this would lead to users leaving Sparrow. Might be, I'm not sure. Sparrow has enough outstanding features that it could hold every user it has today.

But honestly, I wouldn't care if I'd be craig. Although it seems like a minor issue it's an important one: is he building this wallet for users of a bitcoin world or a fiat world? I certainly know where your position is @meglio

meglio commented 1 year ago

I use a wallet that has no fiat denomination. I use services that don't list prices in fiat. I feel happy as I don't have to make mental gymnastics on "what is this in fiat terms" or "I payed that fiat denominated service with bitcoin but now the exchange rate went up so effectively I payed too much Bitcoin for it, as I could have bought the same thing for fewer sats today".

I'm not sure why you are talking about your own experience. Is this wallet being developed for your own use only?

I gave real feedback from real vendors and some bitcoin users I know who cannot use Sparrow because it does not have an embedded FX, and it's just too much friction to use the wallet AND a side FX service, and switch between them 100+ times a day. How is this real feedback related to your own views?

Plenty of the real use cases today need FX.

meglio commented 1 year ago

If you force your users to only see Bitcoin or sats in the wallet, you force them to either pull the exchange rate externally (too much work) or demand merchants to denominate their prices in the thing they can plug into their transaction screen: a bitcoin amount...

This does not make any sense for businessmen who are running businesses today. The 3rd option, and that's the one that I see 100% of the time among them, is, they just don't use Sparrow, and use e.g. Electrum - just because it makes their day to day life easier while displaying FX in place.

Just a single example would be, if they buy in USD, and they make BTC a payment option when they sell the goods, they are always tied to USD. Full stop. No other ways to run the business. They either accept BTC this way, or they don't accept it at all. Your idealistic views about the future markets running on bitcoins only and the ignorance of the actual needs for the vendors who are trying to adapt Bitcoin gradually - actually make the adoption more difficult for them.

I'm here to tell the Sparrow authors this feedback -- because I feel you are a bit misguided without it, not down to earth, and I know vendors wouldn't bother to all come here and say their feedback (while I do because I'm a software developer for them and I do care). Also, I'm in the position to make recommendations for or against a particular wallet software for the vendors I develop for, hence me writing here to find out your position about this feature.

Hope this helps.

RequestPrivacy commented 1 year ago

I'm not sure why you are talking about your own experience. Is this wallet being developed for your own use only?

No, I provide context as there are wallets that don't provide exchange rates and magically they're still used. Furthermore this is an issue I created and I'm also a user of Sparrow so I guess that makes it valid for my opinionated view to be expressed and further explained.

I'm also glad you expressed the view of the vendors you seem to represent. It's just that I think that all the talk about "gradual adoption" of Bitcoin is snake oil. In the case you describe only one thing gets adopted (like I said above): a fiat payment rail.

Just a single example would be, if they buy in USD, and they make BTC a payment option when they sell the goods, they are always tied to USD.

Good job for adopting paypal 2.0. You literally described why they would never run on a bitcoin standard.

My view:

Users ---- demand to pay in BTC ------> merchants -------> demand their suppliers to get payed in BTC --------> Adoption

Your view:

Merchants want to adopt BTC --------- fiat prices but payable in BTC ---------> merchants pay their supplier in recieved fiat -------> the end, no adoption

Maybe my path leads to no adoption. So then Bitcoin failed. But it already has if we take your view, as it's just another wire transfer thing.

meglio commented 1 year ago

You cannot make the vendors I'm talking about just automagically switch their existing businesses to bitcoin-as-their-main-currency. Sparrow has only two options here: a) satisfy their needs of in-place FX and thus make them use otherwise superior Sparrow wallet; or b) make them use another wallet like e.g. Electrum.

The adoption is happening at its own rate no matter what your philosophy about it is. I think the question here is whether Sparrow authors need those clients or they're fine having them use another wallet. Simple like that.

For me it makes zero difference which wallet. I'm just selecting a wallet I will systemically recommend them to adopt.

I'm just doing my little research and considered Sparrow as a good candidate. In this particular case though, in-place FX is the deal breaker. That's basically all I have to say at this point in time. Thanks.

RequestPrivacy commented 1 year ago

The adoption is happening at its own rate no matter what your philosophy about it is.

I have no clue what adoption means to you but I don't see it that way. Contrary, I see the current path of how people are using bitcoin as a sort of anti-adoption.

But as you said, it's the choice of craig to evaluate the impact of this question on his project and the use cases he tries to support.

Transisto commented 1 year ago

The feature already exists, just ask for the option to remove it for yourself.

If we were further down the mass adoption process and this wallet had 1 billion user that political move might be worth the pain.

Currently it makes no sense.

A preferable addition would be to include XAU and XAG to the currency list.

On Thu, Apr 27, 2023, 05:41 RequestPrivacy @.***> wrote:

The adoption is happening at its own rate no matter what your philosophy about it is.

I have no clue what adoption means to you but I don't see it that way. Contrary, I see the current path of how people are using bitcoin as a sort of anti-adoption.

But as you said, it's the choice of craig to evaluate the impact of this question on his project and the use cases he tries to support.

— Reply to this email directly, view it on GitHub https://github.com/sparrowwallet/sparrow/issues/687#issuecomment-1525287532, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC643EU226PNFO5JYW6VU3XDI5MRANCNFSM6AAAAAAQPAIQNY . You are receiving this because you commented.Message ID: @.***>