Luke Parker Profile picture
May 4, 2024 20 tweets 3 min read Read on X
I don't like posts that go

"Here's 10 reasons why MYBAGS is going to revolutionize cryptocurrency and also solve world hunger"

Even when there's something interesting happen, I don't like the exaggerated language.

I'm also wondering if we're in a Monero Renaissance.
I posted the written up proposal Full Chain Membership Proofs over RingCT on March 30th. Just over a month ago. It'd be notably slower than a Seraphis version and not forward secret. That means a Quantum Computer could break sender privacy, something considered inherent to RingCT
A week later, on April 5th, I noticed it allowed malleating output keys. Malleation isn't inherently bad!

Key image malleation? Bad. Enables double spends.

Output malleation?

???

So I looked into it.
Turns out, it's fine, and it changed output keys from xG to xG + aT (any xG key simply has a=0). I started wondering the impact of that.

It trivially gives you outgoing view keys. You now need the private keys x, a, to spend, yet only x is needed to calculate the key images.
This means cold wallets don't have to be brought online to calculate key images, multisig is a lot simpler, and you non-interactively audit the balance of public wallets. Really nice UX improvements, with a lot less technical complexity.
Then I noticed this same malleation offers forward secrecy, if we make one of the proofs forward secret (it wasn't already). This made my FCMPs proposal at feature-parity with Seraphis, despite not requiring a migration. It was still slower though.
On April 28th, I asked why not include old CN outputs, made prior to RingCT? They'd be compatible with this scheme, unify all the privacy pools, and make it so there's only one active set of protocol rules

(Right now, we still have logic for migrating TXs active which is a pain)
I posted the initial paper on April 23rd. It got largely final and in a feedback stage on the 27th. I was funded for my work on the 25th, and a earmarked fund for review and audits was funded on the 29th.

Tevador posted JAMTIS for this scheme on the 28th.
For context, JAMTIS was a new address protocol adding privacy and functionality. It was originally intended for RingCT, yet moved to being for Seraphis. Now, a version exists for FCMPs over RingCT. Kinda full circle there 😅
The new JAMTIS works with existing addresses and:

1) Gives them forward secrecy for all future outputs
2) Solves the Janus attack, except when trying to link a main address with subaddresses
If you only give out subaddresses right now, as Feather defaults to, you'll automatically gain the new privacy features *without creating and distributing new addresses*, once JAMTIS is live.
On April 28th, I also realized the proof will only incur *minor* overhead compared to Seraphis. Most of the performance overhead had been eliminated.

May 1st, moving to Ristretto was proposed (much harder to muck up, faster than what's currently done).
I actually proposed/campaigned for Ristretto years ago, so I find it quite funny to see here. That hasn't been accepted into the proposal yet and may end up in a future hard fork/never. I'd like to see it someday though :)
Then May 2nd, I proposed... redefining key images 😱

Theoretically, that'd make a new privacy pool requiring a migration and allow double spends! Right???

Nope. New key images can be calculated from the old ones. We'd be able to keep one global pool, with no migrations.
The reason for the redefinition is it'd remove ~25% of operations when adding new outputs to the database, and with a slight allowance regarding amount commitments as well, it'd remove something called "permissibility" which is a minor DoS vector (emphasis on minor).
That still needs to be discussed with the community at larger. I'm unsure it'll make the cut.

But with all the flurry of development and how much better it keeps getting, I'm incredibly excited ^_^

Just waiting for something to come back and bite me...
As for timeline, initially, it'll just be FCMPs. No forward secrecy, no outgoing view keys, no JAMTIS.

The goal is to keep it and lean and mean so it can be deployed as soon as reasonable.
Development is going well. The proving system we want to use, Generalized Bulletproofs (Generalized Generalized Bulletproofs if you're in the know) was recently proven by the wonderful Aaron Feickert @ @cypher_stack.

I'm reaching out to ZK auditors regarding components already.
The goal isn't to rush and force it through. It's to aggressively parallelize the work, including full review and audits, to minimize bottlenecks. With the proving system proven, we can audit its impl. While that's done, we can audit the circuit. Then, their joining. Etc.
All in all, I'm incredibly excited ^_^

Still wondering if I can consider it a Monero renaissance 🤔 At least a RingCT renaissance.

Here's hoping it continues well :D

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Luke Parker

Luke Parker Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @kayabaNerve

Sep 20, 2024
I think it's obvious I'm not a maximalist, but for anyone who didn't get the message, I just love privacy. I contribute to Monero because I believe it's closest to the private cryptocurrency I want *and* I'm able to make an impact there to get it the rest of the way.
That doesn't mean I haven't talked with developers from other projects, offering to help (Firo, Zano, a couple Monero forks), submitting disclosures (Dero, though I technically didn't talk with their developers), or even just doing my best to participate in the community (Zcash).
I'm not calling for any of these projects to die and I'm not saying any shouldn't exist. They can each be argued to have their own role. I may not always personally like/agree with their positions, but I respect their right to forge their own path.
Read 11 tweets
Aug 24, 2024
I debated making a thread yesterday on this. Now, with the question appearing in my feed (due to the engagement), I figure I'll throw my hat in the ring.

(1/n)
I debated commenting over the recent tweet by Monero about the first PR for FCMP++s being opened. A lot in the Monero community celebrated that extensively (even though it's still a WIP). It did raise my question "Why does the Monero community not have more fans of Orchard?"
It's trustless-setup privacy of practical degree equal to what Monero will have once FCMP++s go live. The folks at Zcash spent an incredible amount of time and effort on it and that deserves respect.

I think there's three likely comments.
Read 15 tweets
Jun 25, 2022
Another day, another disclosure. This isn't isn't as exciting, as it was only in... unreleased software 😱

But it does provide a comment on the intricacies of working with #Monero, along with @HavenXHV's ( $XHV ) work on integrating with @THORChain.
This does start with the $XMR side of things, and the considerations that must go into building wallets. There are two main issues people don't realize:

1) Lying about the transaction amount
2) The burning bug
Since Monero transactions are private, they don't tell you, or anyone, the amount. Instead, they have all the data needed for nodes to verify them, as well as for you to, and the sender attaches a short encrypted memo including the amount.
Read 18 tweets
Jun 23, 2022
August, 2021. The largest hack ever before in DeFi happens. >600m USD is stolen from @PolyNetwork2. A couple of weeks later, it's returned. Life's normal, for a bit. December, 2021? It was all at risk again, and this time, I was on the other end, with a new critical exploit.
So, how did we get here? A bit of background. Poly Network operates a set of SCs on each chain, to hold the bridge's funds, yet Poly Network itself is a Ontology fork which manages TXs and has its validators submit signatures. It's these signatures used in the SCs.
I first noticed a few simple lines of code.
github.com/polynetwork/po…
All transactions must be by whitelisted actors. The catch? It's RPC validated, not by the mempool. This means anyone connected over P2P would be able to submit TXs. I thought this'd be enough to crash it down.
Read 26 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(