Relayers play an important role in the Light ecosystem. They are web servers that forward zero-knowledge proofs (which prove state transitions) from the client to the respective on-chain program, paying for the transaction fees in return for a fee at successful proof verification. The zero-knowledge proof encodes an integrity hash that ensures that relayers are trustless and cannot alter transactions/proofs without letting the on-chain verification fail.
When developing your PSP or application with zk.js, the SDK initializes a Provider with a default hosted test-relayer instance. If you want to host your own public relayer for testnet, start here.
Censorship & Decentralization A relayer does not collect more data from you than what's stored on-chain, and neither do they have control over your funds. However, a relayer can theoretically decide not to process your transaction request, which would censor you. That's why in the long term, we'll continue to decentralize the relayer network with a permissioned and eventually permissionless list of relayer hosts.