# Noun Nyms

# Proposal: Noun Nyms

__special thanks to [Noun 40](https://twitter.com/noun40__) for delegating us a noun to make this proposal__

## Background

Personae Labs is exploring the future of pseudonymity in Ethereum.

We launched heyanoun.xyz (prop 150) as an early experiment in allowing private truths to surface. 

While we fundamentally believe that there's value in allowing controversial opinions to surface, we think heyanoun is far from healthy pseudonymity's final form:
1. it's impossible to engage with a heyanoun opinion pseudonymously
2. it's hard to filter spam/toxicity from actually useful discourse
3. users have no way to accrue 'reputation' to their pseudonymous selves

With this in mind, we're entering our next phase of iteration and we want to launch zk-powered pseudonyms and discussions for nouners. 

This will be the first implementation of our [simple persistent pseudonym](https://ethresear.ch/t/a-simple-persistent-pseudonym-scheme/14930) scheme. 

These both represent relatively ideas in zk-app development and represent a pretty large leap forward from existing capabilities. When we sat down to think about which internet community to pilot them for, the answer was obvious: Nouns.

We hope that through this work, we'll continue iterating on healthy discussions in the future internet together.

## Primary deliverables

We'll deliver a hacker news/reddit-style website with two primary features for nouners (verified by ZKP as with heyanoun v1):
1. persistent pseudonyms
2. threaded pseudonymous discussions

### threaded discussions

Heyanoun v1 messages can't be replied to or held accountable. While we often see situations in which users broadcast a message effectively replying to a previously posted message, threading isn't explicit.

In v2, we plan to make it possible to reply to an arbitrary previous message, thus enabling arbitrary discussion trees to form. 

We believe that this is crucial for re-engagement.

We'll build on the second idea briefly mentioned [here](https://ethresear.ch/t/a-simple-persistent-pseudonym-scheme/14930#extensions-10) to do so. 

As mentioned earlier, we're designing a hacker news/reddit-style interface for creating new discussion points and commenting on old ones.

### persistent pseudonyms

Heyanoun v1 had no sense of persistence in user identity. Users post messages into the ether.

We believe that with some notion of persistent pseudonyms, we can enable more interesting pseudonymous conversations between nouners. Persistent pseudonyms also allow for simple mechanisms of reputation and content filtering.

It becomes possible, for example, to filter discussion to just those discussions involving a well-known pseudonym.

Additionally, nouners will be able to bring their pseudonyms anywhere on the internet; only a specific nouner can generate the proof corresponding to a specific pseudonym. 

Although we won't be designing for this initially, this portability means that these pseudonyms can be re-used in other internet venues, similar to an ENS name. 

### (rough) user flow

We imagine the following user flow (designs pending):
- user generates proof of nouner-ship
- user picks pseudonym to attach to message
    - any pseudonym they've used before or a new one
- user picks message in-thread to reply to

In this way, nouners add pseudonymous messages with pseudonyms attached to one big nounish, pseudonymous discussion tree.

## Secondary deliverables

### downstream consumption by API

As mentioned above, the resulting 'data artifact' produced is a tree of proofs, pseudonyms, and messages. 

While today, the main consumption methods for heyanoun messages are twitter/discord bots, we want to open the API such that any nounish downstream site can pull relevant heyanoun messages into their site. 

### integration with spartan-ecdsa and further proving improvements

In parallel with our work on heyanoun, we've been working at [improving our technical capabilities](https://twitter.com/personae_labs/status/1621575568109223936?s=20).

With heyanoun v2, we'll upgrade our proving stack to the latest and greatest, which will result in considerably faster (<10s in most cases) proving times.

## Timeline and ask

We come to the DAO presenting an outcome we believe we can drive towards: zk-pseudonyms available to every nouner and a platform for those pseudonyms to have threaded conversation.

**Our ask to the DAO is $160k in helping us reach this outcome.**

As it's quite a hefty amount of new technology, we expect this to take ~6months for a team of 3-4 devs.

Restated from above, the deliverables:
- a new hacker news/reddit-style website, built around
  - pseudonym selection
  - zk-gated discussion threading
- APIs for downstream consumption of conversation
- integration with the best of our proving stack

As always, our code will be open sourced and made available for extension and re-use.

Outcome: EXECUTED