Let's talk about Identity in the Citizens' House

Citizens’ House

The citizens’ house is interesting to me because it aims to create ties between individuals and the governing protocol. This means the reputation tied to your soul(s) is important if you want to become a trusted source in the long run. But how should that work?

Questions and topics for discussion

  • How is citizenship granted? Airdrops are not a good option, do we grant it to individuals in this forum?
  • Are “souls” public keys/addresses or are they non-transferable tokens as well? (Which brings up the interesting topic of social recovery)
  • Should we be able to revoke citizenship? I think it would be important to figure out a way to remove bad actors, but doing it in a way that is censorship resistant is non-trivial.

Soulbound resources

These are the resources I have found on Soulbound Tokens, if you have any additional ones or Optimism related ones, please send them over to me.

Note: I originally posted this in the governance category, but this is probably a better place for it

7 Likes

I would like to add that we also consider ways to promote those that act in good faith and not just focus on punishing bad actors. I’ve seen posts focusing on punishment, but not enough on positive reinforcement.

In doing so, we potentially set an example for “bad actors” to reform and become productive citizens of The Collective.

8 Likes

@Vikram I love it, positive reinforcement can manifest in a bunch of ways. Immediately my mind goes to payment, but sometimes recognition is enough. NFT badges can be issued to Souls as a way to positive/optimistic behavior.

I guess I usually think with an adversarial framework first to ensure security. Thank you for reminding me to also pay attention to the other side of the spectrum.

2 Likes

This is a really interesting set of questions!

In terms of granting citizenship I actually can’t think of a Sybil resistant process that would work outside of either meeting in person or in significant numbers of online meetings. I’ve recently completed the BrightID verification process, where you attend a short video chat and prove that you are a real human, but having done so it’s clear that you could attend multiple meetings and the hosts would have no way to know you aren’t new, but are just authenticating multiple accounts. I haven’t tried Proof of Humanity yet but I suspect it has similar limitations.

Accounts with a long history of POAPs could potentially be used, it would be pretty difficult (or at least time consuming) to attend loads of events and DAO meetings etc under multiple accounts, but it would also be exclusionary as not everyone who we might want to include as a citizen will have a long enough history.

It’s a really tough question, and solving it is probably going to be one of the most important next goals for the Optimism Collective.

Regarding souls, yes I absolutely think they should be linked only to social recovery wallets, it would be heartbreaking to read stories every week from contributors who have lost access to their wallet and therefore lost their soul! The only real mass-adoption ready social recovery wallet I know is Argent, which doesn’t support L2s other than zkSync, so maybe we need to allocate some funds to get an OP native one built.

As for revoking citizenship. Tough one to be honest, but I don’t think so. If we have strong enough Sybil resistance that users really do only have one citizenship account then this will end up as the basis of a lot of reputation. If someone is found to have been doing something bad enough that you would consider revoking citizenship if it were possible then presumably they would have a severely tarnished reputation. Unlike the Token House where a bad actor could theoretically buy they way to more power, I envision the Citizen House as a governance structure where everyone has an equal vote, therefore the consequences of someone making intentionally negative decisions would likely be minimal. I guess that does depend a lot on how the structure of that model works.

4 Likes

brightID is working on sybil resistance with their Aura project. It’s still in beta.

2 Likes

Thanks!

This is what I would imagine would happen at the beginning. A top down issuance and coordination from the Optimism Foundation.

This seems like a good approach. There would need to be an additional check to ensure the POAP wasn’t just transferred from a farmer or a third party. I’ve actually been thinking about modifying the POAP to be non-transferable. This would require a more intimate transaction of badges between the issuer and receiver that may give more weight to the badge.

It looks like I have some homework to do! I’m not familiar with Argent yet.

Perhaps this one isn’t the most important to focus on atm because of what you pointed out.

1 Like

Revoking citizenship seems like bad idea for corruption, the only thing I think we should really only consider revoking citizenship for is perhaps a duplicate token (a person having more than one) besides that it seems likely a revoking of citizenship is an easy way to corruption.

Yeah I think you and @Vikram have the right idea. The focus should probably be on the optimistic path and positive reinforcement.

Proof of Humanity actually prevents sybils from registering. The registration requires a deposit, and if someone finds the submission you are trying to register is a duplicate of another one, you can be challenged and lose the deposit. (Disputes are settled on a Kleros court)

In the future, solutions like sismo .io will create an anonymization layer for POH, with zk-proofs and SBTs.

