Skip to content

Solution: LP-0002 — Private M-of-N Multisig#87

Open
retraca wants to merge 6 commits into
logos-co:masterfrom
retraca:lp-0002-submission
Open

Solution: LP-0002 — Private M-of-N Multisig#87
retraca wants to merge 6 commits into
logos-co:masterfrom
retraca:lp-0002-submission

Conversation

@retraca

@retraca retraca commented Jun 11, 2026

Copy link
Copy Markdown

RISC0-based private M-of-N multisig primitive for LEZ.

Implementation: https://github.com/retraca/lp-0002-private-multisig

Members register voting commitments (SHA256("member" || nsk || multisig_id)). Voting generates a RISC0 receipt proving nsk knowledge without revealing which member voted. The on-chain program counts valid receipts and gates execution at threshold M.

Key design decisions:

  • member_set_root = SHA256(c0 || ... || cN) in the journal — proves set membership without identifying the voter
  • nullifier = SHA256("multisig/v1/vote" || nsk || proposal_id || multisig_id) — prevents double-voting per proposal
  • LEZ nonce constraint avoided: voting commitments are separate from shielded spending accounts
  • Four on-chain instructions: initialize, submit_proposal, vote, execute; error codes 6001–6011

See solutions/LP-0002.md for the full write-up, success criteria checklist, FURPS self-assessment, and terms acknowledgment.

@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown

✅ Validation passed

A reviewer will assess against the prize criteria.
ℹ️ Solution submission for LP-0002.
ℹ️ Checking repo: https://github.com/retraca/lp-0002-private-multisig


Automated check. See solution template and TERMS.

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.

1 participant