Disclosure: Am disappointed long-term ADA user (and small bagholder)
There are a lot of good things about Cardano like high decentralization and deterministic fees (mostly deterministic, since Phase 2 Tx validation can still fail). Ultimately, adoption requires good user experience, and I don’t think Cardano will ever get there. There are many ugly user experiences to using Cardano that all stem from its use of UTXOs instead of global accounts.
Swaps still require off-chain operators due to concurrency issues, but I think end users have mostly gotten used to them. There are bigger UX annoyances.
Minimum 1-1.5 ADA per transaction UTXO
If you’ve used Cardano, you’ve probably noticed that tokens lock 1 to 1.5 ADA with them, and wallets usually have 5+ ADA locked up as collateral before you can perform any DeFi transaction (due to the risk of Phase 2 validation failure). dApps can’t update token, NFT, and SFT balances without sending the token along a minimum of 1-1.5 ADA in a UTXO. Each Cardano UTXO has a minimum amount of 1 ADA. For NFTs and tokens, wallets usually usually lock 1.5 ADA with each token UTXO since there are other factors that affect the minimum amount like utxoCostPerWord.
Imagine if 1 ADA rises to $10 in the future, raising the minimum UTXO amount. Cardano would be unusable. It’s not super easy for it to reduce this minimum because the purpose of Min-ada-value is to prevent spam. Cardano still chugs along at only 5 max TPS. I realize TPS is partially misleading since transactions are often batched. But even when not batched, Cardano’s max TPS cannot even close to being as fast as the 60 max TPS on Ethereum L1 (which itself is not meant to be fast since scaling is on L2s). Cardano needs this spam-resistance because its scalability is so low, so it can’t easily drop its 1 ADA minimum.
No global accounts and simple balance updates
In addition, accounts aren’t global, so there’s no good way of tracking user progress. This is better for privacy, but not good if you’re trying to build a decentralized identity. Each Cardano wallet is just a collection of UTXOs and lacks a unified account. The staking address is useful, but it’s not completely unified. There are 4 different types of Cardano addresses (base, pointer, enterprise, reward account). Not every address can have a pointer to a staking address or uses the same staking address. This severely limits POAPs, airdrops, gaming, and DeFi swaps. Airdrops and POAPs usually check an account’s DeFi progress, but without accounts, how can the airdrop owners figure out the activity of those users? Tracking is also inefficient since you can’t simply query a single account or contract to get the balance. Instead, you have to rely on a full node + indexer that adds up the balances from every separate UTXO for that user, assuming that indexer can even identify them.
Are these issues fixable? Or will Cardano user experience continue to be limited due to using UTXOs?
submitted by /u/HSuke
[link] [comments]