A few questions:
> As a payment system I think cryptocurrency is vastly better; the more I use my hardware wallet, the more I'm horrified by legacy systems that work by giving vendors the ability to withdraw as much as they want. It's a fundamentally insecure system, made sort of workable by layers of hacky mitigations.
Do you think cryptocurrencies are vastly better because they don't allow transaction peers to withdraw arbitrarily from your wallet, or for some other reason?
If the former, do you consider cryptocurrencies to be better than simply implementing this functionality in fiat systems like ACH?
> Reversibility could also be implemented in a token smart contract, if the market really does value that enough to put a central admin in control.
Why do I want a smart contract for this, instead of just trusting that the vendor will be heavily penalized for trying to arbitrarily take funds from my account? In fact, why do I want anything to be trustless? In a trustless transaction system, there is less transparency: it might be harder to take more funds than allowed from my account, but in the event the vendor finds a way to do it, what is my recourse without a trusted third party for arbitration?
It feels like a lot of this debate circles back to one group of people saying, "Cryptocurrencies are great for when you don't trust the government" and the second group of people responding, "Yes, but why would I not trust my government or the people I transact with, and don't I have worse concerns than my currency if that's honestly the case?"
From my perspective, perfect feels like the enemy of good here: you sacrifice efficiency in the average case for catastrophe in the worst case. The problems solved by solutions that don't require trust seem to be sort of decently solved in the average case using brittle technical features (e.g. smart contracts that prevent a vendor from double dipping your personal wallet); on the contrary, we have solutions for those now in basically every stable country's fiat currency, and fiat currencies at least solve the worst case, but cryptocurrencies do not (e.g. your smart contract was hacked and your entire account is gone, but no one knows who the vendor was that did it).
Basically, I trust smart contracts less than I trust my government, and to be honest I don't endorse strong trust in my government either way. I kind of want my currency to be backed by people with guns and a complex legal system instead of a distributed ledger and whatever half-baked smart contract system is used by the vendors. Stripe has one of the best security teams in tech right now, and routinely hires security consultants from excellent firms like NCC Group. If Stripe put out a new cryptography library, I would default assume it's broken in some way, at the very least in implementation.
Whenever the "Stripe of cryptocurrency payments" emerges, I am basically going to assume that it's critically broken and will be catastrophically exploited after a huge number of users and vendors are vulnerable. Solving a fully technical smart contract system to abstract away all of these concerns (like arbitrary ACH transfers) isn't feasible in the current state of software security.