For the technology to become popular and replace the existing one, it has to be 10x better for the user. Cryptocurrencies have ambitions to replace traditional financial services. But this will never happen if transactions fail and users have to resubmit them. High and volatile fees for slow transactions with long settlements have no chance to compete with payment cards or mobile banking applications. If these technologies didn't work well, people would still be using cash and visiting banks. Cardano behaves deterministically. It is possible to build applications that will guarantee that the transaction will always succeed if it is submitted to the network. This must be the new standard for blockchain services.
The Mainstream Will Not Be Tolerant
The majority of the population will not be as tolerant of many problems as the handful of enthusiasts who adopted these technologies early on. Around 2017, Ethereum defined the standard for DeFi.
It was common for transactions to fail. Fees were sometimes low, but mostly high. If the mem-pool was full, people could wait hours or even days for settlement.
The worst user experience is when they have to repeatedly pay hundreds of dollars for a failed transaction.
This was the beginning of the DeFi era. Despite these problems, DeFi is still used by many people today. But their numbers will not increase dramatically if this remains the standard. It is necessary to raise the quality bar.
First Mover Disadvantage
Ethereum was the first SC platform. The team's goal was to deliver a global computer for financial services. The team decided to use an account-based model that was different from the UTxO model used in Bitcoin. However, the team adopted the fee market model from Bitcoin. They invented something called a global shared state. These (and other) design decisions hurt the user experience.
The Ethereum account-based model is non-deterministic. The effect of a transaction on a ledger change is unpredictable because accounts are inherently mutable.
Transfer of value on Ethereum is a change of balances on user accounts. Validation of the transaction depends on the balances of the given accounts. However, the balance can change at any time. This leads to non-deterministic behavior. At the time of submitting the transaction, there may be sufficient balance on the given account. However, this may not be the case when Ethereum tries to include a transaction in a new block. Validation may fail.
The accounts can be seen as a shared resource in the system. Each transaction can potentially affect the state of any account in the system. This shared nature of accounts is one of the reasons why Ethereum and other similar blockchains are considered stateful blockchains. In other words, Ethereum transactions can be considered stateful.
The complete state of Ethereum describes the current state of all accounts and balances as well as all smart contracts deployed and running in the EVM. The current state can be altered with transactions.
In this article, we want to focus more on the user than the technology. They will experience failed transactions due to the design of Ethereum.
Why Are There No Failed Transactions On Cardano?
The IOG team had a second-mover advantage. It could have learned from the mistakes of its predecessor and chosen a different design for Cardano.
Determinism, predictable low fees, and other decisions make Cardano a platform that has functionality similar to regular financial services.
Cardano is not ready for mass adoption. In particular, it is necessary to improve the scalability of the first layer. This is the problem with almost all blockchains including Ethereum that have not sacrificed decentralization.
The IOG team realized that failed transactions could be an insurmountable problem for mass adoption. He decided to design Cardano to behave deterministically.
In the case of the UTxO model, a transaction can be perceived as a function that consumes one or multiple input UTxOs and produces one or multiple output UTxOs. UTxOs that enter the transaction are immutable. It is possible to ensure exclusive access even in the case of applications (DeFi).
Cardano does not need to deal with accounts or shared global state during validation.
Transactions are inherently stateless. Validation of the transaction depends essentially only on the input UTxOs. It is possible to locally verify that the input UTxOs can be spent by a transaction. State transition is locally verifiable without dependence on any other global on-chain state.
If the transaction passes local validation at the time the user submits it, it is almost certain (but not 100%) that Cardano will include this transaction in one of the next blocks.
Failed Transactions Are Bad
If a large number of transactions fail in the network, resources are wasted (space in the mem-pools, CPU, storage, etc.). Blockchain networks suffer from low scalability due to decentralization. The network must use resources as efficiently as possible. Ideally, transaction validation will consume a minimum of resources and the transaction will pass validation. A failed transaction will only consume resources, but no financial operation will take place.
People who are used to current financial services will not start using cryptocurrencies and DeFi if it means paying high fees for failed transactions. Even if users don't have to pay for failed transactions, they will never trust an unreliable system. The solution is therefore not low fees on networks with high TPS.
Centralized services scale well, fees are low or zero, settlement is fast for domestic transactions, and reliability is very high. It will be very difficult for blockchains, including L2s, to overcome this.
Mainstream won't start using DeFi because of decentralization. It is naive to wait until centralized services or money fail fatally. Let's not wait for fiat money to disappear from the world due to high volatility and blockchain will remain the only alternative. People will always see the flaws if they have experience with a better system.
It is a challenge, but we have to build such a solution that will be decentralized, and at the same time the other properties will be the same, if not better, than those of the current financial systems. It is necessary to take into account that current financial services and money will continue to exist and to build such DeFi services that will be attractive.
Paying a high fee for a failed transaction is perhaps the worst combination from the users' point of view. If they experience it, they may never return to the platform. If they only hear about it, they won't be motivated to try the platform.
Builders and fans alike should change their mindset. We are likely to see a very slow disruption of the financial world. States and their money are here to stay for some time.
The preference of the mainstream will decide which blockchain will be used the most in the future. Determinism and predictable fees are the features of Cardano that users want. Fans of competing projects won't tell you. However, they have no chance to influence the rational behavior of people who will make decisions based on the effective use of their resources. No one is rich enough to pay unnecessary transaction fees.
Fees on Cardano could be even lower, but it is important to think about the long-term economic sustainability of the project. In this regard, the current state is often misinterpreted.
It is said that the platforms that earn the most from fees are successful. However, if fees are high due to low scalability, fee market, and users pay several times in a row for failed transactions, it is not a long-term sustainable model. People will stop using such a platform the moment something better appears. L2s can partially solve this problem, but probably not completely.
The other extreme is very low fees that have a chance to cover the costs of operating the network only if every person on the planet made 100 transactions a day. This can destroy the tokenomics of the project.