namada icon indicating copy to clipboard operation
namada copied to clipboard

MASP finalization plan

Open cwgoes opened this issue 2 years ago • 5 comments
trafficstars

Proposed order after reading through the issue backlog:

  1. [ ] Investigate the epoch transition proof issue and agree on a plan
  2. [x] Convert MASP to a native validity predicate (rebase and merge https://github.com/anoma/namada/pull/2051)
  3. [x] Check that our imported versions of the upstream MASP crates are the latest
  4. [ ] Implementing missing validation (https://github.com/anoma/namada/issues/1373 and https://github.com/anoma/namada/issues/1962)
  5. [ ] Check/fix unsafe validation (https://github.com/anoma/namada/issues/1374)
  6. [x] Audit MASP & MASP rewards
  7. [ ] Other stuff

cwgoes avatar Nov 05 '23 10:11 cwgoes

Ensure that wallets have an easy library to import to generate proofs that we can independently optimize.

adrianbrink avatar Nov 11 '23 13:11 adrianbrink

also check that proofing times don't scale with epoch sizes.

adrianbrink avatar Nov 11 '23 13:11 adrianbrink

Two points to check on the epoch transition issue:

  1. We should allow proofs with reference to past commitment tree anchors.
  2. We should allow unshielding from previous epochs (the user will receive fewer rewards, we can show a warning in extreme cases).

Together per discussion we think that these two changes should resolve the issue.

cwgoes avatar Nov 24 '23 09:11 cwgoes

Notes:

  • Rework to avoid unnecessary conversions on AssetType, which should be used all the way through to the edge of CLI client input.
  • Discrete conversions with threshold: amounts below conversion are currently left behind - we should just send them anyways, and later allow unshielding (with no conversions)
  • Check on proof generation time increasing (maybe more notes to convert?)
  • Check on duplicate SpendDescriptions, OutputDescriptions, etc. - seems to be the case in recent iterations of the client.

cwgoes avatar Nov 24 '23 10:11 cwgoes

  • Fix MASP verifying key / parameters loading (should only load once into memory when the ledger starts) (see reference here)

cwgoes avatar Nov 24 '23 10:11 cwgoes