In conventional money systems, such as centrally-issued fiat currencies or blockchain-based cryptocurrencies, money is often treated as an "object" that moves from one party to another when transacting. This is also why blockchain-based systems require a consensus algorithm - the nodes in the network have to arrive independently to an absolute (or in the case of decentralized acyclic graph architectures, eventual) order of events. To achieve that, the distributed ledger needs to have one single state. In other words, the system has to ensure that no double spending can occur. If party \(A\)  sends an "object" to party \(B\) , the system has to ensure that the same object cannot be sent at the same time to party \(C\) . The role of consensus algorithms in blockchain-based systems therefore is to ensure the consistency of the system's state across nodes. This approach does come however with its drawbacks. Current blockchain-based systems like Bitcoin [1]}, or Ethereum [2]} as of the time of this writing can only process around 5 to 15 transactions per second. To increase the number of events (i.e. transactions) within the system, the system can either decide to become more centralized (by increasing block size, or by having fewer validators with more resources, etc.), or by sharding transaction validation (which lowers the security of the network).
