I've raised this with developers elsewhere and they got infuriated, insulting and blocked me. So I'm convinced it's a great idea.
Simply get rid of the "Connect Wallet" button. Why? Because wallets are a disaster. Browser extensions are insecure as they have access to all your data and rely on questionable Javascript injection. They are hard and clunky to deal with. They come with pop ups and questions. Braindead tasks like "Change Chain", "Install Snapon", "Add contract". Stuff I don't care about and shouldn't be doing.
The replacement is to make it similar to paying with a CC.
The only role of a wallet when dealing with a dApp is to approve transactions. An internet server can craft the transaction but that server won't be able to sign the transaction. The server does all the technical details and the user receives a notification to approve the transaction.
This means:
A client wallet app only has code to handle key pairs, sign transactions and monitor balances. No code to do anything else, no extensions or imported chains, no builtin browser. The server will have all the bindings to every chain API, all the wallet does is sign transactions that its been notified of.
So the steps would be if a user wants to pay on a site using crypto
1. Enter their Payer ID which could be email or a series of digits like a CC.
2. Enter amounts and details of the transaction into the dApp.
3. The payment server takes that and generates the transaction and sends a notification to the wallet.
4. The user sees this transaction and can approve/deny it for submission.
Issues:
- spammers sending notifications to everyone. The server would have to be run by an authority that filters who can send such notifications.
- It's open to fraud, e.g. the payee generates a transaction with a larger amount than the user entered. But it will be operated by an authority that can disconnect accounts from using the service anymore.
- It's based on centralized authority for who can access the service, but doesn't act as a centralized custodial service of funds.
- Lack of anonymity. Maybe not for the wallet holder but the business sending such notifications for a approval must be KYC
Benefits:
- Simpler for the business especially for the business that no longer has to give a 5 page tutorial on how to setup the wallet with their particular chain/dapp.
- Simpler for the user.
- The downfall of the "Connect Wallet" button.
Sure sites could keep using the notorious "Connect Wallet" button if they're alright having users turned off due to a complicated setup process.
Blockchain purists hate this. But I'm not really interested in what a Blockchain philosopher thinks. It's more about what a business and customers think.