Snapshot
Last updated
Last updated
In the ever-evolving blockchain ecosystem, decentralized governance plays a crucial role in democratizing decision-making processes within DAOs, DeFi protocols, and NFT communities. The open-source voting platform, Snapshot, has emerged as a vital tool for these communities, enabling them to conduct seamless voting processes without incurring gas fees. In the subsequent sections of this article, we will delve into each layer of Snapshot’s implementation and examine the significant role played by 4EVERLAND in ensuring verifiable off-chain storage of data.
Snapshot is a revolutionary voting platform designed to streamline the decision-making processes for DAOs, DeFi protocols, and NFT communities. Without Snapshot, each organization would need to devise a voting solution tailored specifically to its use case. Snapshot enables organizations to utilize customizable solutions with minimal effort required for setup. It allows highly tailored voting processes to cater to the diverse needs of different users and organizations. This customization encompasses various aspects, including the calculation of user voting power, selection of voting mechanisms, proposal submissions, and voting verification.
Snapshot’s uniqueness lies in its utilization of IPFS to store proposals and user votes, employing a technique known as “off-chain” voting. In this approach, the proof of user votes in the form of encrypted signatures is stored on IPFS rather than on the blockchain, ensuring that voters do not need to pay gas fees for transactions.
In essence, Snapshot is an off-chain, gasless, multi-governance client. Its results are both easy to verify and challenging to contest, making it a reliable tool for blockchain-based governance.
Snapshot’s voting mechanism is built around three core elements: spaces, proposals, and votes. Spaces act as the profiles or accounts of organizations. Proposals and votes are associated with these spaces. To create a space on Snapshot, users need an ENS domain, which is the only requirement to set up a space. This name serves as the space identifier and allows users to access their page on Snapshot, for example, https://snapshot.org/#/ens.eth, where ‘ens.eth’ represents the ENS name of that space.
Within a space, users can generate proposals and cast votes. Space admins have the flexibility to define the rules for proposal creation and voting by setting up specific voting and validation strategies. For instance, only users holding a minimum of 10,000 of a specified token can create a new proposal, and the voting power of users can be proportional to the balance of the specified token in their wallet. You can find more information about different solutions in Snapshot’s documentation.
Once a space is created, voting is conducted through proposals. Proposals outline the voting issue and include a voting system that determines the options voters can choose from and how the results are calculated. It is crucial that each proposal contains a snapshot block number pointing to an Ethereum (or any other supported blockchain) block number. The block number serves as a snapshot of voters’ balances, preventing manipulation through temporary token accumulation after the proposal is made. This is also why the platform is called Snapshot.
The outcome of a proposal is calculated based on the selected voting system. Each proposal adopts one of the following voting systems:
Single choice
Approval voting, where a voter can select multiple choices
Weighted voting
These voting systems are used to calculate voting results based on voting power. For example, in the latest proposal within the ENS space, the Security Council Members. This societal proposal aims to confirm a full list of 8 individuals as members of the Security Council. The voting will be a simple For/Against/Abstain vote on the entire list. If the proposal succeeds, a separate executable proposal will be put forward to deploy the Security Council smart contract and allocate the necessary roles.
Snapshot is a protocol that integrates various services with the aim of offering users a seamless experience. All repositories are open-source, and anyone can view and audit them at https://github.com/snapshot-labs. Each space, proposal, vote, and user action is added to 4EVERLAND Bucket, complete with an IPFS content identifier (CID).
The following wireframe outlines the architecture of the platform utilizing 4EVERLAND:
The infrastructure design of Snapshot consists of three main layers:
User-Facing: UI applications
Logic: Back-end servers coordinating the work of multiple services
Data: IPFS/Arweave storage solution, preserving information off-chain
The most crucial design aspect is its data storage solution, which is also where 4EVERLAND comes into play:
Snapshot has opted to utilize decentralized storage to supplant costly on-chain storage solutions. IPFS or Arweave, can meet this need from various perspectives: ensure transparency and gasless voting, enabling anyone to view, audit, and replicate data, and participate freely in DAO governance.
Snapshot has developed a microservice named Pineapple along with the corresponding JavaScript library pineapple.js to simplify the process of persisting data to IPFS. The combination of both ensures that data is successfully pinned as quickly as possible. This service supports the AWS S3 API, allowing the upload of JSON objects to the 4EVERLAND Bucket. The Bucket promptly responds to these JSON objects, swiftly carries out the pinning service, binds the data, and uploads it to Arweave for permanent backup, subsequently providing the respective IPFS CID and Arweave hash. You can see some of these services here.
After adding data to the IPFS network through the 4EVERLAND Bucket, users can access the data through 4EVERLAND dedicated gateway. You can view the integration of proposal signature and voting information in the example below: https://snapshot.4everland.link/ipfs/bafkreiag6mh2fjmegh5oqpbefomdxsigyflkwwqzhbzhbz5aez6nktn3qy
The choice of 4EVERLAND as the storage provider by the Snapshot team was not coincidental. Additionally, 4EVERLAND has several distinct advantages:
No Complex Development Needed: 4EVERLAND is compatible with the AWS S3 API, which allows for quick and easy integration without the need for complex development efforts.
Unified API for Multiple Storage Protocols: Through a unified API, 4EVERLAND supports simultaneous storage on both IPFS and Arweave, providing the flexibility of using multiple decentralized storage protocols seamlessly.
High Storage Efficiency and Low Latency: 4EVERLAND offers higher storage efficiency and lower latency, with an average response time of less than 100ms. According to feedback from Pineapple’s data, 4EVERLAND ranks first 99.99% of the time when compared to other storage services.
Combined Benefits of IPFS and Arweave: It leverages the content addressing features of IPFS and the permanent storage characteristics of Arweave, ensuring both data integrity and long-term preservation.
More: Robust security measures, scalability, intuitive user interface etc.
As blockchain technology continues to evolve, the collaboration between 4EVERLAND and Snapshot exemplifies the practical advancements in decentralized governance and storage solutions. This partnership has already demonstrated the potential for more secure, efficient, and scalable applications within the blockchain space.
Looking ahead, as 4EVERLAND continues to expand its support for additional storage protocols, it will further enhance Snapshot’s ability to reliably store all its data across multiple decentralized storage solutions. This increased flexibility will significantly bolster Snapshot’s scalability, ensuring that it can meet the growing demands of decentralized communities.