Identities of the future run on iden3


Our TrustCommunity Playbook 🦁💙🐝

Posted by Sacha Saint-Leger on October 3, 2019

Without a powerful sense of community, even the best laws and institutions will remain a dead letter.”

— Benjamin Disraeli

Hello and welcome to TrustCommunity 💙 – an app we’ve built together with DeversiFi for Devcon V that offers a glimpse into the future of identity applications.

If you haven’t done so already, we recommend you read our previous blog post announcing it.

The main page for the app can be found at In this playbook we’ll cover the rules of the game, what’s in it for you, as well as some important points on security.


In short, there are four primary reasons to play:

  1. To create lasting connections with other attendees

  2. To experience generating and sending a zero-knowledge proof

  3. To make some money

  4. To have fun 😊🎉🎉

Game rules

The game involves connecting with other attendees and playing a prisoner’s dilemma type of game for tokens.

When you connect with another attendee, you’ll be given two options: betray 😈 or cooperate 😇.

Before you connect, you’ll be shown a live reward feed showing the reward you stand to get assuming you both choose to cooperate.

This reward comes from a global pot of tokens and goes up and down depending on how many attendees are connecting at that time: the fewer people connecting, the higher the reward, and vice-versa. Rewards will take the form of Nectar tokens.

Upon connection, you’ll have a 30 minute window in which you can choose to betray your counter-party. This will give you the chance to steal tokens from your counter-party (on top of the reward you stand to gain from the pot).

Note that neither of you will be able to see if the other has betrayed the other until the half-hour is up.

The rules of the game are as follows:

😇😇 If you both cooperate — in other words if neither of you betrays the other — you’ll both earn the advertised reward (from the pot) at the end of the half-hour.

😇😈 If only one of you betrays, the betrayer stands to make more than if she had cooperated — she’s able to steal money from the cooperator as well as earn a reward from the pot — and the cooperator loses money.

😈😈 Finally, if you both betray each other, you both stand to lose money (x percent of your current wealth).

Note that the tokens that you stand to earn can come from two places — either the global pot or your counter-party — depending on which strategy you choose.

The table below should help make things clearer.

Note that all rewards are from the perspective of player A, and that

p = current size of global pot of tokens

a = A’s current wealth

b = B’s current wealth

For example if player A betrays 😈 , and player B cooperates 😇, then A earns 10% of the pot (0.10p) in addition to 15% of B’s wealth (0.15b).

Rankings and Price Movements

Players will be ranked in real-time. You can check how your performance compares to other players at any time by visiting Note that to preserve pseudonymity, on this page your identifier is a hash of the public key of your identity.

You’ll also be able to see how the reward/price of cooperation has moved, as well as how the size of the pot has changed as a function of time.


For the purposes of this game, the identity you create will be stored on local storage in your browser.

Because of this, it’s important you don’t use private browsing, or clear your history, at any point during the game.

Should you accidentally do so, you’ll be able to reinstate your identity by visiting and clicking on recover identity.

Note that once you’ve created your identity, you’ll be asked to export a backup. You’ll need this backup to send a zero-knowledge proof of your participation, and claim your reward.

At the end of the game you’ll be asked to export it again (along with information about your connections).


f you have any general questions, or questions related to the rules of the game, please feel free to contact us on our twitter page.

For personal support questions, hit us up on our telegram account (@trust_comm).