While this may be true, the central issue is a different one: most users and/or developers are not very privacy-conscious, so they don't consider it to be worth the effort to solve the problems that go in hand with such distributed systems.
Someone could write a whole slew of changes locally and someone else can eliminate all their work because they have an outdated copy locally and they made a simple update overriding the previous person's changes.
That's why git has merges and conflicts - it doesn't want to lose changes and it can't automatically figure out what should stay in case of a conflict.
Compared to what?
All you need is a way to resolve conflicts and you can serialize any distributed set of actions to a log.
If all you need to solve a problem is something impossible, then you haven't solved it.
Everything is hard if you don't know how to do it.