Snapshot is an offchain governance tool that enables gasless voting developed by the team behind the Balancer exchange. While Snapshot was initially released just for BAL signal polls, other projects quickly adopted it to help their users avoid high transaction fees while participating in governance.
Several governance systems use Snapshot polls to gauge community sentiment as part of a procedural governance process, while maintaining a primary onchain voting system for ratifying proposals.
Each governance system that uses Snapshot maintains an individual "space" for their community. Space admins (typically community members or project core team) control the specific requirements to submit proposals, as well as the underlying token that confers voting power.
Whenever a proposal is submitted, the system takes a "snapshot" of token balances at that block to apportion voting weight. Any tokens transferred after the snapshot only impact voting power for future proposals. Snapshot votes have configurable parameters for voting period length and vote options, as well as a narrative section to describe the proposal and link to supporting documents.
Snapshot users sign messages off-chain to cast their vote, which avoids the need to pay transaction fees. Signed messages are then durably stored via a decentralized file storage solution such as IPFS or Arweave.
The main weakness of this approach is that the votes are not submitted and broadcast on chain, so a trusted entity is required to review the final vote count and enact the results. Projects utilizing snapshot such as Yearn Finance and Sushiswap have generally relied on multisigs with community elected signers and time-lock mechanisms to ensure that votes are executed faithfully.