This replace was written and offered by Litecoin MimbleWimble lead developer David Burkett.
I’ve spent a while documenting the entire code modifications to help our auditors. For these , that is the present record of technical paperwork describing the MWEB modifications (a number of are solely partially full):
LIP-0002 – This describes the method for including extension blocks to LTC, together with describing how pegging-in, pegging-out, and integrating transactions work
LIP-0003 3 – That is our unique design for Mimblewimble extension blocks. It’s a bit outdated, however ought to present a excessive stage understanding of the way it works.
LIP-0004 – This describes our method to supporting one-sided txs, as a substitute of counting on interactive transactions like conventional Mimblewimble
LIP-0005 – I’m nonetheless filling in lacking information buildings right here, however this paperwork the P2P protocol modifications and describes how MWEB transactions and blocks are serialized
Consensus Guidelines 1 – Not a complete record, however describes a very powerful consensus guidelines
Kernels – Describes how kernels are serialized, the assorted options which are supported (e.g. lock top), and the way new options will be tender forked in afterward.
Information storage – Describes the brand new database tables and information recordsdata that had been added
Stealth addresses – How stealth addresses are generated, how we assist subaddresses, how addresses are serialized, and so on.
Pruned Sync 1 – Describes how pruned sync can be supported in future releases
Coding & Testing
I carried out my very own evaluate of the entire node logic to search for methods to enhance safety and efficiency, which resulted in quite a few enhancements to the code & design:
Kernel MMR is now per block, as a substitute of a perpetually rising MMR. It was decided that we don’t achieve a lot by having a cumulative kernel MMR, so switching to a per-block MMR means much less time spent hashing, and lots much less disk area wanted to retailer the MMR.
Switched from sha256 to the much-faster blake3 for all MWEB hashes.
New stealth handle format that’s extra in line with earlier handle sorts, together with having higher error detection.
Extra compact serialization codecs for all MWEB information buildings which is able to end in much less disk area utilization, much less information transferred between friends, and due to this fact barely greater throughput.
Higher check protection
Audits and Evaluations
I’ve formally handed off the ultimate code modifications and documentation to Quarkslab, so we should always have a extra detailed timeline from them any day now.
I’ve created a brand new code evaluate 5 with essentially the most essential modifications to the litecoin consensus code. It’s a lot smaller and extra centered than the libmw evaluate from a couple of months in the past, so hopefully we are going to get extra reviewers and sooner suggestions from different devs.
I’ve made slight modifications to the estimated timeline on wenmweb.com 23, however general, we’re nonetheless working towards MWEB activation on the finish of the yr.