-
Guest53
Wht is purpose of sc_mult() in monero source code
-
Guest53
As proveRangeBulletproof() is the one responsible for creating Commitment and proving range proof.But when it passes control to bulletproof_PROVE(amount,mask), why bp_PROVE uses sc_mul() and ge_double_scalarmul_base_vartime() means according to theory by using(amount,mask) it should multiply a to H and y to G and than add both yG+aH but it does
-
Guest53
sc_mult() than that ge_double whts use of all these.
-
Guest3475
Hlo anyone here wht about sc_mul()
-
Guest3421
Structs in ge.h these are the curve points so why they are 40 bytes in size as curve point should be (x,y) (32byte,32byte) and when stored as compressed should be of only 32 bytes but example like struct ge_pe3 have four things in it X Y Z T why there are four points and why each is of 40 bytes instead of being 32 bytes
-
ofrnxmr[m]
Wait 6-12 hours
-
UkoeHB
looks like he left
-
rbrunner
As you are here, a quick question, about that "enote" term. Can you loose a few words about that choice? What does it mean? And why do you prefer it? Would you propose to carry it up to Monero's wallet API?
-
rbrunner
Basically replacing terms like "transaction", "transfer" and/or "output"?
-
UkoeHB
output is really terrible terminology, so I wracked my brains to come up with something better
-
UkoeHB
enote is the best I could figure out
-
UkoeHB
basically like e-mail -> electronic-bank-note or something
-
UkoeHB
as for the wallet API, I wouldn't complain about propagating it although other people might have other ideas
-
rbrunner
Interesting
-
rbrunner
Well, if we don't, it probably quite quickly assumes a sense of "enote" = "Seraphis output".
-
rbrunner
Do you see "output" as terrible because it's so unspecific? Or does it put emphasis wrong? Or too easy to confuse with something else?
-
HenryHollingwort
for me itinputs are
-
HenryHollingwort
* for me it's confusing because outputs and inputs
-
HenryHollingwort
*are
-
HenryHollingwort
suggesting that there is another term which both are (enote)
-
rbrunner
Yeah, giving two terms to the same thing depending on use can of course be pretty confusing. But does not prevent us from using "output" exclusively of course
-
rbrunner
On the other side, saying "This transaction consumes the following n outputs" sounds strange
-
HenryHollingwort
true, but then you use outputs as 'inputs' (or outputs again)
-
rbrunner
or "spends"
-
rbrunner
Thing is, it's almost always quite hard to unseat terms that are so entrenched as "output", also far beyond Monero of course, and you can fail spectacularly, with people flat-out resisting you
-
rbrunner
Anyway, I am wrong, "enote" can't replace "transaction", because that's not the same.
-
hyc
enote seems like a poor choice of name here, it sounds like a "memo"
-
UkoeHB
rbrunner: output is too ambiguous when you are talking about making a transaction that has inputs and outputs
-
rbrunner
Hmmm, yes, but there is "banknote"
-
rbrunner
So when building a transaction you qualify the term "enote" accordingly?
-
rbrunner
To make clear what goes in and what comes out?
-
UkoeHB
hyc: the outputs of a transaction are similar to memos - they are messages recording some more abstract information (you can have many copies of the same enote/output on all the nodes)
-
UkoeHB
rbrunner: enote is the message recording the amount and destination, and you reference those enotes in a tx when making inputs and outputs
-
gingeropolous
"this enote is used as an input. the transaction creates a new enote, the output of the tx"
-
UkoeHB
'tx outputs' is a set of new enotes, 'tx inputs' are references to pre-existing enotes
-
rbrunner
Ok. I will let that settle :) For me, such terminology questions are always quite hard, and I think software can profit handsomly from a good terminology
-
gingeropolous
personally, i like the enote because it gives a name to something thats independent of its current function. You can then qualify the function of the enote with "input enote" and "output enote"
-
hyc
and then for shorthand \I'll just call them inputs and outputs
-
rbrunner
True, but the maybe important difference is that you have, how do you call this, super-term that encompasses both
-
rbrunner
That you can use whenever it is suitable
-
rbrunner
Now you would arrive at nonsensicals like "outputs and inputs are outputs"
-
gingeropolous
"<hyc> and then for shorthand \I'll just call them inputs and outputs." right. but in monero, an output used as an input isn't really the input because its in a ring. so an input contains 11 enotes.
-
gingeropolous
Semantic Mondays
-
rbrunner
Or references to enotes :) Even better.
-
rbrunner
No, seriously, I think discussions like this one do have value, it's not just mental gymnastics or even worse
-
jtgrassie
except pretty much universally they are called 'outputs'
-
gingeropolous
by "universal", do you mean within the blockchain "industry" thats about 10 years old? or were they considered outputs prior?
-
jtgrassie
the former
-
gingeropolous
right. well, call me crazy, but im pretty sure a running theme with monero is that stuff could have been done better.....
-
jtgrassie
agreed, and FWIW, I don't think it matters much using a different term
-
jtgrassie
I don't however think enote is much better of a description
-
hyc
"enote records amount and destination" - since it records a destination, it is an output
-
hyc
the recorded destination of an enote, when used as an input, is irrelevant
-
UkoeHB
well it's more like 'owner' than destination
-
hyc
ok, that makes more sense
-
hyc
tho it still isn't that significant since, as ginger points out, it's only one of many possible owners in a ring
-
UkoeHB
the ring signature is a proof of membership, semantically distinct from proof of ownership
-
UkoeHB
even though we do both in the same structure with legacy proofs
-
hyc
hmmm. but the point was to obscure the actual owner
-
UkoeHB
The point is to obscure the entire thing
-
UkoeHB
It’s not ‘which owner is spending?’, it’s ‘which enote is being spent?’
-
hyc
ok, yes
-
moneromooo
If outputs is annoying because inputs are outputs, there is "coin", which is widely used.
-
moneromooo
ie, coin control, aka selecting which output to use as input.
-
moneromooo
Could use ecoin to seem fancy. After all, a coin is just a metal note. Or maybe a note is a paper coin. Or, nowadays, a plastic one. Though plastic money has a different meaning usually.
-
UkoeHB
a coin embodies itself, a 'note' is a substitute for the real thing (in our case a mathematical idea)
-
gingeropolous
"ledger entry". done
-
rbrunner
Hmmm. My very first reaction was dismissal, but now I must say "ledger entry" grows on me. Also de-emphasizes the somewhat strained "wallet" concept itself.
-
hyc
yeah wallet kinda sucks. it's more like a checkbook
-
hyc
tho perhaps the US is the only country left in the world that still uses checks
-
rbrunner
Can't be worse than the floppy disk icon for "save" :)
-
hyc
there was at least a decade where that icon was directly relevant ;)
-
rbrunner
Ok. In "checkbook.h" we have "struct Ledger_Entry { ... } ". That will be a hit.
-
hyc
which is even weirder since they seem to be called "drafts" here in Ireland. not even cheques.
-
Rucknium[m]
UkoeHB: Do you think that 128 is the most likely candidate for Seraphis ring size at the moment?
-
UkoeHB
Rucknium[m]: that's the current setting
-
UkoeHB
might be worth discussing 256 at some point
-
UkoeHB
a ledger entry isn't an entry until a tx is mined, but a tx can stand outside the ledger (while pending, or in an offchain context)
-
gingeropolous
im curious to see how the discussion goes re: increased ringsize might make it easier to spot the distribution
-
Rucknium[m]
I think within a year we may be able to quantify fairly precisely the risk to user privacy from [substantially increased ring size] + [no binning] + [no enforcement of a canonical decoy selection algorithm at the protocol level].
-
Rucknium[m]
My intuition tells me that the risk may be fairly high.
-
Rucknium[m]
In that case, we would want to do binning and/or DSA enforcement by the time that Seraphis goes on mainnet. I am more enthusiastic about DSA enforcement.
-
Rucknium[m]
Of course, binning is a type of enforcement. If we have binning, DSA enforcement would mean enforcement of the "meta distribution".
-
Rucknium[m]
To be clear, the risk that I'm thinking of would come from defects in transaction uniformity. The "anonymity puddles".
-
ArticMine[m]
With respect to the scaling algorithms a 256 ring size with Seraphis is possible without changing the 3000 byte reference transaction size. So there is also no need to make a change to the 300000 byte minimum for long term median ML. A ring size above 256 with Seraphis would require changes to the reference transaction size and the 300000 byte minimum.
-
ArticMine[m]
As for the risk associated with the decoy selection algorithm l will wait until Rucknium 's research is complete before commenting.
-
ArticMine[m]
At least before commenting in public