Post
Share your knowledge.
How does Sui’s object-centric data model differ fundamentally from account-based models in Ethereum?
How does Sui’s object-centric data model differ fundamentally from Ethereum’s account-based model, particularly in how assets, state, and ownership are represented — and what implications does this have for transaction parallelization, security, and developer experience
- Sui
- SDKs and Developer Tools
- Transaction Processing
Answers
7Sui’s object-centric data model differs fundamentally from Ethereum’s account-based model in how it represents assets, state, and ownership. In Ethereum, all activity revolves around accounts that hold balances and contract states, which requires sequential transaction execution and complex checks to prevent conflicts. In contrast, Sui treats everything — coins, NFTs, smart contract states — as objects with unique IDs and defined ownership rules, enforced by the Move language. This design enables parallel execution, since independent transactions that touch disjoint objects can be processed simultaneously, greatly improving throughput. It also strengthens security, as the linear type system ensures assets cannot be accidentally duplicated or lost, reducing common vulnerabilities like reentrancy. For developers, the shift means thinking in terms of object flows and ownership transfers rather than account balances, which can simplify modeling real-world assets but requires a new mental framework compared to Solidity. Overall, Sui’s model is optimized for scalability, safety, and intuitive asset representation, making it a notable departure from Ethereum’s global state paradigm.
with unique IDs and defined ownership rules, enforced by the Move language. This design enables parallel execution, since independent transactions that touch disjoint objects can be processed simultaneously, greatly improving throughput. It also strengthens security, as the linear type system ensures assets cannot be accidentally duplicated or lost, reducing common vulnerabilities like reentrancy. For developers, the shift means thinking in terms of object flows and ownership transfers rather than account balances, which can simplify modeling real-world assets but requires a new mental framework compared to Solidity. Overall, Sui’s model is optimized for scalability, safety, and intuitive asset representation, making it
Ownership & Access • Sui: Ownership is explicit—objects have a single owner or are shared. • Ethereum: Contracts manage state access internally; ownership is inferred.
Transaction Execution • Sui: Enables parallel execution by tracking object access. Independent object interactions can run concurrently. • Ethereum: Uses a global state, so all transactions are executed sequentially.
Security • Sui: Reduces reentrancy risks by isolating object logic and ownership. • Ethereum: More prone to reentrancy and shared-state bugs.
Sui and Ethereum take very different approaches to how state and assets are modeled.
Ethereum’s account-based model
- State is tied to accounts (EOAs and smart contracts).
- Balances and contract storage live under these accounts.
- Transactions mutate global state by updating account balances or storage slots.
- Because many transactions can touch the same account or contract storage, execution is largely sequential.
Sui’s object-centric model
- Everything is an object with a unique ID, ownership, and type.
- Objects can be owned by users, shared by many, or immutable.
- Transactions explicitly declare which objects they touch, so the system knows in advance if two transactions conflict.
- Independent object updates can be executed in parallel, avoiding global bottlenecks.
Implications
- Parallelization: Sui can safely execute non-overlapping transactions at the same time, while Ethereum must process sequentially to avoid state conflicts.
- Security: Ownership is explicit at the object level, reducing bugs and attack surfaces around shared state.
- Developer experience: Sui Move feels more natural for modeling digital assets, since developers work with objects rather than raw storage slots or balances.
Example difference:
Ethereum (pseudo-Solidity)
mapping(address => uint) balances;
function transfer(address to, uint amount) {
require(balances[msg.sender] >= amount);
balances[msg.sender] -= amount;
balances[to] += amount;
}
Do you know the answer?
Please log in and share it.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
- How to Maximize Profit Holding SUI: Sui Staking vs Liquid Staking616
- Why does BCS require exact field order for deserialization when Move structs have named fields?65
- Multiple Source Verification Errors" in Sui Move Module Publications - Automated Error Resolution55
- Sui Move Error - Unable to process transaction No valid gas coins found for the transaction419
- Sui Transaction Failing: Objects Reserved for Another Transaction410