Member-only story
Challenges For Cardano Developers
It can be difficult for developers to take full advantage of the UTxO model because they have to take parallelization into account. Cardano does not allow maintaining a single global application state in the on-chain part of the smart contract. Each UTxO can represent a piece of the application’s state and can be processed independently and in parallel. This theoretically allows for high throughput and scalability, but the application must deal with complexities related to managing concurrent transactions. What challenges do developers face on Cardano?
When Parallelization is Easy
In the Extended Unspent Transaction Output (eUTxO) model, each UTxO can be processed independently and in parallel. Spending of UTxO is not dependent on any global Cardano state. If the spending conditions are met, one or more output UTxOs will be created through the transaction from the input UTxO (or more input UTxOs). The input UTxO(s) must be completely consumed. Output UTxO(s) must have the same (or smaller) value as input UTxO(s).
If Alice sends 100 ADA to Bob, the spending of UTxO is dependent only on Alice’s Witness. If a hundred other users send a similar transaction, 100 other unique input UTxOs are used. Each transaction sender is the owner of the input UTxO. There is no dependency between transactions and input UTxOs.