Suem - Progress Update Thread (Nov to Dec 2020)

I am formally hired by MWC community as one of the fulltime developers from 1st Nov. 2020. First of all,
thanks for all of your donations and support in this open community!

I will update the progress here from time to time, normally monthly or weekly but not strict. This thread is for the remaining time of 2020, there will be another thread for next quarter.

1st week

Not much in the 1st week, the main works are these:

  • Start a little on the code framework, main coding is committed into These initial code can help to figure out the picture of the detailed workloads on each related module. I’m not trying to make the code works at this moment, just trying to touch everything related.
  • Backward Compatibility draft and discussion on here (I will move it into the Forum once @privateidentity set up forum for mwc comunity). After I think over it again during the code framework stage, I should be able to turn it into a document of doc folder.
  • Some PRs in
    rust-secp256k1-zkp repo. Especially a very nice performance improvement in PR3 (pick from Grin repo), I like this improvement.

Next week should be still focus on the main code framework for both NIT and SA features.

(Note: moved from personal gist for previous week’s report)


2nd week

A little progress on the new transaction structure and a rfc-style document for this NIT+SA feature:

  • 3 more commits into mainly on the new transaction structure. it’s a little bit complex because we want to keep both transaction schemes, so the current transaction data structure has to be kept.
  • trying to figure out whether taking the new structures for block, or use enum for that, which is simple in data structure but complex in code readable. i will try it a little in both to see how it feels in next week.
  • Some issues or bugs fixing: PR#27, Issue#8, Issue#25.
  • Draft RFC style document for NIT and SA feature, posted into forum, requesting for proposals.

Next week should be still focus on the main code framework for both NIT and SA features.


3rd week

Diving into the feature coding, in this whole week.

  • 2 more commits in this week.
  • A major refactoring on the Inputs signature validation design, I was putting this validation in Output validation logic which is together the bulletproof validation and TxKernel signature validation. But after jumping out to overview the whole validation logic, I find it’s much better to put Input logic stick to the Input validation, which always use the chain state to check whether an Input is spending an UTXO, we just need to add here an additional validation for signature.

Next week I plan to trying the build on these new scratched code, so as to continue importing more coding into more related module.


4th week

Still diving in the feature coding in this week.

  • only 1 commits in this week, for part of building error fixes.
  • some PRs in secp256k1-zkp repo and the related PRs in rust-secp256k1-zkp repo. Mainly for an easy-life optimization on ser/deser of keys, and enable the Travis-CI tests for secp256k1-zkp repo, including some fixes to pass the tests.
  • Discussion on a finding by David in the NIT paper, reviewing on a fix solution.

Next week, the building errors should be clean-up and try to move forward on the coding part.

1 Like