Sismo Release Notes #2
🎭

Sismo Release Notes #2

We have added Gitcoin Passport as a Data Group. This integration takes Sybil resistance to another level and makes it accessible to any Sismo Connect app.

ℹ️
Gitcoin Passport acts as an aggregator of decentralized society credentials. Users collect "stamps" from different web2 and web3 authenticators, such as Bright ID, Proof of Humanity, Twitter, and Google. These stamps contribute to a user's score, which then classifies a user as a "human" for Sybil resistance. More about Gitcoin Passport

Gitcoin Passport Data Group

Size of the group: 114k accounts

Update frequency: Daily

Specifications: Have a Gitcoin Passport

This Data Group consists of wallet addresses along with their corresponding scores - value parameter in the Data Group - based on their Gitcoin Passport.

{
		"0x85ff01cff157199527528788ec4ea6336615c989": "29",
    "0x21d30f59957828e6ff9f3eddee97e5249f354cb5": "0",
    "0x04a89743aa0193be6e5c5ba19c9020dd79e09adb": "8",
    "0x6900145eed1f9de22ac5a2f4cd1581471ff053cc": "21",
    "0x076709f65b76f1430b18b0fb6fb423e4c5a481de": "21",
    "0xbf5d6a75814365ae9c100f98d435eb9d1c5a8c5b": "19",
    "0xe32483768a4eca1b0786fb5bd29c3fd1a6c65c67": "22",
    "0x4f0a07f1f705f0db9736ddc3c3b22a3eabecc5a0": "20",
    "0x1a5e1a75e1000333bca31941cb720477b225cc28": "24",
...
}

Request examples:

  • Prove me you have a score equal to 15 claimType = EQ, value = 15. Only users with a score of 15 will be able to access the app.
  • Prove me that you have score > 15 claimType = GTE, value >= 15. All users with scores greater than 15 will be able to access the app.

Level of Sybil resistance:

  • Moderate Sybil resistance: Gitcoin Grants use minimum score of 15 to be eligible to donate in the Beta round as we didn't want to exclude real humans and accept some low possibility of Sybils.
  • High Sybil resistance: Using score > 25 will ensure a very high level of protection agains Sybils but can exclude some percentage of humans.

Here is an implementation (from the Build a Gated Airdrop Tutorial) of a Claim Request that gates access to an app for all Gitcoin Passport owners with a score higher than 15:

import { SismoConnectButton, SismoConnectClientConfig, ClaimRequest } from "@sismo-core/sismo-connect-react";

// create a client config with an appId
const config: SismoConnectClientConfig = {
  appId: "0xf4977993e52606cfd67b7a1cde717069", 
}

// claim request for a proof of "Gitcoin Passport holders" group membership
const gitcoinPassportClaim: ClaimRequest = { 
    // id of the group gitcoin-passport-holders
    // https://factory.sismo.io/groups-explorer?search=gitcoin-passport-holders
    groupId: "0x1cde61966decb8600dfd0749bd371f12",
    // users should have at least 15 as value in the group to claim the airdrop
    value: 15,
    claimType: GTE
};

export Component() {
	return (
		<SismoConnectButton 
	    // the client config created
	    config={config}
	    // request a proof of "Gitcoin Passport Holders" group membership 
	    claim={gitcoinPassportClaim}
		/>
	)
}

Other Sybil resistant Data Groups

👉 Create your first Sismo Connect App with this tutorial: https://docs.sismo.io/sismo-docs/build-with-sismo-connect/tutorials/onchain-tutorials/tuto

👉 Try out a “ready to run” Sismo Connect Apps: https://docs.sismo.io/sismo-docs/build-with-sismo-connect/run-example-apps