-
Notifications
You must be signed in to change notification settings - Fork 18
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
Update README #99
Update README #99
Conversation
Signed-off-by: Jim Zhang <[email protected]>
Signed-off-by: Jim Zhang <[email protected]>
Signed-off-by: Jim Zhang <[email protected]>
Signed-off-by: Jim Zhang <[email protected]>
Signed-off-by: Jim Zhang <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this! Really enjoyed reading through it and how you progressively built each solution up 😃
A few comments and typos
@@ -41,44 +57,124 @@ The statements in the proof include: | |||
- the sum of the input values match the sum of output values | |||
- the hashes in the input and output match the hash(value, salt, owner public key) formula | |||
- the sender possesses the private BabyJubjub key, whose public key is part of the pre-image of the input commitment hashes | |||
- the encrypted value in the input is derived from the receiver's UTXO value and encrypted with a shared secret using the ECDH protocol between the sender and receiver (this guarantees data availability for the receiver) | |||
- the encrypted values in the transaction are derived from the receiver's UTXO value and encrypted with a shared secret using the ECDH protocol between a random private key and the receiver (this guarantees data availability for the receiver, because the public key for the random private key used by the sender is published in the transaction) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Odd to say random private key
it gives a lack of trust - isn't it just the private key of the sender?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's in fact a one-time use private key that's generated for that transaction only, instead of using the sender's private key. The receiver only needs to know the public key, which is included in the transaction and event.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
aah okay so maybe specifying that is better than random, gives more context
so one time use private key
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will remember to do that in the next PR
resources/c-utxo-zkp-2.jpg
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be good to show the sparse merkle tree for KYC in a diagram in a follow up PR :)
Signed-off-by: Jim Zhang <[email protected]>
Co-authored-by: Enrique Lacal <[email protected]> Signed-off-by: jimthematrix <[email protected]>
Co-authored-by: Enrique Lacal <[email protected]> Signed-off-by: jimthematrix <[email protected]>
Signed-off-by: Jim Zhang <[email protected]>
Signed-off-by: Jim Zhang <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
This comment remaining #99 (comment) up to you on this
No description provided.