Could someone explain casual consistency to me? Is it just about not showing earlier messages to someone who got blocked, or is there something more to it?
If B happened as a result of A, then every node should observe A BEFORE B. For instance, "Deleting an ex (A) and posting a relationship with a new SO (B)". If this social network wasn't causally consistent then -
Your ex may see your life update (and then be deleted).
I may be wrong, so other experts feel free to correct me.
because the thing that needs to be maintained is the causal ordering of events. For the example from TFA, block -> tweet and tweet -> block have the causal effect of the blocked user seeing or not seeing the tweet respectively. Phrasing it as causal ordering removes time from the equation, which you aren't always able to take into account with distributed systems. Causal ordering also allows for causally unrelated events to appear in any order, for example updating your bio and posting a tweet. Check out the wiki article on logical clocks for a rough starting point in delving into this topic: https://en.wikipedia.org/wiki/Logical_clock.
A more common example of causally unrelated events is two people tweeting from different parts of the world that don’t follow each other. The order these appear somewhere really doesn’t matter to anyone.
no it isn't. The two events are linked by a effect, ie switching the order of events has a different effect. They are causally linked, but not in the a => b sense. It's not about sequential consistency because for many other sets of events, the order does not matter and thus doesn't have to be enforced.