-
gingeropolous
very interesting initial results?!?!?!?!
-
gingeropolous
you tease!
-
sarang
I want to do a second check!
-
gingeropolous
nonsense. n of 1. throw more cores at it. paralallalalieze
-
UkoeHB_
what do you all think about doing some kind of rounding on the minimum fee? currently it is recalculated on a per block basis, which directly leaks the time delta between tx construction and inclusion in a block. @ArticMine
-
UkoeHB_
I imagine around 1-2 day fee binning would be enough.
-
gingeropolous
does this become moot when tail emission kicks in?
-
UkoeHB_
@n3ptune and @Isthmus I imagine you could calculate that delta for all tx that use the fee priorities (see my email with pseudocode for calculating fee Isthmus)
-
UkoeHB_
don't think so, since fees also depend on block weight
-
UkoeHB_
but fees depend on the _long term block weight_ so that feature has quite a slow development
-
UkoeHB_
also in our current era where blocks never leave the penalty free zone, block weights have no impact on fees
-
» Isthmus hears a ping and dips in for 30 sec
-
Isthmus
@UkoeHB_ like this?
-
Isthmus
-
UkoeHB_
yeah
-
Isthmus
I like your idea of binning
-
Isthmus
Hmm, as long as bin_width >> average residence time in the mempool
-
UkoeHB_
it wouldn't completely get rid of the problem, since at bin edges the delay will be somewhat apparent
-
» Isthmus ponders
-
Isthmus
Suppose bins go midnight-to-midnight UTC
-
Isthmus
at 23:45h I generate a transaction, and broadcast it 20 minutes later at 00:05h
-
UkoeHB_
maybe update the minimum fee every 720 blocks (one day, for example), so the window of blocks considered for median (and the base block reward used) shifts forward every 720 blocks
-
Isthmus
Under current system, an observer could see that 00:05h txn and calculate, ah, that transaction came from about 20 minutes ago
-
Isthmus
under the bin, the observer could only say "ah, that came from some time in the last day"
-
UkoeHB_
'it's at least 5 mins old, perhaps as much as 24hrs 5mins'
-
Isthmus
^ exactly
-
Isthmus
To be clear: I have given approximately 0 thought to what a good bin size should be, was just using 24 hours to be illustrative :- )
-
» Isthmus shuffles off to start cooking dinner
-
UkoeHB_
the long term median can rise only 0.5% in one day (takes 69 days to rise 1.4x), and it's probably similar for base block rewards, so the day-to-day fee would only deviate by a small amount; data on the actual spread of tx delays would be illuminating
-
UkoeHB_
or the estimated delay*
-
UkoeHB_
although fees do increase when the short term median rises (it's based on min(short term, long term)) so maybe we'd need ANOTHER median term median (oh god), which is the median block weight over the last fee_window
-
smooth
changing the minimum fee infrequently sounds good to me. it is basically arbitrary anyway
-
UkoeHB_
one day monero may be a case study in over engineering 😅
-
UkoeHB_
this idea came up while thinking about escrowed marketplaces, where it is VERY useful to create partial transactions on checkout that only get signed after a product is delivered (fees can be chosen when buyer decides to pay, but then there is a delay before the vendor signs that tx for the blockchain)
-
Isthmus
Oh yea and idk who asked, but [since 1978433] the mean number of inputs is 2.2 and mean number of outputs is 2.3
-
Inge-
output mean driven up by exchange payouts?
-
UkoeHB_
dummy outs likely
-
Inge-
e.g. 0-value dummy outs?
-
Inge-
but exchanges do pretty regular 16-out txs
-
tromp
i see section 5.6.2 has MW's tx excess as a commitment to 0 that can be signed for. So this is very close to MW. only diff is that in MW the excess is a 2-of-2 between sender and receiver
-
tromp
do you know when this idea of signing for excess was first published?
-
UkoeHB_
probably Shen Noether's ringct (MRL 0005) that I linked before; this is a citation to the same thing in the MW whitepaper
eprint.iacr.org/2015/1098.pdf
-
UkoeHB_
generally 'follow the citations' tracks pretty well :p
-
gingeropolous
breaking news: monero travels back in time to invent mimblewimble
-
sarang
Hello all
-
sarang
I'm working on chain-scale verification timing stuff for new protocols, wooo
-
gingeropolous
woooooo!!!!!!!!
-
sarang
I'll have the size numbers shortly
-
gingeropolous
!bet 100 triptych
-
sarang
But I also want to run the verification times, especially because one version of RCT3 requires some input padding that could have big effects on verification
-
sarang
Ooh, sorry, the winner for size is multi-input RCT3
-
gingeropolous
are u running current protocol alongside for comparison?
-
sarang
I ran an estimate starting at block 1788000 (where the new RCT format was enabled/required)
-
gingeropolous
cool
-
sarang
This is simplified and assumes no extra data, but does assume multiple tx pubkeys, for uniformity
-
sarang
So take it with a grain of salt
-
sarang
Here are the size estimates for block 1788000 to the present, if different protocols were used (in GB)
-
sarang
excluding coinbase
-
sarang
MLSAG 7.51
-
sarang
CLSAG 5.26
-
sarang
RCT3-single 6.60
-
sarang
RCT3-multi 4.36
-
sarang
Triptych-single 5.56
-
sarang
Triptych-multi 4.46
-
sarang
that's for ring size 16
-
sarang
(where CLSAG/MLSAG still make sense)
-
gingeropolous
(insert zoolander - are-these-rings-for-ants.gif)
-
sarang
heh
-
sarang
I'm pulling up the non-MLSAG/CLSAG numbers for bigger rings now
-
sarang
I'll post a more complete write-up later, for easier comparison of course
-
sarang
Here are numbers for ring size 128:
-
sarang
RCT3-single 7.49
-
sarang
RCT3-multi 4.77
-
sarang
Triptych-single 6.91
-
sarang
Triptych-multi 5.52
-
sarang
aaaaand just for fun:
-
sarang
MLSAG 41.08
-
sarang
CLSAG 22.05
-
gingeropolous
wow
-
sarang
The reason I want to more closely examine how batching would apply across actual blocks is because RCT3-multi has the padding requirement, which for larger input counts could carry a significant computational overhead
-
sarang
No other protocols have such requirements
-
sarang
Range proof do require padding, but that's already accounted for (and happens now anyway)
-
gingeropolous
does the same distribution occur with larger ringsizes? (i.e., 1028)
-
sarang
Here are the numbers for N=512 (where initial verification estimates looked pretty reasonable):
-
sarang
RCT3-single 8.09
-
sarang
RCT3-multi 5.04
-
sarang
Triptych-single 7.81
-
sarang
Triptych-multi 6.23
-
sarang
MLSAG 156.18
-
sarang
CLSAG 79.6
-
sarang
I'll toss the numbers into a graph for easier visual comparison
-
sarang
hold plz
-
gingeropolous
thats pretty awesome
-
sarang
As well as post code that lets you modify the transaction format and run your own numbers
-
sarang
Note that this assumes the actual chain distribution of I/O counts
-
sarang
Which may or may not be reasonable for future estimates
-
dEBRUYNE
Curious about verfication times
-
lithiumpt
which one is the current protocol?
-
sarang
MLSAG
-
sarang
BUT
-
sarang
that's not the actual chain growth size
-
sarang
that's an idealized estimate assuming the same kind of transaction uniformity as the newer protocols
-
sarang
n3ptune is fetching the actual tx sizes, which account for things like extra field
-
gingeropolous
so u created artificial ring sigs that match the existing transactions?
-
sarang
For each txn on the real chain, I got the input/output structure from n3ptune's data and used it to produce size estimates for the equivalent transaction in different tx protocols of interest
-
sarang
including MLSAG, the current protocol
-
sarang
It seemed a reasonable way to do the comparisons
-
gingeropolous
yeah. awesome stuff
-
lithiumpt
really awesome
-
dEBRUYNE
Great work!
-
sarang
Still working on the batch verification numbers, which are a bit trickier to work out
-
sarang
RCT3-multi will suffer a bit in that area
-
sarang
as will CLSAG/MLSAG, which only support batching across range proofs
-
sarang
So anyway, take these numbers with a heaping tablespoon of salt
-
sarang
but thanks to n3ptune for providing the data
-
sarang
it's great to get numbers that try to account for real chain behavior
-
sarang
Again, I'll post the complete code later so you can tinker with the transaction structure and run your own numbers
-
sarang
My initial takeaway is that, as expected, size performance is at least reasonable across larger ring sizes
-
sarang
If there's other data anyone wants me to run while I'm at it, let me know
-
sarang
I'm doing verification assuming both per-block batching and fixed-size batching
-
sarang
(right now batching of range proofs is done per block)
-
sarang
-
sarang
^ plot of chain growth
-
sarang
(I can post a version with different line types, in case anyone has trouble viewing the colors)
-
ErCiccione[m]
looks like larger ring sizes wouldn't effect much the blockchain size with rct3-multi. For example from 500 to 750 there is almost no difference in the chart. Cool
-
sarang
Right, but verification scales linearly-ish, not logarithmically
-
sarang
(also note the only tested values were powers of 2; I used smooth lines for clarity)
-
sarang
Chain data on verification will help illustrate this size/time tradeoff
-
UkoeHB_
I think unless verification times are very similar then the faster scheme will win (assuming integration doesn't encounter roadblocks). Storage is much more flexible for users than computational power
-
sarang
Depends on I/O structure
-
sarang
The RCT3-multi space savings arise from an assumption of particular inner-product proof padding