On the contrary: there are multiple solutions to the concurrency challenge. Cardano’s use of, and improvements on, the UTXO (“unspent transaction output”) model first used by Bitcoin, make it more flexible and significantly better at parallelism than Ethereum, which uses an account-based system for managing state in the blockchain which hard-wires one resolution of the concurrency and contention challenges into Ethereum. Cardano effectively hands dApps the ability to manage the tradeoff between independent operation and centralization, and dApps themselves can choose which way to go.
Because of this fundamental difference between Cardano and Ethereum, simply porting dApps developed on Ethereum’s ERC-20 standard to Cardano won’t work — the Cardano-based dApps need to address concurrency and contention themselves, based on the kind of functionality they need to enable. This is not an easy task when smart contract functionality has only been around for a few months on the Cardano blockchain, and picking the right approach is an important decision to make.