- 
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