What is Snapshot X?
Snapshot X is an on-chain voting protocol.
Technically, it is a set of modular smart contracts. Unlike the existing Snapshot, Snapshot X is fully on-chain. This means:
- The protocol is censorship-resistant: anyone can vote. The operation of the protocol does not rely on off-chain authorities or centralized services with the power to censor votes.
- Voting rights are calculated on-chain: the voting logic is fully on-chain and auditable, so you can determine the logic used to calculate voting rights and decide on proposal outcomes.
- Execution is trustless: proposal transactions are automatically executed after a proposal is passed. For example, if you create a new proposal to transfer 1ETH to vitalik.eth, if the proposal passes, 1ETH will be automatically sent to vitalik.eth without any further manual intervention.
Trustless Execution
Snapshot X will allow DAOs to execute transactions on-chain in a completely trustless manner, without relying on any human or oracle inputs. All computations related to voting will be done on StarkNet, and then StarkNet will control the execution on Ethereum.
Permissionless and Censorship-resistant
Space setups, proposals, and voting will be published and verified on StarkNet. The framework will be fully permissionless, allowing anyone to interact with it on-chain without needing the Snapshot client.
No Expensive Checkpoints
Currently, most token contracts that use on-chain governance require additional functionality to store what we call checkpoints, which incur additional gas costs when transferring tokens. Snapshot X eliminates the need for such checkpoints by using storage proofs.
Native Ethereum Signature Support
Since StarkNet supports native Ethereum cryptographic signatures, users can continue to interact with Snapshot using their preferred wallets without having to change their way of interaction.
Gasless Experience as Usual
Users can vote and create proposals by signing messages without paying gas fees, just like they do with Snapshot today. These messages will be sent to the Snapshot hub, which will act as a meta-transaction relay on layer 2 to send the votes and proposals. The fees will be sponsored by the DAO using Snapshot X.
Fully Integrated in the Snapshot Client
Snapshot X will be provided as a plugin in Snapshot and, once enabled, will allow the use of a transaction builder to add transactions to be executed in proposals, similar to how SafeSnap is currently used.
When will Snapshot X be released?
The complete process is as follows:
- The DAO creates a Space contract and whitelists the required validators/voting policies/execution policies.
- Users can create proposals in the space using a validator as long as they exceed the voting power threshold specified by the voting policy. When creating a proposal, the execution policy contract and a set of execution parameters, including the transactions to be executed if the proposal passes, must be specified.
- Users can vote on proposals by authenticating through one of the whitelisted validator contracts.
- After the voting period ends, anyone can finalize the proposal. This will update the proposal's status and call the execution policy with the execution parameters and the proposal result (ACCEPTED/CANCELED/REJECTED).
- The execution policy will then execute the logic using the proposed result and provided parameters. The following image shows how the contracts that make up Snapshot X are combined and the various operations that users can perform to create proposals, vote, execute proposals, and update settings.
Translation: