Mimblewimble Progress Update Thread

Hi everyone!

I’m David Burkett, the developer of Grin++. I’ve been working with ecurrencyhodler, Charlie, and others for several months now to design a Mimblewimble extension block so that LTC users can have confidential transactions and more fungible money.

I spoke a bit about our progress at the LTC Conference last month, but for those who are unaware, we’ve published 2 new LTC improvement proposals (LIPs):

LIP-0002: https://github.com/litecoin-project/lips/blob/master/lip-0002.mediawiki
This describes extension blocks, and how they can be implemented and activated in LTC.

LIP-0003: https://github.com/litecoin-project/lips/blob/master/lip-0003.mediawiki
This is all about Mimblewimble on LTC.

After the conference, much has happened. The first big announcement is that the LTC Foundation has graciously decided to fund my efforts to implement the MW extension block, and to continue working on Grin++! More details about that will be announced shortly, but I want to thank you all for the opportunity.

Since that was announced, great progress has been made. On the Grin++ side, I’ve implemented payments via TOR. Mimblewimble requires interacting with the receiver to build a transaction collaboratively, so by using TOR for that interaction, we’re able to use familiar-looking addresses, a simpler set-up, and much better privacy.

Also, I’ve performed the first ever (AFAICT) pre-broadcast Mimblewimble CoinJoin. For those familiar with Mimblewimble, you may know that at the time transactions are included in a block, they are already joined with all other transactions in that block. The Achilles heel of mimblewimble privacy though, has always been that transactions are broadcast before they’ve had a chance to be joined with other transactions. That means nodes monitoring the network can see the original input-to-output links of most transactions. Sending a transaction directly to a CoinJoin server before broadcasting is one of many different techniques we can use to combat that.

On the LTC side, I started by familiarizing myself with the existing code by completing the LTC Dev Training Session. This meant starting with the latest bitcoin source, and making all modifications necessary to get it to sync.

After that, I got to work re-designing the Grin++ codebase in a way that will allow LTC to reuse Grin++ with minimal modifications. The design is beyond the scope of this update, but I’ll formally write-up the design sometime over the next few weeks and link it here.

Going forward, I will be providing monthly progress updates to keep everyone in the loop on what progress has been made. They’ll likely be much more succinct than this one, but I thought it would be good to take a few extra minutes with this first update to let everyone know who I am, where we’re at, and set some expectations for the future.

Thanks for reading, and thanks again for all of your support!

9 Likes

Thanks for the update David. We are excited to begin testing & using litecoin MW.

Plus the option to use coinjoin prior to a transaction would be a great benefit for those who need private transactions.

Do we have anyone working on a wallet that will support LTC MW? Loshan? Or Kerry?

3 Likes

David, it would be great if you could also post your updates on the large number of folks on www.bitcointalk.org in the Litecoin Thread.

Here is the link:

https://bitcointalk.org/index.php?topic=47417.new#new

It is silly that as large as that group is on www.bitcointalk.org NO dev seems to post anything of note

in any manner on there. It would also be nice to see monthly updates on there as well to expand the

info on litecoin on another platform.

later

Brad

1 Like

Hey David! Awesome to get updates on this thread. Great to hear the progress :wink:

1 Like