I understand shared mutable state as describing a situation in which two or more parties control the same data. If their lifetimes or execution periods overlap, this can cause an issue. But in the context of ETH, why is this an issue as long as transactions are ordered in first-in first-out basis?

  • Can you give more details of the particular situation? Having order dependent transaction is not a problem for the blockchain but it might be confusing for users.
    – Ismael
    Mar 21, 2021 at 5:50
  • Thanks so much for your response. I don't have a particular situation in mind, but was motivated to ask the question after reading other crypto project white papers that make statements about shared mutable states. Is the issue with shared mutable states that a smart contract might be rendered inoperative because it makes certain assumptions about network states that might change independently (due to the execution of a different smart contract)?
    – NeilD
    Mar 22, 2021 at 17:50
  • It is not clear to me what they mean with shared mutable state. The blockchain is shared per definition. In Ethereum contracts have mutable state but since transactions are serialized it is not really an issue. Eventually all nodes will see the same state, like any PoW blockchain you have to wait several blocks until it has enough confirmations.
    – Ismael
    Mar 23, 2021 at 4:44
  • An example of shared mutable state in ETH is the account balances. ETH uses an account model to track balances as opposed to the UTxO model used by BTC. In ETH, when someone gets some more ETH sent to their account, the balance (effectively global/shared) is updated (ie mutated). Compare this to BTC where someone getting some more BTC would result in a new UTxO being generated and none of the users pre-existing UTxOs being touched. This is significant because write access to shared mutable state is much more difficult to parallelize (ie locks need to be added). Jul 22, 2022 at 8:38


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.