-
Notifications
You must be signed in to change notification settings - Fork 12
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
Comparison with other P4P protocols #56
Comments
I don't think such a comparison exists. Thanks for the pointer to Herb Caudill's presentation. I heard the ending of your presentation at Braid's meeting the other day and got a feeling there were some things in common with HHS there too. I'd also love to chat about this! HHS also uses a signed merkle DAG to model the history of each "object" in the system, so that's similar to what Herb was describing. He mentioned that the ACL could be held in an Automerge object at some point, and that's how it works on HHS: the permissions are stored in one object, and then there's a way to express that operations on other objects depend on some predicate on the ACL being true at that point in time (actually, at a given point in the DAG history). When an object depends on the state of another like that, their histories are cross-referenced at points when these predicates can change (in this case, when the ACL changes). The end-result of all that machinery is that, eventually, everybody agrees on whether an use of a capability granted by the ACL was valid or not (e.g. it had been revoked). All the operations in the history are reversible, and when such a thing happens the state is changed to reflect the correct sequence of events (by automatically undoing and re-doing whatever is necessary). One limitation of this approach is that the permissions are strictly stratified: there's an owner, who can add/remove/change everybody's permissions. Admins who can do the same for everybody except the owner and the other admins, and the rest who cannot change any permissions. I think this system is already on the fringes of what can be called "coordination-free", because of the potential extensive undoing you may need to incur. But that limitation can be lifted, of course, by using more on-line coordination. In HHS, this inter-entity dependency mechanism is general, and not tied specifically to user permissions. We've prototyped ledger settlements in this way, for example, when there is some level of trust (and reverting to this undoing when that trust is breached). The general principle we used is very old, and was introduced in the 1985 paper Virtual time by D. R. Jefferson. |
At P4P Berlin we talked about various protocols that partially overlap in goals with HyperHyperSpace last weekend. Would be nice to have a more detailed comparison of how HHS fits into that and compares in features with other protocols! Does such a comparison exist already?
Also, I remember two years ago at Ink&Switch Unconf in Berlin we had a discussion about how to kick someone out of a group, and then yesterday this exact topic came up at the Local First online meetup:
https://youtu.be/Fm_BlBm1gTw?t=1471
How do those "signature chains" compare to what HHS does? Would love to chat more about this!
The text was updated successfully, but these errors were encountered: