I think the issue is solved (while still complex) with an event sourcing system.
The chances are really high that the users did not push / updated the number at the exact same time. (so they are at least 1ns apart, even when not it's not that bad).
So you can actually restore to a sane state by reapplying the log from scratch.
i.e. this is solved with CQRS and Event Sourcing and it probably works in like all databases.
It's quite complex but pretty reliable, I'm pretty sure that everybody already built at least a extremly simple append only event log.