This project is part of the Solana Hackathon HYPERDRIVE.
SNS Reputation is a two-faceted initiative: Community-driven score and Algorithmic score.
The community-driven score allows users to upvote/downvote other users based on their behaviour. This score can be used to create on-chain reputation and see which users are more trustworthy than others. There is no moderation and it's purely community driven. The vote of each user is weighted by how much Solana they stake. If users don't stake they cannot vote.
The smart contract is currently deployed on mainnet at 4X9mF1yUx2ez6ifYCmr2aYJnX5DkKAxbu5QD93s7gooG
.
Smart contract bindings are availble in Javascript and Python.
The Algorithmic approach is here to complement the community approach. The community approach is incomplete and biased, this is why we need to provide a more systematic and quantitative solution. In order to develop a systematic approach we need to build a data set. There is no open source and public data set of suspicious address or transaction. Everything is kept private and monetized by companies. We believe there should be an open source data set available to the community to build the best models based from this and share their models. Eventually, the open source approach provides more value and should win. This is a public good we want to build. However, getting this data set is complicated and the data collection might take time. This is why the first step is to collect data from users reports.
To collect this data, we use a Cloudflare worker. This worker is responsible for gathering and processing user reports.
To report a suspicious wallet or transaction, follow these steps:
- Navigate to the SNS website: https://sns.id.
- Connect your wallet and enable the beta toggle.
- Click on the 'SNS Reputation' button located on the navigation bar.
- In the form that appears, enter the wallet address or transaction ID that you want to report.
- Provide any additional details in the 'Comments' section.
- Click 'Submit' to send your report. Our Cloudflare worker will gather and process your report.
algo-score.mov
To vote on users based on their behavior, follow these steps:
- Navigate to the SNS website: https://sns.id.
- Connect your wallet and enable the beta toggle.
- Go to the profile of the user on which you want to vote.
- To vote, click on the 'Upvote' or 'Downvote' button next to the user's name.
- Your vote will be weighted by how much Solana you stake. If you don't stake, you cannot vote.
- The smart contract will handle your vote.
community-score.mov
Remember, the aim of voting is to create an on-chain reputation and see which users are more trustworthy than others. It's purely community driven and there is no moderation.