-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[protocol spec] Some comments from Ariel #92
Comments
Think of |
Thanks @str4d . That doesn't seem to be completely well-defined . If there are no transparent outputs or exactly one, it is well-defined. But what if there are multiple transparent outputs - where does vpub_new go to in that case? |
Then the sum of the values of the transparent outputs must be less than or equal to More precisely, the balance equation is:
With the difference becoming the fee. There's also a requirement that |
ahh I think I get it now thanks! |
Another issue that came up while discussing something with @str4d. It is described in 4.3 of spec; that we should have h_sig=HASH(randomSeed,nf_old,joinSplitPubKey). |
See the end of section 4.3: "Consensus rules:
hSig here means the value computed as described in the same section. |
joinsplit.verify checks h_i's are certain function of h_sig.. it does not check anything about h_sig being function of randomSeed,nf_old,joinSplitPubKey (at least according to 4.9) |
But hSig isn't provided anywhere as protocol input. The only way to compute it is from the other fields as described in 4.3. (I agree that if it were provided as input, then there would need to be a rule that that input is consistent with the computed value.) |
if what you mean is hSig is computed by the verifier from randomSeed,nf_old,joinSplitPubKey, that are given themselves to him as input, then I can see that being fine |
Yes, that's exactly the situation. |
OK..great! Then that should be made more clear in the spec. |
How would you suggest I clarify 4.3? Maybe say "hSig as computed above" in the consensus rule I quoted? |
Ok..now reading 4.3 I understand how you thought of it. |
For reference, |
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Done. |
'..a multiple of 8 bits' -> no need for 'bits' again in this sentence, change to, e.g., 'which is a multiple of 8'
3.3 'treestates are chained as follows:..' You don't see in the bullets below how the output treestate of a transaction is computed from the input treestate.
Sec 4:
'agree a shared secret' -> 'agree on a shared secret' (twice)
'In fact the instantiation' -> 'In fact, the instantiation' (perhaps add comma)
Proof of Knowledge bullet. Suggest to change to :
(If you want A and E_A not to be deterministic you need to also give E_A access to random tape of A, I like to just assume they are deterministic as since they are non-uniform circuits you can fix A's randomness to maximize its success of producing a proof)
`adapted to state concrete rather than asymptotic security' - I would erase this, if you use the term 'negligible' you are talking about asymptotic security.
4.1.7 - would just add reference to wikipedia: https://en.wikipedia.org/wiki/Commitment_scheme . It explains well the notions of computational hiding and binding.
In references PGHR -> PHGR i.e. Howell appears before Gentry.
The text was updated successfully, but these errors were encountered: