This update was written and provided by Litecoin MimbleWimble lead developer David Burkett.
——–
Coding
I’ve shifted away from writing new code so the MWEB codebase can remain stable while the auditors
perform their review. I’ve been focusing instead on rebasing our changes from the LTC 0.18 branch to
the LTC 0.21 branch.
For those unfamiliar with git terminology, what this means is we started with the code from the LTC
0.18 release (the latest at the time), and have been coding MWEB on top of that. However, LTC 0.18
is no longer the most recent code, since the release for LTC 0.21 is nearly ready. So I’m merging
the MWEB code we wrote onto the LTC 0.21 codebase so that we still have all of the latest features
(like taproot) in our MWEB release. This is a manual process that can be very tedious and time
consuming, since code changes that were made in LTC 0.21 could interfere with the changes we made to
support MWEB. These conflicts must be carefully addressed individually, which has been taking up
much of my time.
Fortunately, I’ve finally got all of the node changes merged and building successfully. I’m working
on fixing some failing tests, and then I will start doing the same thing with the wallet code. Once
that is all finished and reviewed, we should be able to make a pre-release to start testing how the
code works on mainnet. In particular, we’ll focus on making sure it communicates fine with older
nodes, validates and propagates transactions & blocks, does not prematurely enforce MWEB rules
before activation, and is able to successfully mine valid blocks.
Reviews & Audits
Members of the team developing Tari 12 were kind enough to
spend some time to give a high-level review of the design & code. They provided us with their
findings here 14 and here 10. In addition to finding a few potential
issues, they’ve also thoroughly documented their understanding of the changes, which can serve as a
useful resource for others trying to learn about MWEB.
Also, we received the official audit proposal from Quarkslab, which we’ve
accepted[*], so they will be officially starting their audit in just
a few days. This is expected to wrap up by mid-October, when we will be provided a report of all
findings. Once we address the issues found, we’ll be able to create an official release (release
number TBD).
[*] Thorough auditors like Quarkslab can make all the difference in the
success of a project. Unsurprisingly, this means they can be quite pricey. By “we’ve accepted”, what
I really mean is Charlie has, since he generously chose to pay for this audit. We are very fortunate
to have him around ❤️.
I had to take some time off this month for personal reasons, so my update was a little lighter than
we’ve been used to. Things will be back to normal next month. Thanks for your understanding.