This replace was written and offered by Litecoin MimbleWimble lead developer David Burkett.
——–
Documentation
I’ve spent a while documenting all the code adjustments to help our auditors. For these , that is the present record of technical paperwork describing the MWEB adjustments (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 authentic design for Mimblewimble extension blocks. It’s a bit outdated, however ought to present a excessive degree understanding of the way it works.
LIP-0004 – This describes our strategy to supporting one-sided txs, as a substitute of counting on interactive transactions like conventional Mimblewimble
LIP-0005 – I’m nonetheless filling in lacking knowledge buildings right here, however this paperwork the P2P protocol adjustments and describes how MWEB transactions and blocks are serialized
Consensus Guidelines 1 – Not a complete record, however describes crucial consensus guidelines
Kernels – Describes how kernels are serialized, the assorted options which might be supported (e.g. lock peak), and the way new options might be comfortable forked in in a while.
Knowledge storage – Describes the brand new database tables and knowledge information that have been added
Stealth addresses – How stealth addresses are generated, how we assist subaddresses, how addresses are serialized, and so forth.
Pruned Sync 1 – Describes how pruned sync will probably be supported in future releases
Coding & Testing
I carried out my very own evaluation of all the node logic to search for methods to enhance safety and efficiency, which resulted in a lot of 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 acquire a lot by having a cumulative kernel MMR, so switching to a per-block MMR means much less time spent hashing, and quite a bit much less disk house wanted to retailer the MMR.
Switched from sha256 to the much-faster blake3 for all MWEB hashes.
New stealth tackle format that’s extra in line with earlier tackle sorts, together with having higher error detection.
Extra compact serialization codecs for all MWEB knowledge buildings which is able to end in much less disk house utilization, much less knowledge transferred between friends, and subsequently barely larger throughput.
Higher take a look at protection
Audits and Opinions
I’ve formally handed off the ultimate code adjustments and documentation to Quarkslab, so we must always have a extra detailed timeline from them any day now.
I’ve created a brand new code evaluation 5 with probably the most vital adjustments to the litecoin consensus code. It’s a lot smaller and extra targeted than the libmw evaluation from just a few months in the past, so hopefully we are going to get extra reviewers and quicker suggestions from different devs.
I’ve made slight adjustments to the estimated timeline on wenmweb.com 23, however total, we’re nonetheless working towards MWEB activation on the finish of the 12 months.