-
Isthmus
Seems fair
-
sarang
A new site for sharing research papers, from JHU:
acrab.isi.jhu.edu
-
koe
sarang or suraeNoether what do you think about, for multisig, removing commit and reveal for marketplace escrow, where every transaction is directed to a different vendor subaddress, with change pointed at buyer subaddresses. One problem rbrunner encountered with OpenBazaar integration is requirements for offline purchases, while with
-
koe
commit-and-reveal it seems impossible to do create tx without vendor sending a message to the buyer
-
koe
a direct message*
-
koe
ah crap nvm, the buyer has to hide the signature opener from observers anyway, so commit and reveal is unavoidable
-
suraeNoether
I would need a detailed explanation of what you mean before I could possibly judge. C-and-r adds a round of interaction, no matter what there will have to be interactivity. Maybe I'm not following what you were going for
-
koe
Ok while writing out an explanation I may have solved it
-
koe
cliff notes
-
koe
vendors publish, for each product, a list of shared secret pub keys with trusted escrow agents, along with the original pre-secret keys, in addition to a commitment to signature opening EC point
-
koe
buyer declares intent to purchase by sending tx details and signature opener commitment to vendor, along with correct address for vendor to complete the 2-of-3 wallet with whatever escrow agent the buyer selected; vendor accepts the terms and sends out the product, along with his reveal of the commitment data; buyer receives product, completes his
-
koe
part of signature, and sends to vendor his signature-response scalar along with this reveal of his commitment data; vendor completes signature and publishes tx to the blockchain in order to receive funds
-
koe
workflow does not interrupt the common workflow of a digital marketplace
-
koe
what are the pros and cons of increasing max number of tx outputs?
-
luigi1111w
pros: more outputs, less txs needed if doing large batches
-
luigi1111w
cons: everything else
-
koe
everything else?
-
moneromooo
Pros also include smaller overall size, and better batching speedups.
-
moneromooo
Quite a corner case currently though. Might not be if we get some kind of coinjoin.
-
koe
is batching better for small batches rather than larger?
-
moneromooo
Better for large.
-
koe
ah right, pro implies better duh
-
koe
con is probably, easier to fingerprint individual tx since breaking large batches into smaller chunks increases indistinguishability
-
moneromooo
I think the original worry was someone making a tx with 100k outputs, DoSing verifiers.
-
moneromooo
The one I remember anyway.
-
luigi1111w
is it really better for batching?
-
moneromooo
AFAIK it is, though it gets into diminishing returns.
-
luigi1111w
smaller over size depends on distribution of of output sizes I would guess
-
luigi1111w
overall*
-
luigi1111w
output amounts*
-
luigi1111w
numbers of outputs*
-
luigi1111w
whatever
-
luigi1111w
though overall smaller I would think
-
luigi1111w
just more range proof wastefulness
-
moneromooo
The incremental size for range proofs grows quite slowly as the number of outputs goes up. If you have to split into 4 txes, you restart the log from 0.
-
luigi1111w
I'm curious what the verification is like for 4x 16 batched (and non) vs 1x64
-
luigi1111w
probably been tested somewhere
-
moneromooo
There are performance tests hidden somewhere in the monero tree.
-
moneromooo
I'll tell you in... some as yet unknown amount of minutes.
-
sarang
You also need to pad generators to the next power of 2
-
sarang
So for verifiers, 17 == 33
-
sarang
*32
-
sarang
And fees need to account for this of course
-
moneromooo
Hrm. Need to patch the source to allow for 64 -_-
-
koe
Since max inputs is 185 I think it would make sense to have 64 or 128 be max outputs
-
sarang
Also better for batching to have fewer unique generators
-
sarang
Two 32out proofs share their 2x32 generators
-
sarang
One 64out proof needs 2x64 unique generators
-
sarang
Plus the others that are per proof, but there are fewer of these with log scaling
-
luigi1111w
I don't agree that max inputs should match
-
koe
well it makes sense for MoJoin
-
koe
185 max input/128 max output gives the most flexibility, even though if it's 1 input per output the balance is closer to 100/100
-
luigi1111w
<sarang> You also need to pad generators to the next power of 2 <= this is what I meant by more range proof wastefulness
-
luigi1111w
mojoin is pretty secondary in consideration for me at this point
-
koe
does that wastefulness refer to transaction weight or transaction verification speed? or code-side
-
sarang
It's no size difference between powers of 2
-
sarang
Verification does scale within those values tho
-
koe
so a 64-rp will take longer than 4x 16-rp?
-
sarang
Hence needing fees to scale accordingly
-
sarang
koe: probably... The shared generator benefit becomes more apparent with higher counts
-
sarang
Because of those per proof elements that can't be shared
-
moneromooo
-
moneromooo
Batching enabled.
-
moneromooo
That's on a laptop with various other VMs running, so take with mucho salt.
-
moneromooo
Oh, that's just the bulletproofs. I don't have tests for whole tx for this...
-
sarang
Makes sense
-
koe
if Im reading this right, it's suggesting 4x 16-rp is 10x faster than 1x 64-rp
-
moneromooo
What is rp ?
-
koe
rangeproofs. My mistake the loop counts are different, more like 2.5x
-
luigi1111w
sounds in range
-
moneromooo
Do you have proof ?
-
koe
without batching, looks like 64-rp is 20% faster
-
koe
under what conditions may range proofs be batched for verification?
-
moneromooo
It's pretty forgiving. I think all they need to be is bulletproofs.
-
koe
Do they have to be the same power of 2?
-
moneromooo
That's only enabled within a block currently. I have a patch to make it batch "free standing" txes but it was not deemed worth it. We could also batch a set of blocks when downloading historical data, in theory.
-
moneromooo
No.
-
koe
what if you batched 4x 64-rp and compared with 16x 16-rp?
-
sarang
All BPs can be batched. The extent to which hey share generators depends on size and implementation
-
sarang
*they
-
sarang
Generators not shared are an extra marginal cost in the multiexp
-
sarang
The number of unique generators (excluding per proof) is based on the largest in the batch
-
moneromooo
-
koe
Looks to me like 40% faster for the 16x 16-rp over the 4x 64-rp
-
koe
implies smaller rangeproofs are better (in terms of verification speed), assuming transaction volume or verification procedure is enough to sustain batching, although there are diminishing returns as batching volume rises
-
koe
another pro of bigger max tx output count: to disperse a large amount amongst many recipients, currently it takes a chain of transactions to accomplish, since first you break the large amount into 16 smaller amounts, then (assuming <=256 recipients) construct a bunch of tx
-
koe
that would happen less with bigger output sets
-
koe
it actually means more blockchain bloat to do that chaining, from the intermediate outputs
-
koe
Isthmus what is the proportion of tx volume with max output count?