Skip to content

j-berman full-time development (3 months)

Justin Berman requested to merge j-berman/ccs-proposals:j-berman-7 into master


Work full-time 3 months on:

  • Integrating full-chain-membership proofs into Monero under RingCT.
    • As part of this CCS, I will submit PR's to the core Monero repository that do the following:
      • Implements the tree in C++ described in section 6.1 (paper, reference commit)
        • Implements the grow and trim algorithms (sections 6.1.1 and 6.1.2)
      • Implements tree initialization with existing cryptonote outputs on boot (section 6.2.1)
      • Implements growing the tree as the node syncs (section 6.2.2 and 6.2.3)
      • Implements the transaction class containing FCMP's (part of sections 6.3 - 6.6)
        • I will probably extend cryptonote::transaction to do this.
    • The following tasks from the rest of section 6 are necessary to complete the integration; I'm happy to divide and conquer if someone wants to work on this as well:
      • Implement transaction construction with FCMP's (sections 6.3 - 6.6)
        • A pre-requisite for this is implementing the transaction class above.
      • Implement transaction verification (section 6.7)
      • Implement RPC route to return a path for outputs (section 6.9)
      • Implement unifying the distribution of {coinbase, pre-RCT, RCT} outputs and use it to select decoys paths (section 6.10)
      • Implement changes for multisig (section 6.11)
  • Continuing Seraphis wallet library work.
    • My next task on this front is to bring the Serpahis lib async scanner into the current wallet API.
      • To be clear, this is not implementing the Seraphis upgrade; it is bringing the Seraphis wallet library, which supports scanning today's blockchain, into the core Monero repository. This would speed up wallet scanning today, and is part of an effort to deprecate wallet2 and its technical debt, and replace it with the Seraphis lib (source).
      • The async scanner is currently under review (source)
      • In the latest round of benchmarks, I observed scanning speed-ups of 50-60% with a clearnet remote node, 40-45% with a tor node, 25-35% with a local node, all running the current chain (not Seraphis).
      • To be usable in the wallet API today, the following still needs to be implemented (I'm also happy to divide and conquer here):
        • Pre-RCT index handling (needs source)
        • A mutable subaddress lookahead (source)
        • Pool scanning (source)
        • A clean way to save tx metadata (source)
  • Complete p2p SSL review (source).
  • Misc. review, debugging, etc.


j-berman on github / jberman on matrix / IRC

Past CCS's:


376 XMR

480 hours, 0.25 XMR/hr + $65/hr, $122/XMR from coingecko

I'm requesting a siginificant raise from my past CCS (0.16 XMR/hr -> 0.25 XMR/hr, $48/hr -> $65/hr) because I believe I have demonstrated improved performance, and believe the recent donations to CCS proposals demonstrate the community is capable of paying strong Monero contributors market / above-market rates. I believe paying market / above-market rates for strong contributors is a stronger strategy for Monero to attract and retain strong talent.

Edited by Justin Berman

Merge request reports