First implementation: mmap a file What goes wrong? Atomicity: What if server crashes between A -= $1 and B += $1? What if client crashes/cancels between two operations? Consistency: read-modify writes interfere R = B.balance; R = B.balance; R = R + $1; B.balance = R; R = R + $1; B.balance = R;