Skip to content

Conversation

@ValarDragon
Copy link

@ValarDragon ValarDragon commented Nov 21, 2022

Starting some documentation for how I suggest architecting private voting into the DAO DAO design.

This is very WIP. If I get more time available during the week, will write up more on circuit design / other constraints!

Rendered readme - gives higher level overview, and where its expected to sit in with other modules

Rendered Spec - Intended to go into more details of cryptographic constructions, merkle trees involved, and client side UX. Still have a ways to go on this unfortunately

Code - Not started yet

@0xekez
Copy link
Contributor

0xekez commented Nov 22, 2022

this is really cool. i like your description of zcash and the idea here. it sounds reasonably intuitive, though i'm unfamiliar with zk proofs so i'm unable to verify it. :)

one note from reading through:

So the voting power a shielded voter has, must either be frozen at proposal start time..

we do all of our voting power as a function of block height so that this is the case. from your earlier interface, this makes it:

pub trait VoteModule {
  fn voting_power_by_addr(&self, addr: Addr, height: u64) -> Option<Uint128>
}

allowing voting powers to decrease may be fine though, so long as we don't also allow increases.

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.

2 participants