I know that Gitcoin was planning to create an aggregator for different Proof-of-Personhood Protocols, that could be an option, but I don’t know if they have an ETA for that. https://proofofpersonhood.com/

4 Likes

Very cool. Soul Bound POAPs on Gnosis!

1 Like

Can I ask, why do you think Gnosis would be a good place to deploy? I personally don’t have a strong opinion either way atm

Proof of Humanity actually prevents sybils from registering. The registration requires a deposit, and if someone finds the submission you are trying to register is a duplicate of another one, you can be challenged and lose the deposit

That’s cool, but what are the chances of actually getting caught? If you space out your registrations over time it seems fairly minimal risk unless there’s some other factor I’m missing?

I know that Gitcoin was planning to create an aggregator for different Proof-of-Personhood Protocols, that could be an option, but I don’t know if they have an ETA for that. https://proofofpersonhood.com/

Yea, Gitcoin forums are basically my entire source of info on Sybil resistance!

this is an excellent point, take an example of what’s going on now on this forum, number of comment related to punishing bad actors is way more than comment on Phase 0 proposal. At the same time, we should not give incentive to positive behavior that people are afraid to express criticism.

It’s hard to know to be honest, because we don’t see a lot of submissions trying to do that - because most people don’t want to risk a deposit over another identity. Having your profile removed also removes the person that “vouched” for you, so that’s another layer of security/associated cost.

The community has tools to find duplicates, like faces.humanity.tools, and if you challenge a registration successfully you should get around 0.1 eth (minus fees).

I’m biased because I’m an active member of the protocol, but I recommend you take a look at the submissions, try the tool above, and see what you think. :sweat_smile:

2 Likes

This is quite challenging, @MinimalGravitas has already mentioned BrightID and PoH, but brightID is not full sybil resistance and PoH needs fund for verification, you get that fund back but its needed initially which I dont like. Amount of fund is relative, if they can just accept the application on the basis of MM signature, like they do during snapshot, that would be great.

Other approach would be combining different option together to build credibility, presence on this forum, twitter, attestation from project on discord, things like, combine them together to prove your credibility. That not enough, may be join meetings, go and attend local Op ecosystem seminar/hackathon. Make is point base, once you have a sufficient number of point, you get the citizenship.

Are “souls” public keys/addresses or are they non-transferable tokens as well? (Which brings up the interesting topic of social recovery)

Non-transferable with social recovery, again Argent is a solid working example.

should we be able to revoke citizenship? I think it would be important to figure out a way to remove bad actors, but doing it in a way that is censorship resistant is non-trivial.

Yes, I agree, there should be an option to remove the citizenship. But important is to agree on definition of bad actor, what makes a citizen a bad actor? are there any set of rules, best practices, I think this is second important question. One approach would be, gov model, if someone found and proven bad actor from the gov voting his/her citizenship would be revoked.

I agree with this, as far as possible Optimism and its community should be able to establish their own mechanism or depend minimally on other ID systems (as an extra it may be). Precisely I think that the delegates already relatively identified as unique identities, we can take a role as initiators, curators, but the mechanism to avoid malicious behavior should be well thought out.

5 Likes

I’ve been thinking about citizenship a lot lately as we have recently had federal elections in my country of Australia and every citizen is legally required to vote.

While you can argue either side of the coin on that one, I think somehow connecting citizenship to voting is an interesting concept. Obviously people are busy and can’t always vote on every proposal, but it could be a time based thing, like voting once a year minimum etc.

The other part of that would be that voters need to pass a test (similar to the airdrop test) for the vote in order to ensure they understand what they are voting for. To incentivise engagement there could be financial rewards as well, that function kind of like how people get paid for doing surveys. It doesn’t have to be a lot, but enough to imply that engagement is rewarded.

interesting take, this voting would be one address one vote or vote would be proportional to number of token that address hold?

Ideally it wouldnt matter how much OP the user has, provided they are a citizen. The idea is focused on continuing engagement from citizens to make OP stronger, but the first vote could be part of gaining citizenship.

With soulbound tokens, what’s to stop someone essentially emptying and then selling their whole wallet / seed phrase to someone else? I don’t think there’s an easy way to do this at the moment, but I could imagine it wouldn’t be super difficult to set up a mechanism to do this, or am I missing something?

Perhaps being a citizen, rather than a one-time / short-term thing that’s awarded with a single token, it’s also weighted depending on participation? So e.g. someone who is very active for two months has a right to be involved in decisions at the end of that period, but if they were then to stop participating for a year, they have less of a say in what happens then?