Gold Standard Technical Record: Snapshot Voting (Karpathy Protocol)
Snapshot Voting enables off-chain, wallet-signed governance votes using a designated snapshot block to determine voting power, with optional on-chain execution of approved proposals. It emphasizes verifiability, gas efficiency, and DAO integration.
Snapshot Voting is a widely adopted, gas-efficient mechanism for decentralized governance, particularly within Decentralized Autonomous Organizations (DAOs). It operates primarily off-chain, leveraging cryptographic signatures to verify voter intent without requiring direct blockchain transactions for each vote. The core principle involves taking a 'snapshot' of token holders' balances or other relevant on-chain states at a specific block height or timestamp. This snapshot determines an individual's voting power for a given proposal. Users interact with a web interface (like the Snapshot.org platform) to create proposals and cast votes by signing messages with their private keys. These signed messages are then broadcast and verifiable by anyone, often aggregated and presented on-chain or through off-chain indexing services. This approach significantly reduces the cost associated with on-chain voting, which can be prohibitive due to gas fees, especially during periods of high network congestion. While voting occurs off-chain, the execution of approved proposals can be triggered either manually by a trusted multisig or through an on-chain smart contract, depending on the DAO's design and the proposal's nature. This hybrid model balances decentralization, cost-effectiveness, and practical governance execution.
graph LR
Center["Gold Standard Technical Record: Snapshot Voting (Karpathy Protocol)"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Rel_advanced_propulsion_systems["advanced-propulsion-systems"]:::related -.-> Center
click Rel_advanced_propulsion_systems "/terms/advanced-propulsion-systems"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простими словами
Imagine a club where only members who owned shares on a specific day get to vote on new rules. Snapshot voting is like taking a picture of who owned shares that day, so everyone can vote later without paying a fee each time.
🤓 Expert Deep Dive
Snapshot Voting abstracts the consensus process for governance decisions away from the computationally expensive on-chain layer. The 'snapshot' is a point-in-time state derived from a specific block's state root, allowing for reproducible determination of voting power based on token holdings, NFT ownership, or other ERC-721/ERC-1155 criteria. Proposals are typically submitted via IPFS, with their hashes stored on-chain or referenced in off-chain registries. Voters sign off-chain messages (EIP-712 or similar) containing their choice and proposal identifier, which are then relayed through off-chain infrastructure. This minimizes gas costs to near zero for the voting act itself. The primary trade-off is the potential delay or complexity in executing proposals on-chain, as the off-chain vote itself doesn't directly trigger state changes. Security relies on the integrity of the snapshot mechanism (ensuring it accurately reflects the chosen block) and the secure management of user private keys for signing. Vulnerabilities could arise from manipulation of the snapshot block selection or flaws in the off-chain relay/aggregation mechanisms.