-
anon_udxf6fdz[m]
<LiquidSnake007 "im looking for business plans/pr">
monerointegrations.com
-
sgp_
I'm inspired to do another Breaking Monero episode on unlock times
-
sgp_
Someone can use unlock_time when sending funds to others and better track the spending of these real outputs in theory
-
sgp_
Obviously this would be a detectable attack
-
sgp_
But imagine a dust poisoned output attack with an unlock time
-
Inge-
I hope more wallets will make outputs easier to manage in the future
-
Inge-
and such an attack would be easily foiled by the wallet highlighting you got a small input with unlock time and letting you freeze it for example
-
sarang
Hi, saw that sgp_ pinged from the earlier meeting
-
sarang
Huge thanks for the support on BP+
-
sarang
And yes, the new version of Lelantus does require that addresses be public on chain, even for their confidential transaction type
-
sarang
It removes the self-spend requirement and improves the security model, but would require either trivial address linking or single-use addresses (like is typically recommended for transparent assets)
-
sarang
Neither Arcturus nor Triptych have this particular limitation; they support the current Monero-style separation of amount commitments from one-time addresses
-
dEBRUYNE
And I suppose there is no way to enforce those single-use addresses?
-
sarang
Well, there's no way to enforce them in Monero either =p
-
sarang
Other than to make it some kind of consensus rule
-
dEBRUYNE
Sure, but they technically lead to a burn if re-used in Monero
-
sarang
Yes, but that's a wallet thing
-
sarang
You could do the same in Lelantus, presumably, if you wanted to
-
sarang
I don't know if this is being done in any implementations
-
sarang
Er no, I spoke too soon
-
sarang
You'd have a key image reuse in Monero
-
sarang
scratch that, d'oh
-
sarang
You could still enforce in Lelantus by a consensus rule
-
sarang
Anyway, just thought I'd confirm what sgp_ had said earlier
-
sarang
I had heard the term "shielded address" used at some point to describe the new Lelantus addressing structure, but it's not the same as, say, Zcash
-
dEBRUYNE
If we are able to enforce it in Lelantus through consensus rule, what is the downside?
-
dEBRUYNE
^ sarang
-
sarang
Sender and receiver would need to communicate to provide fresh addresses for each transaction
-
TheCharlatan
dEBRUYNE I'm guessing there is also the downside of checking the entire chain for addresses every time, just like with a potential fix for monero's burn bug.
-
dEBRUYNE
sarang: Ah I see, that would be inconvenient
-
sarang
Yeah, the Monero addressing construction supports non-interactive one-time addressing
-
sarang
Lelantus does not
-
sarang
If you post a Lelantus address somewhere and receive multiple transactions addressed to it, they are immediately linked in the clear
-
sarang
Fortunately, you can get the same logarithmic scaling in Arcturus or Triptych while still supporting Monero-type addressing
-
dEBRUYNE
Seems either of those are more worthwhile to pursue then
-
sarang
It would be nice to do an updated size/time analysis against the updated Lelantus construction
-
sarang
It changes the transaction structure and adds some new verification requirements
-
sarang
Addresses are also longer, but I don't know if this is really a big deal in practice (maybe for QR codes?)
-
sarang
Oh, and very preliminary tests on BP+ show a nice speed improvement, which folks might be interested to know
-
selsta
so speed and size? nice
-
sarang
indeed
-
sarang
Speed benefits are highly dependent on number of outputs and batch structure though
-
sarang
However, under no test conditions did I find that BP+ is slower
-
sarang
At worst it's marginally faster
-
sarang
At best it's several percent faster
-
sarang
But again, these are very preliminary results
-
midipoet
oh i see the convo about bp+ was here
-
midipoet
sarang: how much (relatively speaking) tinkering needs to be done to implement bp+?
-
midipoet
and will it require both maths and code audits?
-
sarang
It should receive a code audit, most definitely
-
midipoet
and is the pretence that transaction size improvements are in the region of ~6-8% correct?
-
sarang
As well as both prover and verifier time improvements
-
midipoet
so ~6-8% is a correct estimate?
-
sarang
For the most common transaction types (1-2 and 2-2) the improvement is 6.6% and 4.9%, respectively
-
sarang
It's a decrease of 96 bytes per transaction, regardless of input/output structure
-
sarang
That's the size improvement, to be clear
-
sarang
The time improvement does depend heavily on batching and structure, but in no cases is statistically worse
-
sarang
(there's a lot of variance in test timing, so these are mean and median results over many test runs)
-
midipoet
thanks sarang, that's solid info.
-
sarang
np
-
sarang
Once I have the code completed, you'll be able to run the performance tests on any machine you like, of course
-
sarang
FWIW I've initially seen verification improvement between 1% and 8% or so, across different test types and parameters
-
sarang
Proving times are much better overall, and I haven't worked on optimizing that yet
-
sarang
There's still quite a bit to do, of course
-
midipoet
there are always things to do; life would be boring otherwise
-
sarang
Heh sure
-
sarang
I mean in terms of documentation, optimization, tests, and other things that will hopefully make auditing much easier
-
sarang
I've already included some optimizations that are extremely useful, but need careful documentation
-
sarang
To your earlier question, stuff like function signatures are the same (up to naming!) as for BP
-
sarang
So I would expect a smooth transition if it's decided to deploy this
-
sarang
Looking back, it's pretty impressive to see how much better tx size and time have gotten over the years
-
sarang
Used to be what, something like 13 kB for a 1/2-2 transaction?
-
sarang
and super slow
-
sarang
If BP+ is deployed, a 1-2 tx will be 1.3 kB
-
sarang
and a 2-2 will be 1.8 kB
-
sarang
that's like a tenth of what it used to be...
-
sarang
I should re-run the old verification numbers at some point and see the overall cumulative improvement too
-
midipoet
so basically you are saying you are a transaction size barber?
-
sarang
lol
-
sarang
Not just me!
-
sarang
Lots of great work by a lot of people
-
sarang
We also get better formal security guarantees from some of these new constructions (e.g. CLSAG, BP, BP+)
-
sarang
Plus it's fascinating to see so much ongoing and new research by so many groups
-
sarang
Omniring, Lelantus, RingCT 3.0, some MW work, stuff from Zcash, etc.
-
sgp_
Tbh, I don't see a comparison to Lelantus as super useful if we're not going to use it because of the one time address issue
-
Inge-
So where do things stand for solutions like Zec with full-txo anonymity set and no trusted setups? still pie-in-the-sky?
-
sarang
sgp_: more of a curiosity than a practical metric in this case
-
sarang
Inge-: ECC (the company behind Zcash) has a recursive proving technique they've worked into an instantiation they call Halo 2
-
sarang
It's in a weird place, TBH
-
sarang
The code is being developed on GitHub, but their commit messages and PRs are basically empty, and the commenting and documentation seem basically nonexistent
-
hyc
sounds typically corporate
-
hyc
I thought ECC was turning everything over to zcash foundation
-
hyc
this doesn't sound like it
-
sarang
This is odd, since the initial Zcash work had extensive development and implementation discussion on GitHub
-
sarang
However, they've also significantly changed the Halo 2 licensing
-
sarang
I wonder if this new development model wasn't a very intentional internal decision
-
sarang
Anyway, to answer the question... it could be that Halo 2 ends up providing useful efficient transactions for Zcash without trust requirements, but frankly they aren't giving enough details to know
-
Inge-
sarang: I seem to remember you commenting on Halo 2 quite a few months ago, basically saying the same thing ...
-
hyc
recursion still has to have a starting point.
-
sarang
Some community experts asked for details on their forums, but were not given any practical details by ECC researchers
-
sarang
Inge-: yeah, nothing has changed
-
Inge-
And Halo 2 is the only horse in the race currently?
-
sarang
You can see their repo, but all the commits and PRs seem suspiciously devoid of any useful information or detail :/
-
sarang
Inge-: for Zcash? Who knows
-
sarang
Like I said, ECC seems not to be doing forward-looking design stuff openly anymore AFAICT
-
Inge-
no I mean in general, things that COULD be a future candidate for Monero
-
sarang
Oh ok
-
Inge-
more than "forever increasing ring sizes"
-
sarang
Inge-: ideally, an accumulator-style transaction protocol requiring general trustless proving systems
-
sarang
Right now, no implementations provide this in a way that's practical
-
Inge-
not impossible, just impossibly high resource costs?
-
sarang
Halo 2 is not some magic silver bullet... it's a way to do recursive proving, but that doesn't automatically make everything Fast And Small Forever
-
sarang
You need a construction that can actually use this technique, and even then, there are other practical considerations that right now ECC is refusing to discuss
-
sarang
Perhaps they will at some point, and I hope so
-
sarang
Inge-: right
-
Inge-
One thing has changed. I've stopped asking about it as ZK proofs or ZK-SNARKS. PROGRESS!
-
sarang
eh
-
sarang
*heh
-
sarang
Yeah, ZERO KNOWLEDGE is not a magic wand that gives you anonymity
-
sarang
It's a useful property of many constructions that can be used as building blocks for transaction protocols that could give useful anonymity (as part of This Balanced Breakfast, as they say)
-
sarang
Arcturus, Triptych, Lelantus, Omniring, RCT3... they all use zk proofs
-
sarang
It's very, very unfortunate that "zero knowledge" has been wielded as a marketing term
-
sarang
I don't think that's helpful for users
-
kenshamir[m]
<sarang "It's very, very unfortunate that"> I think I’d say in a protocol that zero knowledge is like ketchup. The main course is usually the information theoretical part and the sides being the cryptography
-
kenshamir[m]
In an argument protocol*
-
sarang
Heh
-
sarang
My point is that an overlying security model might deal with anonymity
-
sarang
and perhaps having a zk proving system makes it straightforward to establish a security proof for that
-
sarang
But maybe in a particular security model, witness indistinguishability suffices
-
sarang
But it's not like plugging in a zk proving system into some random overlying construction magically makes it "anonymous"
-
sarang
So statements like "we use zk proofs" don't inherently have any practical meaning
-
kenshamir[m]
<sarang "But it's not like plugging in a "> What if I give the protocol a cool name :)
-
sarang
Well, that's another story entirely =p
-
kenshamir[m]
<sarang "So statements like "we use zk pr"> Yeah it would be interesting to see what protocols are using zk but don’t actually need it
-
sarang
e.g. we never built an extractor for MLSAG/CLSAG that would be needed for zk
-
sarang
But you can still establish anonymity definitions without it
-
sarang
And you can flip that script... you could easily take a zk proving system and build a terrible transaction protocol with awful anonymity guarantees...
-
hyc
so easily in fact, that ...
-
sarang
Note that I say this as someone who renamed Triptych-2 to Arcturus...
-
sarang
Naming does matter
-
sarang
without a doubt
-
hyc
Triptych-2? missed a chance to call it Hextych
-
sarang
lol
-
sarang
I considered "Polyptych"
-
sarang
but realized nobody would ever spell it correctly without looking it u
-
sarang
*up
-
sarang
including me
-
sgp_
I jokingly recommended Triptyzk
-
sgp_
Just to include zk
-
sarang
-____-
-
hyc
lol
-
sarang
It could have been useful to remove this absurd use of "ring signatures" vs "zk proofs" as a proxy for anonymity set size
-
sarang
I mean, that's how initial implementations' transaction protocols worked, sure
-
sgp_
Yeah that's on the ECC for abusive marketing
-
sarang
but I think it can easily become almost misleading if not explained properly
-
hyc
ECC has been misleading at every oppty
-
sgp_
-
sgp_
Including a cumulative one haha
-
sarang
I am still extremely interested to know how much Quesnelle-style pool interaction analysis still applies to Zcash
-
sgp_
^ yes, but no one has bothered
-
sarang
I've requested (on Zcash forums, etc.) that someone with access to this kind of analysis tooling examine it
-
sarang
but AFAIK nobody has done so publicly
-
sarang
I think that's a _much_ better metric for the practical safety of their pool approach
-
sarang
"value of the pool" is not useful IMO for individuals
-
sarang
Much like how in Monero, individuals may need to consider repeat poison transactions, network threats, etc.
-
sarang
The whole ecosystem is complex
-
sarang
and reducing security to something like a signature scheme or proving system is useful to a point, and then not useful
-
sarang
FWIW I did try to get some Zcash tooling updated to do this analysis, but it just didn't work
-
hyc
sgp: you decided 0/0 is 100% ?
-
sarang
hyc: FWIW I don't agree that ECC researchers have been misleading... I think they have generally tried to be accurate and correct in their work
-
sarang
That is not to say that they have been transparent about their work, which is different, and likely depends on leadership decisions
-
sarang
*transparent about _all_ their work
-
sarang
I personally would love to dive into the new Halo 2 stuff, but there's nothing out there except code without useful documentation or commit messages
-
hyc
that may be true, but ECC marketing messages prob aren't dictated by their researchers
-
sarang
and "the code is the comments" isn't useful, either in Monero (hint hint) or in Zcash
-
sarang
Maybe, but I don't want to throw researchers under the bus here
-
sarang
that isn't fair
-
hyc
they chose wher eto be employed.
-
hyc
it is 100% fair.
-
sarang
Eh, not really a research discussion at least
-
hyc
ok
-
sarang
I ought not to have deviated to that
-
sarang
I'll classify Halo 2 as "interesting if true in practice"
-
sarang
which has yet to be seen :)
-
sarang
The most interesting possibility about recursive verification might be how it could apply to transaction verification
-
sarang
Their early tests IIRC were only for block verification, which seems inherently recursive
-
sarang
There's other related work being done on things like curve choice and other implementation specifics that I'm very curious about too
-
sarang
Unfortunately, any code they release under their new license (as I understand it) is restricted for a period of like a year
-
sarang
but then appears to be open
-
sarang
Is this common in the FOSS world?
-
hyc
it is becoming common in corporate environments
-
hyc
the rationale is "we need to monetize our work for at least <1 year> before giving it away to everyone"
-
sarang
Hmm, I can see the benefits for the authors, I guess
-
sarang
Sounds like a patent, no?
-
hyc
mebbe, but less than the 17yr patent term
-
sarang
right right
-
sarang
but the same motivation?
-
hyc
I guess yes
-
sarang
I mean, I have no desire to release code under such a license...
-
hyc
a patent without all the lawyers and registration fees
-
hyc
or, a trade secret with a fuse.
-
sarang
I worry that this will also incentivize those who also build the underlying math not to publish their work
-
hyc
yeah it's troubling. but if they keep it to 1 year, I guess it's livable.
-
sarang
Since you can't copyright/patent math
-
sarang
but you can copyright the implementation
-
sarang
One thing that's nice about cryptography is that preprints are typically the way to communicate research quickly
-
sarang
but if the trend is to lock down implementations for a period, and the implementers want to prevent people from doing separate implementations in the meantime from the math, this slows down the openness of the preprint process
-
hyc
makes sense to me. analogous to alpha/beta software releases
-
sarang
Maybe this isn't the case, who knows
-
hyc
ah. yeah
-
sarang
Certainly feels like a big change though
-
sarang
But who knows... if the end effect is to encourage research because of a short period of being the sole benefactor from it, maybe that outweighs these (possibly nonexistent!) risks
-
sarang
Kinda like how patents are supposed to work
-
hyc
it's the same curse of profit motive
-
sarang
Zcash is an interesting petri dish for this stuff, since they have a lot of capital involved
-
hyc
it's a shitty model for research. need to get things like Xerox PARC back.
-
sarang
I disagree with many of their business decisions, but there's a lot of research going on related to that eosystem
-
sarang
*ecosystem
-
sarang
and TBH having a variety of funding models seems like a good way to determine the best ones
-
sarang
At least, overall... certainly not individually
-
sarang
e.g. BP+ was done under a new-to-the-Monero-community funding model
-
sarang
Maybe it works more broadly, and maybe not
-
hyc
meh. when you involve VC funding, you're on the wrong path.
-
sarang
Well, doing BP+ under the MAGIC umbrella seems more akin to how ZF operates
-
sarang
Albeit with different funding sources
-
hyc
they will always prioritize quarterly profits over anything else.
-
hyc
ZF is a promising change from ECC, yes.
-
sarang
FWIW ECC's owners (I don't know who these are) are apparently "donating" (I don't know what this means legally) some kind of control to a nonprofit:
electriccoin.co/blog/eccs-owners-to-donate-ecc
-
sarang
So the VC model no longer seems to apply
-
sarang
Having a nonprofit at least ensures that the use of funds is restricted based on purpose
-
sarang
Seems like a good move
-
hyc
agreed
-
hyc
it's not a guarantee. there are plenty of nonprofit CEOs still milking their orgs.
-
hyc
but it's a step in the right direction
-
sarang
I think it's a very interesting experiment to apply this kind of nonprofit model to Monero-related research
-
sarang
Granted, the funding model is very different
-
sarang
but at least the nature of projects and the accountability seem quite similar between ZF and, say, MAGIC
-
UkoeHB__
licensing vs not licensing software has interesting market structure implications; if you can't profit from gating access to a service, the driving thought process behind making it must be different; the people who _actually want the service to exist_ must fund its creation instead of those who want to sell it to the users; investment in the service must be directly related to the _consequences of it being
-
UkoeHB__
used_ rather than the ability of the service to generate sales; basically, it peels away one layer of complexity in the market process, which would seem to make it inherently more efficient
-
sarang
What do you think the implication is for something like Zcash, where the network itself generates the revenue funding the organizations doing development?
-
UkoeHB__
more efficient in terms of providing the means for consumers to meet their ends, not necessarily making it easier for service makers to figure out how to make services that are worthwile
-
sarang
I don't know enough about economics to have a solid grasp over whether/how the incentives appreciably change in this case
-
UkoeHB__
there is at least one clear effect; the organizations will be greatly disincentivized to do anything that could reduce exchange rates with fiat
-
sarang
Would that increase overall liquidity, which seems beneficial?
-
UkoeHB__
in the extreme case, it could even mean compromising on privacy features in order to comply with increasingly onerous regulatory requirements
-
sarang
Well, their approach seems to be maintaing the pool approach, which seems to work for them so far...
-
sarang
at least in terms of exchange support
-
sarang
As stated before, AFAIK there's no up-to-date research on whether pools are used safely
-
sarang
On a topic actually related to Monero research, I saw some questions about the tradeoffs of BP+ deployment
-
sarang
It is a size and time benefit, but would require an audit, and additional code for a new transaction format
-
sarang
Any thoughts on this?
-
UkoeHB__
is it impossible to translate old proofs into the new proof style (spitballing)?
-
dEBRUYNE
I think most people have reservations about sensitive code being touched for a relatively marginal (evidently, this is a bit subjective) change
-
dEBRUYNE
^ sarang
-
dEBRUYNE
I think the new transaction format changes can be mitigated by, for instance, implementing it along side Triptych
-
sarang
UkoeHB__: this is not possible
-
hyc
what would be the point of such a translation?
-
selsta
FWIW transaction format changes have been quite smooth in the past.
-
sarang
As a quick reminder, BP+ reduces typical transactions by 5-7% (a fixed 96 byte reduction per transaction)
-
UkoeHB__
hmm I was thinking you could deprecate the old code, but that doesn't work since you always need compatibility
-
sarang
and reduces verification time by maybe 1-8% based on initial tests
-
sarang
Proving time is also much faster, but this is less important in practice
-
sarang
BP+ proofs are a drop-in replacement for BP proofs
-
sarang
and retain the same compatibility with other constructions currently under R&D here and elsewhere (e.g. RCT3, Lelantus, Triptych, Arcturus)
-
sarang
since those constructions simply require range proofs as a black-box construction
-
sarang
(Omniring includes its own range proofs)
-
UkoeHB__
it seems worthwhile to me; it may depend on the PR size and complexity to evaluate if it is worthwhile
-
hyc
you don't need to translate the proofs. you know what is being proved, you just need to generate a new proof in the new system.
-
sarang
We already don't verify old Borromean-style range proofs without a flag
-
sarang
This could be done for older BPs as well, if desired
-
sarang
Anyway, for each BP prove/verify function there's a corresponding BP+ prove/verify function
-
sarang
I've tried to keep it fairly modular there
-
sarang
The rest of a deployment is updating the transaction format, consensus rules, etc.
-
gingeropolous
8% here, 8% there... pretty soon monero will be making your processor run faster
-
midipoet
Monero makes my computer faster?
-
moneromooo
Already does. Makes your CPU switch to performance mode after running for a bit.
-
moneromooo
(not actually tested)
-
midipoet
Can we patent this process and sell it to Microsoft
-
Inge-
Monero makes computers faster *
-
Inge-
*) In participating universes