In a distributed computing environment such as a blockchain, multiple distributed nodes are intended to execute the same computation simultaneously, so as to provide distributed representation of the information output of the system as a
universal whole. There are different ways to achieve this, one of which is to use ‘Unspent Transaction Outputs’ (UTXOs), the other being an ‘Account-based ledger’. However in order to implement the account-based ledger approach, the system needs to employ ‘shared mutable state’.