xDai currently uses Parity's AuRa (Authority Round) proof-of-authority consensus model to append blocks to the xDai chain. In this model, selected validators take turns signing blocks. A signed block is broadcast to all validators, and if the majority agree it is valid, it is added to the chain. A new block is added every 5 seconds, regardless of whether any transactions occurred during that time.
View current xDai validators (change network dropdown to xDai Stable Chain): https://validators.poa.network/poa-dapps-validators