-
sarang
Well, that was a fun IRCCloud outage
-
MRL-discord
<Isthmus> Argh, IRCcloud still down
-
MRL-discord
<Isthmus> When was "hard fork 2"?
-
MRL-discord
<Isthmus> (referenced in a comment in the code)
-
MRL-discord
<Isthmus> Is that v0.9.4 from height 1009827?
-
sarang
test
-
sarang
Clearly I spoke too soon about the IRCCloud outage...
-
selsta
At least they said they will look into having backup network infra.
-
sarang
I didn't get a chance to review my action items during the meeting due to network issues, but here they are
-
sarang
With sgp_, getting a blog post up about auditability (I'm finding it tricky to present the risks/tradeoffs clearly)
-
sarang
Finalizing encrypted timelock stuff (currently in progress)
-
sarang
Getting CLSAG out (pending suraeNoether)
-
sarang
And doing a review of the interesting new BLAKE3 tree-based hash function
-
sgp_
The blog post is pretty important, probably overdue
-
sarang
The current version separates risks/tradeoffs by transparency vs. non-transparency
-
sarang
I'm thinking through whether it would be more clear to separate them by class of exploit/flaw: breaks of cryptographic hardness assumptions, detectable inflation flaws, non-detectable inflation flaws
-
midipoet
audibility at the wallet/transaction level, or at the network/supply level?
-
sarang
Supply auditing
-
sarang
Make it clear that a transparent ledger is not immune from bugs that could affect users, nor are non-transparent ledgers
-
midipoet
there was a really good discussion on reddit about 18 months ago about this. perfectly blinding/hiding vs perfectly binding (is that the correct terminology?)
-
sarang
IMO a hardness break is _extremely_ unlikely, and such a thing would probably affect general DL-based security (including Bitcoin keys)
-
sarang
I've come to dislike the hiding vs. binding discussion, because I think it too narrowly focuses the problem
-
sarang
Better, I think, to discuss in terms of practical risk
-
sarang
Transparency has a whole set of practical risks
-
sarang
Hardness breaks do too, but are balanced by being considered exceptionally unlikely
-
sarang
Detectable flaws are way more likely... while they could be "rolled back" in some sense to avoid supply problems, you could still get screwed over as a uer
-
sarang
*user
-
sarang
e.g. Zcash says (correctly) that transparent migrations avoid supply inflation in particular pools, but honest users can still lose funds
-
sarang
or e.g. Bitcoin's inflation bug
-
sarang
or e.g. Monero's detectable key image bug
-
sarang
Undetectable inflation is another class of risk
-
sarang
But I'm having a hard time clearly delineating and differentiating these risk types
-
sarang
I think a good takeaway message is that there are risks and tradeoffs with the design choices of _any_ project, and how you prioritize those risks can/should influence your choices
-
sarang
and that choosing a transparent asset does not guarantee safety of funds in all cases
-
» sarang is done now
-
midipoet
i dont think a supply audit is about guaranteeing safety specifically is it?
-
midipoet
it's about perfect knowledge of supply that is network symmetric (known to all nodes)
-
sarang
I think there's some relationship
-
sarang
Suppose you discover an inflation problem in a transparent asset; what happens next?
-
sarang
If you roll back, users can get screwed
-
midipoet
so it becomes a verifiable characteristic of the asset in question, as apposed to a presumed characterstic
-
sarang
If you don't roll back, your supply has changed
-
sarang
And if anything, there could be a subset of risks that are "detectable but not yet detected"
-
sarang
Any ideas for the best way to present all this?
-
sarang
I think the post should make it clear that there absolutely are risks/tradeoffs with hidden amounts when it comes to supply; but it's not like transparent amounts suddenly removes all risk from the equation
-
fort3hlulz
One of the keys to me is that, while it is a tradeoff, we view it as absolutely worth it for fungibility/privacy
-
sarang
Right; it's up to users to decide what their priorities are, and how that influences their choices
-
fort3hlulz
Transparency allows you to detect some inflation issues before you could in Monero, but just like you're saying -- what happens next? If you don't roll back, your golden cap is gone regardless of transparency
-
sarang
If people prefer the guarantee of eventually-detectable supply guarantees, then choose Bitcoin or something similar
-
fort3hlulz
Are you going to share about the difference between cryptographic bugs/issues and implementation bugs/issues?
-
sarang
as long as they understand the tradeoffs
-
fort3hlulz
And would absolutely love to see info/thoughts about turnstiles in there too as that affects any L2 implementation on Bitcoin like Liquid
-
sarang
You mean the difference between breaks in the cryptography itself, versus implementations?
-
fort3hlulz
yes
-
sarang
Like hardness assumption breaks? Yes
-
sarang
IMO that should not be the overriding concern
-
fort3hlulz
Just to make it clear that the much more likely issue is implementation breaks, which is why audits/more eyes on the code is key
-
sarang
If someone can break DL, everyone is screwed
-
fort3hlulz
yeah
-
sarang
Including Bitcoin
-
fort3hlulz
Thats why I want to be sure it's clear that imp breaks are MUCH more likely
-
sarang
Your supply is guaranteed, but such an adversary can probably nab all funds by recovering keys
-
fort3hlulz
Also (and this may be way too much info for a blog post) would like to see info in there about the cryptography being used in Monero being too "cutting edge" or "complex"
-
sarang
The initial blag post draft tried to make it clear that implementation risks are way higher
-
fort3hlulz
Thats a common thread I see as a followup to auditability concerns
-
fort3hlulz
Sweet
-
sarang
I wouldn't call it complex... the code gets pretty hairy, but that's more a development thing
-
sarang
The math is pretty straightforward compared to something like Zcash
-
fort3hlulz
exactly :)
-
fort3hlulz
It's a middle point on the sliding scale
-
fort3hlulz
intentionally
-
fort3hlulz
Will be an incredibly important post, as auditability seems to be a huge sticking point for many people moving from bitcoin to Monero.
-
sarang
Well, and that's an entirely different tradeoff having to do with centralized trust
-
fort3hlulz
For sure
-
sarang
i.e. no trusted setup means you don't get full-anonymity-set transaction inputs
-
fort3hlulz
I'd love to take a look at the blog post draft if you don't mind/want another set of eyes on it
-
sarang
Or I should say, you don't get it with practical efficiency that's useable
-
fort3hlulz
^
-
midipoet
i wonder if there is an analogy to fiat currencies. in fiat, we cannot effectively verify the supply, or guard against hidden inflation, as it's layered behind the complexities of governments, monetary policy, and all the baggage that goes with it. in fungible cryptocurrency, supply verifiability is layered behind the complexities of zero-knowledge schemes, complex math, and that other baggage ;-)
-
fort3hlulz
I don't like that comparison
-
fort3hlulz
Because
-
sarang
-
midipoet
fort3hlulz:
-
fort3hlulz
With Monero you DO have full transparency of emission-time supply
-
midipoet
it was sort of a joke
-
fort3hlulz
oh sorry haha
-
fort3hlulz
this stuff gets me riled up
-
sarang
My current draft is a fork of sgp_'s version, which is a fork of my earlier version
-
midipoet
it's not easy
-
sarang
It's blag posts all the way down =p
-
midipoet
but, can i ask, doesn't MW include a supply audit at the cut through?
-
midipoet
(if thats the correct terminology)
-
sarang
How so? They rely on balance through Pedersen commitment differences too
-
midipoet
isn't their whole scheme based on a recurring supply audit?
-
sarang
AFAIK a Pedersen DL break would imply inflation
-
midipoet
hang on, i will try and find a link that explains it
-
sarang
If something claims otherwise with detail, I'd like to read it
-
midipoet
as i definitely can't
-
fort3hlulz
sarang sgp_ great work on that
-
midipoet
-
fort3hlulz
Couldn't have said it any better, and a great quick read on the actual facts behind the choices involved
-
fort3hlulz
A+++ and easy for non-technical readers to grasp as well, I think
-
fort3hlulz
Now post it so I can share it broadly ;)
-
sarang
That version doesn't separate the discussion by risk type
-
sarang
and that's what I'd like to try next before posting anything
-
sarang
I think it could clarify the different tradeoffs even better
-
fort3hlulz
Tradeoffs of auditability/fungibility/privacy?
-
fort3hlulz
Or different implementations?
-
sarang
Tradeoffs in security/privacy/etc. and risk of inflation or fund loss
-
sarang
Which are not always neatly delineated by project/asset type
-
sgp_
I think the current version is good, but sarang is interested in a rewrite organized a different way. I'm partially interested in seeing what this could look like
-
sarang
You can have detectable inflation flaws in transparent or non-transparent projects, for example (and we have real-world examples of this)
-
sgp_
sarang: maybe start with an outline rather than a full rewrite?
-
sarang
So it's not like using Bitcoin magically makes you immune from all risks
-
sarang
yeah
-
sgp_
comparing outlines is probably more useful than comparing completed blog posts
-
sarang
good point
-
fort3hlulz
I, personally, think the current version is quite good -- only things I could see added is a note about the complexity a lack of fungibility/privacy adds to a users required steps (CJ, coin control, etc), and maybe something about what "happens next" in the event of an inflation bug in Bitcoin et al
-
sarang
Yeah; Zcash is another good example, because they've said what would happen in the event a transparent migration fails the supply check (remaining funds get locked forever)
-
sarang
And I don't like how this point is sometimes glossed over in their discussions of supply soundness
-
sarang
It would be a huge deal in practice for users
-
sarang
I'd also like to add links with some supporting details
-
sgp_
supporting links would be good
-
atoc
Hey suraeNoether. I know you are completing CSLAG, but I was just wondering if you got a chance to push the changes you have.
-
sarang
-
sarang
Consider it still incomplete
-
sarang
Hopefully this provides more clarity about different types of risks and benefits
-
sarang
I removed the title's specific reference to Monero, since this question is more broadly applicable
-
sgp_
Cool, will review
-
sgp_
Though I think some reference to Monero in the title is desired for people looking for answers to questions about Monero (in addition to other things)
-
sarang
Make a couple of minor edits for typos and clarity just now
-
sarang
Earlier versions are available via the revisions tab
-
sgp_
On a similar note, this certainly qualifies as misleading
twitter.com/least_nathan/status/1217528240664743936?s=19
-
sarang
Yep
-
sarang
That's why I specifically noted it in the post
-
sarang
It's technically correct, to a point
-
sarang
I noted "eventual supply consistency" to mean that a particular pool's supply can't be inflated through the migration
-
sarang
but that you risk getting your funds frozen
-
sarang
That might be the "various tradeoffs"
-
sarang
Oh yeah, he notes the possible harm to users in the next tweet
-
sarang
Although: it's tricky because the supply _within_ a shielded pool could absolutely suffer inflation in case of a soundness flaw
-
sarang
It's only the transitions that can catch this
-
sarang
-
sarang
Hmm, but I don't see how this can possibly be correct:
twitter.com/least_nathan/status/1217829034807189505
-
sarang
I think the necessity of so many tweets on the topic highlights how it's subtle and tricky to properly inform people of the risks/tradeoffs
-
sgp_
I asked for clarification
-
sarang
I asked in a zcash dev chat as well
-
sarang
I think Nathan is mistaken here
-
sarang
But if not, I can somehow note this in the post
-
sarang
Regarding this, it'd probably be possible to modify the Monero protocol to do a similar kind of transparent migration:
twitter.com/least_nathan/status/1217827459397144576
-
sarang
(but I think it's a really bad and dangerous idea to do so)
-
sarang
Any comments or suggestions on the new blag post, aside from checking on the transparent migration stuff?
-
fort3hlulz
reading now
-
fort3hlulz
+1 for using shenanigans in the post
-
fort3hlulz
Much better, and love all the source links now
-
fort3hlulz
nice job guys
-
sarang
Thanks
-
fort3hlulz
Any ETA on publishing?
-
sarang
I'd like additional feedback
-
sarang
Then I can do a site MR
-
sgp_
-
sgp_
thoughts?
-
sarang
In the case of a direct cryptographic break on Pedersen commitments, no.
-
sarang
That sentence is a bit odd
-
sarang
in any remaining funds (including those of honest users) would be permanently frozen.
-
sarang
would be... that's a grammatical mistake
-
sgp_
oh yeah, I copied it over incorrectly, give me a sec
-
sgp_
sarang: I removed the one sentence
-
sarang
Any word on the Zcash migration question?
-
sarang
I haven't heard back on the dev chat
-
sgp_
nope
-
sarang
I don't want to post without confirming that
-
sgp_
sarang: confirming what, the requirement that t-addresses are necessary?
-
sarang
But I don't see how they can confirm value pools in a verifiably countable way without transparency
-
sarang
Yes
-
sgp_
I think it's likely he is making that statement with some carefully-worded technicality and that your statements are also correct
-
sgp_
but it's good to check
-
sarang
Yeah, and perhaps best to provide the Zcash team with the draft in advance, as a professional courtesy
-
sarang
I'd certainly appreciate it
-
sgp_
let me message Nathan
-
sarang
I'm not suggesting asking for their approval, only a chance to correct any factual mistakes
-
sgp_
sarang: can you please check my minor edits and re-approve? Then I'll send over
-
sarang
any remaining funds (including those of honest users) would be permanently frozen.
-
sarang
s/would be/being
-
sarang
Otherwise send it over and ask if they have any comments
-
sarang
Hopefully they appreciate it since it applies to them as well
-
sarang
I don't hear as much talk about Zcash commitments relating to supply compared to Monero
-
sarang
Their use of commitments is slightly different for efficiency reasons
-
sarang
But the same ideas apply
-
sarang
suraeNoether: you on IRC today?
-
sarang
Looks like Zcash _could_ retire transparent addresses and still do a transparent migration by revealing amounts in single transactions without relying on separate addresses, FWIW
-
sarang
Heck, you could do that in Monero too if you really, really wanted to (but let's not...)
-
koe
why hasn't bitcoin implemented stealth addresses? they are pretty straightforward and just require 32 bytes per transaction (or is that too much lol)
-
andytoshi
an extra 32 bytes on every output, which are usually not even 32 bytes in size, would indeed be a lot
-
andytoshi
as would the ECDH computation required to receive things
-
andytoshi
there are like 5000 outputs per block, if wallets had to do a 50us ECDH computation on each one that's 250ms ... or an extra 42 hours to scan the chain
-
andytoshi
sorry, i'm exaggerating, it's about 25 hours i think (400MM outputs total times a quarter second)
-
andytoshi
but syncing bitcoin currently takes only a few hours on a fast PC
-
koe
wow didn't realize it was that substantial
-
andytoshi
there are ways to make it much faster but then you're into weird bikesheddy design territory
-
andytoshi
e.g. requiring users to grind their keys so that you can cheaply do an hmac on them, for which the first ten bits have to be zero
-
andytoshi
then wallets can skip the ecdh step for 1023/1024 of all outputs
-
andytoshi
but now you've got another hmac key to keep private, there's a question of how many bits to grind, a tradeoff between verification speed and generation speed, a choice of hmac, a choice of what to put into the hmac, etc etc
-
andytoshi
and you'll never get a standard out of that because the whole thing is too ugly
-
koe
doesn't really engender optimism about scaling both bitcoin and monero, albeit beating a dead horse there
-
andytoshi
sure, the existing crypto has scaling which is not good enough for bitcoin (and puts a high cost on monero users, who are selected for being willing to bear it)
-
andytoshi
but things are getting better
-
andytoshi
multiple times a year there are new crypto breakthroughs which make the situation better. bulletproofs were huge
-
sarang
Or rather, not huge :D
-
» sarang will show himself out
-
koe
is there an estimate of the upper limit to scaling improvements? is it just equivalent to Visa's servers?
-
andytoshi
as evidenced by snarks, which allow constant-time verificatino of arbitrarily complex statements, there appears to be no limit
-
andytoshi
though plausibly we would always need a trusted setup to achieve that
-
ellithiosa[m]
andytoshi: you can get snark constructions that improve on this limitation. fractal/marlin are two recent results that bypass this and get reasonable proof sizes (~100kB) although constant-size is replaced by polylog afaik
-
andytoshi
yep, and starks have had similar specs for a while
-
ellithiosa[m]
main difference i think was the linearity in the verifier in starks, the polylog in these newer constructions means that you can do recursion (reasonably?) efficiently
-
andytoshi
oh wait these let you -prove- in polylog time?
-
ellithiosa[m]
no no
-
ellithiosa[m]
prove is n log n
-
ellithiosa[m]
it's just that in recursion the verifier needs to be encoded as a circuit so need to be reasonably small
-
ellithiosa[m]
and they claim to have small enough verifiers to make recursion efficient
-
sarang
Has that been tested with any proofs-of-concept?
-
ellithiosa[m]
they have specs online
-
ellithiosa[m]
not sure if they have code, but i think they do
-
sarang
Link for the lazy?
-
ellithiosa[m]
-
sarang
Ah, I have seen the paper
-
ellithiosa[m]
-
andytoshi
starks have polylog verifiers
-
andytoshi
and admit efficient recursion
-
ellithiosa[m]
hm
-
ellithiosa[m]
then not sure why the stark ppl haven't made the same claims as these guys
-
ellithiosa[m]
i guess this depends on how big the constraint system encoding a verifier in stark arithmetization is
-
andytoshi
i mean, the stark ppl have made the same claims as you have here :)
-
andytoshi
i'd have to check the "related work" section to see a detailed comparison
-
ellithiosa[m]
must've missed it in their paper then
-
ellithiosa[m]
my understanding was that since starks don't use r1cs there's a hidden cost in their arithmetization
-
ellithiosa[m]
and even though asymptotically they get 'efficiency' in practice the cost is high
-
andytoshi
i don't see how anything that uses r1cs could have sublinear verification
-
andytoshi
because the verifier needs to read the whole r1cs circuit
-
andytoshi
but yes, i believe starks have high costs at setup time when converting a program to arithmetic form
-
ellithiosa[m]
that's done once at the beginning
-
ellithiosa[m]
they put this cost in the indexer
-
ellithiosa[m]
in marlin at least
-
ellithiosa[m]
and i think you can do even better by leveraging structure in the predicates
-
ellithiosa[m]
i think that there's some work showing that if you have a structured predicate (e.g. N transaction verifications) then you can do much better. haven't seen any rigorous writeup though
-
andytoshi
yeah i'm sure
-
andytoshi
this is also true of starks
-
andytoshi
but i don't know much detail about any of these schemes
-
andytoshi
too much to read
-
ellithiosa[m]
I think the way they got that structural improvement was through LDEs, which is different to starks
-
ellithiosa[m]
but would wait for the writeup
-
ellithiosa[m]
before getting too excited
-
ellithiosa[m]
the other upper bound in pairing based snarks is the 2adicity
-
ellithiosa[m]
Groth etc. (i.e. all the most efficient constructions) suffer from this
-
ellithiosa[m]
in practice it means you can only get a maximum sized predicate
-
ellithiosa[m]
at 80 bit security for recursion this is at 2^32 constraints in r1cs
-
ellithiosa[m]
but the good news is this isn't an issue in these newer types of snarks that don't use ECC