pull down to refresh

How does client-side validation work?
I vaguely remember that one critique was that true consensus is impossible because there is no global state. One asset can be sold to two other participants, and they won't know it is a double-spend unless they talk to each other.
But later, I read somewhere you said you solved this.
Do you know what I am referring to? If so, can you elaborate a bit?