Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] nullifier post #1

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

[WIP] nullifier post #1

wants to merge 12 commits into from

Conversation

Divide-By-0
Copy link
Contributor

@Divide-By-0 Divide-By-0 commented Nov 9, 2022

Things left to do

  1. Add colors to LaTeX'ed math
  2. Make the text inside a numbered list or LaTeX equation the same size text instead of bigger text
  3. Figure out how to add line breaks
  4. Spice up the post by adding some images (screengrabs from the slides?)

Done

  1. Added text to front page: If you’re excited by our mission, please reach out by twitter: our aim is to ensure everyone is included in the future of identity. To that end, we are especially excited to hear from traditionally underrepresented groups in technology, design, product development, research, or writing, such as women or bipoc.
  2. Added unique pseudonimity post
  3. Updated favicon to PL (moved to it's own PR)

Copy link
Contributor

@RiverRuby RiverRuby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love the overall structure of the post but think it's way too wordy rn. That can be fixed by cutting out extraneous explanation + adding in more diagrams to break up the text


This enables applications such as [semi-anonymous message boards](https://twitter.com/heyanonxyz), since a user merely needs to prove existence of at least 1 valid signature per message in order to be sure that such a message is legitimate. However, such applications have the advantage that there is no uniqueness constraint on the provers: that is, the same wallet proving themselves as a member multiple times is intended behavior. However, there are many applications that require a maximum of one action per user, like claiming an airdrop.

**One address <-> one nullifier**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think walking through why other solutions don't work is a super useful exercise, but it's just way too much text. Maybe if you did a numbered list of options? Or a table comparing each of the methods and which properties they have / don't have?

description: "Unique pseudonymity??"
---

**ZK ID systems**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefer not using "zk-id" term here, personal taste. Also this intro section feels bloated/wordy, perhaps it would better function as a standard paper intro where it goes through the sections of the rest of the blog post

content/posts/nullifier.md Outdated Show resolved Hide resolved

Note that hash has to be a function that hashes directly to the curve, meaning the output is an (x, y) pair instead of a scalar. hash2 is a traditional hash function like sha256 or posiedon. This construction assumes the discrete log problem is hard. We use exponential notation here so you can apply your usual intuitions about discrete log, but these exponentiations are actually implemented as elliptic curve multiplications.

```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just use a picture here of LaTeX equations? Instead of putting text in directly?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yup, made it into LaTeX -- can't figure out how to properly line break and colors are annoying so might just screengrab instead


We hope that people will choose the appropriate algorithm for their chosen point on the interactivity-quantum secrecy tradeoff for their application, and hope that including this information helps folks make the right choice for themselves. Folks prioritizing shorter term secrecy, like DAO voting or confessions of the young who will likely no longer care when they’re old, might prioritize this document’s nullifier construction, but whistleblowers or journalists might want to consider the semaphore construction instead.

**New usecases enabled**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section feels like a bit of a repeat of previous examples covered. Maybe it'd be better to just mention all of these at the start and end with the definition of the nullifier?

@lsankar4033
Copy link
Collaborator

lsankar4033 commented Nov 22, 2022

Love the overall structure of the post but think it's way too wordy rn. That can be fixed by cutting out extraneous explanation + adding in more diagrams to break up the text

Agree with wordiness; I think more paragraphs can be broken at natural clause breaks to make the piece punchier.

But also may be too much effort at this stage and excited to see this go out! Imo not strictly necessary to do this prior to posting.

@lsankar4033 lsankar4033 self-requested a review November 22, 2022 21:56
@Divide-By-0 Divide-By-0 changed the title added incompletely formatted nullifier post [WIP] nullifier post Dec 7, 2022
@Divide-By-0
Copy link
Contributor Author

Vivek feedback:

  1. formatting rn makes it super hard to read, in particular the headers are h3 and that's kinda the same size as the text, easy fix to just use h1

  2. storyboard / outline is hard to parse from headers cuz they're not very descriptive and they're all at the same level. adding more sections (and unfortunately a bit more introduction/conclusion type fluff) would really help with readability. and then a table of contents at the start would be perfect

  3. i'm tryna be a fully LaTeX blog for our theoretical posts LOL so i'd appreciate doing something similar to the efficient ecdsa post where you have a table of variables and then walk through each of the steps in LaTeX instead of screenshotting your slides. this is gonna be slightly annoying but is so satisfying when it's finished. and you can pull the CSS from ecdsa post, i grinded so hard to make everything look pretty and work with hugo loool

  4. the title "Unique Pseudonymity on Ethereum: Verifiably Deterministic Signatures on ECDSA" is a mouthful, can we try Nomen or Plume or something flashy even if it's not final lol
    and then more opinionated ones:

  5. The "ZK systems" blurb is a lot of repeated ideas from the previous efficent-ecdsa post. maybe we could make that easier for people to parse by either using the same vocabulary from the other post or just link to the other description in a natural way?

  6. Would the quantum-secrecy tradeoff section be better as an appendix? and then maybe you can go into more depth on the stuff you brought up. also the attached diagram seems like it could be plotted better (with two axes?) but i'm not actually sure what that is in practice

Aayush Response

Re Tex-ing all equations is annoying due to color and layout
I'd j rather not if the pic is good enough
All the rest I can do
I don't see how 2 axes would help tho
Structure as appendix works, my personal style is anti appendix bc I want a conclusion to take into account all factors including appendices, but it's a good point that its not critical for core post

Vivek response

yeah no appendix is fine
but i'm gonna be more annoying about latex
i also think the colors are not that helpful
table of variables could be just as readable
it'd be really dope if we could have the table of variables as a dropdown in the header so ppl could refer to it as they're reading the post
yeah not 2 axes but this diagram is kinda hard to parse idk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants