From the whitepaper:
We propose to use a client-server protocol, called Distributed Randomness Protocol (DRP), where a client communicates with a set of servers to generate an unforgeable, uniformly random value through non-interactive zero-knowledge proof (NIZK) and publicly verifiable secret sharing (PVSS).
This implies to me that the system is structured with heterogeneous nodes and I'd like to understand better how a node gets assigned the role of "server" vs. "client".