There are inherent scaling issues when it comes to managing wallets, and Craig is doing a great job of getting people to think about them. Craig is also doing a very bad job of helping people understand the costs, and benefits and many seem to try and implement what they think he is talking about. The article does a great job of opening with that premise.
I can say most wallets on BSV are degrading the user experience. A while ago I moved coins from BTC addresses that had hundreds of inputs using electrum BTC although slow, I was able to identify them all. More recently, I tried to move coins for an SV user who had unspent BCH and BSV on the same address, they had over 14,000 inputs to one address. (needless to say BSV developers need to improve how they use addresses.) Electron Cash worked no problem but Electrum SV refused to check all the inputs from the blockchain hence it would not show a balance.
One can't design a wallet for users who don't have a need for bitcoin. One can design a wallet for users who do currently have a need for bitcoin.
Most wallet providers don't know who their customers are yet. The services that will encourage bitcoin adoption are still in development and don't have users, evidently, wallet developers are optimizing the wrong things.
Bitcoin adoption is dependant on fulfiling an identified needs that can't be fulfiled any other way. Users will find a way to get bitcoin and entrepreneurs will find a way to make it Win-Win for all. What many SV wallet providers seem to be doing is alienating the existing bitcoin users and design for non-existing users. HandCash Dinging Dongs is an exsample. It's like a social Craig cult network, not a value exchange network.
The problem.
Miners are not obligated to send blockchain data to whoever requests it. They may be running pruned nodes or in the business of providing data for a fee. So at scale, if miners charge to access blockchain data, how do you know if you have a valid UTXO on an address you control if you just want to check the balance.
I can tell you how not to do it - hide addresses (aka payment) data from the users.
I can also tell you this is not a problem it's a business opportunity and I think it's easy to solve in a way that does not impeded adoption.
Electrum SV is proposing we're doing it wrong by putting our trust in the network, the source of truth, by using the network's UTXO set to checked again out addresses as a poor substitute for keeping track of our own UTXOs.
If you’re making one payment at a time and not quickly enough to spend more coins before your wallet recovers from it’s forgetting the spend it just made, then this works kind of neatly. But it’s a very poor substitute for just keeping the transaction and building on that.
Electrum SV also makes this flawed assumption confusing it with immutable of fact
It keeps on enumerating addresses until it finds 20 consecutive addresses which have not been used in any transactions. At that point it considers the wallet fully restored.
This is a design problem, not a
Seed-based restoration problem.
There is no way to guarantee a wallet’s contents can be correctly or safely restored through just the seed words.
Yes, there is. BIP 32, 39, 44, and others provide a way to guarantee this. What not guaranteed is when restoring a wallet, you will check each used address against the networks UTXO this is a wallet design problem.
If you’re making one payment at a time and not quickly enough to spend more coins before your wallet recovers from it’s forgetting the spend it just made, then this works kind of neatly. But it’s a very poor substitute for just keeping the transaction and building on that.
Service providers should make using bitcoin invisible, hence you won't need to know you are using addresses or bitcoin, you just use it and it works, but if you want accountability you need to give access to the addresses. Hiding them from users just makes the system less transparent and opens up fraud vectors.
Also, WTF - calling payment to an address you control that was not solicited through their API or a quantified KYC partner "
pedo coins" is asinine. Electrum already lets one ignore unsolicited dust, which is great but, I have to question why do it for all valid transactions that are unsolicited. I have no idea.
Moving forward ElectrumSV will never reuse an address and will quarantine all unsolicited funds — or pedo coins as I call them.
Oh Boy. There are many kids in this space not able to think through a design. The quote below struck me, particularly thinking the Genesis upgrade changes how keys are generated is concerning, it's a wallet design problem not a result of a protocol upgrade.
It will be impossible for seed-based restoration to work the way it currently does. It will simply fail to find your wallet activity.