November 7, 2022

What is Sismo and instructions for receiving a ZK Badge.

- What is Sismo

Sismo is an attestation protocol that issues tokenized attestations: Badges (Non-Transferable Tokens/SBT). This is similar to the OAT (On-chain Achievement Token) that many of us are very familiar with, but focused on decentralization, privacy, and usability.

There are currently two options for badges deployed on the Polygon network:
- Playground, permisionless protocol - any project or team can create a ZK badge specifically for their audience by using the team's implemented svg editor to create a visual image of the badge, and by entering accounts (Ethereum or Github) that will become a group of users eligible to receive your ZK Badge.
- Main, curated protocol - it presents badges created by Sismo team and released under its guidance.

You can see a list of badges here: Playground and Main

Users who want to create a attestations will be able to choose a wide range of criteria, which will determine those who will have access to the badge, such as "Gitcoin donaters", People who made a certain number of transactions in some of the networks", "People who used some of the services to bridge assets", etc.
Holders of these attestations can get some benefits in using services that support these attestations, or confirm their reputation in applications and protocols.
Attestations are easily accessible via Non-Transferable Token (ERC1155) representations known as Badges.

Sismo Badges are especially useful for:
Web2/web3 gated services
Reputations systems
Decentralized Identity curation

- Instructions for the use of the platform Sismo and mint of the ZK Badges

You need to go to the main site and in the right corner click on Sing-in to Sismo.

Then you will need to connect your wallet, after which you will see the following. Here you will need to sign the message in your wallet in order to create a Sismo Vault.

Sismo Vault is an encrypted vault that stores the necessary signatures you will generate for badge minting. Only you can decrypt your vault. That way, you can reuse source and target accounts without having to re-sign.

After signing the message, you will need to click to create a vault and confirm the transaction in your wallet

Congratulations! You have created your Sismo vault!

You can define owner accounts for your vault by adding any of your other wallets as sources or destinations. By default, all imported accounts (source and destination) are set up as owners. By logging into Sismo under the owner account, you have access to the entire repository.

The system will then prompt you to create a Backup key, which you will need in case you lose access to your wallet, but with your Backup key you will be able to access your Sysmo vault. You can generate a Backup key right away or skip it and do it later.

On the application page in the upper left corner, you can click on the menu to switch between Playground and Main bages. In order to check if a badge is available to you, you need to click on this badge.

Since I have been making donations to Gitcoin I will show you as an example of a badge GR15 Gitcoin Contributor ZK Badge. My wallet, which I use as a source account, will get Prove Eligibility since I fit the criteria of a Gitcoin donator. Than you need to click next.

In the next menu you need to select the destination account. Destination account is a wallet to which you will be sent a badge. Yes, this is one of the Sismo tricks when you use source account to confirm your right to get a badge, but you can send and hold the badge to another wallet, thus keeping your main wallet anonymous.

ZK Badges - No link between sources and destination When minting a ZK Badge, you prove your eligibility by generating a ZK Proof from your source account. You will also generate a ZK Proof that you own the destination account. NO link between your sources and destinations is ever created!

By clicking on the select destination account, you will have the choice to send the badge to your already connected source account that was used to verify eligibility for the badge, or import another address, which will be the destination account, to which you will send your badge.

If you don't want to receive a badge on your main wallet, you need to choose to import account and follow the next steps
1 - Choose which wallet you want to use to send your badge
2 - In the wallet, select and connect to the site another account to which you want to receive a badge
3 - Sign a message in your wallet

If you select your main account as the destination account, the system will warn you that in order to maintain privacy, it is better to select another wallet to receive the badge. Since I will be minting the badge on my main wallet, I click "I am aware, continue".

So, we are at the finish line. Press "mint badge" and wait for the process to complete.

Congratulations, you have received your badge. Now you can go to your badge and see it in your vault!

Each badge has clear eligibility requirements as well as additional information. To read this information in detail, simply click on the badge.

- Summing up

Sismo is a promising project with an interesting idea, which offers a new approach to the creation and storage of badges, focusing on privacy and anonymity. It allows teams to create their own badges, distributing them among their community, while specifying the criteria for obtaining it. And users can confirm their right to receive a badge with their main account, but at the same time, if they want to maintain the privacy of the main account, without showing that they own this or that badge, they can send the badge to another account.

- Ressources

Mint badges: https://app.sismo.io/

Twitter: https://twitter.com/Sismo_eth

Github: https://github.com/sismo-core

Explore playground badges: https://playground.sismo.io/