Because in a distributed system, nodes do not have access to shared memory that is shared between all nodes. Shared memory is only typically feasible when the nodes are on a common memory bus, e.g., for multiple core within a parallel processing machine.
Let's assume the agents are labeled $[0, n)$. Let $w > 2$ be a small constant, e.g. 4. Let $F_k(x)$ be an oblivious pseudo-random function (OPRF).
Let each agent generate random value $s_i$, announce $H(s_i)$ and then choose $r = \bigoplus_i s_i$ to ensure a fair random shared seed (peers checking the hashes).
Initially agent $i$ chooses $X_i = i$. Then, ...