-
Notifications
You must be signed in to change notification settings - Fork 15
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
Privacy group management #534
Draft
peterbroadhurst
wants to merge
44
commits into
main
Choose a base branch
from
privacy-groups
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
…vacy-groups Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
… edge cases) Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
…privacy-groups
… edge cases) Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
…privacy-groups
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
…privacy-groups
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
…privacy-groups
…java files Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Scope
eth_sendTransaction
as possibleThis is not the full scope of what privacy groups could evolve to being in Paladin, but it represents a very significant simplifying step for app developers. I believe it also takes us beyond the feature set for privacy group management provided in any previous generation of Privacy-group/Channel tech (particularly for managing huge numbers of privacy groups).
Deferred scope
In this scope I deliberately defer some key things that have been discussed as vision:
eth_sendRawTransaction
semanticseth_getTranasctionReceipt
semanticseth_sendRawTransaction
eth_getBlockByNumber
/eth_getLogs
etc. semanticsHowever, this PR is a step towards all of the above.
Architecture
Data model for Privacy Groups
I am proposing that each Privacy Group is identified by the ID of a
state
.This means it has:
Due to the distributed nature of privacy groups, where they are generated by one party and shared with another, this has lots of really important characteristics around clash-prevention. We can't do something as simplistic as assuming a single common property called
name
can be made globally unique. We also can't assume any group of parties will have a single privacy group - there could be thousands/millions, if a new privacy group is used for each bi-lateral transaction for example.It also means I do not need to re-write all the query semantics for generic indexable fields, as they are re-used from states.
But it does mean some restrictions on the API:
name
), you need to know the schemaIt also means the ABI schema for a privacy group will need to be distributed with that privacy group, and we'll need a new domain API integration point to validate that a schema and privacy group is parsable by it.