Giter Club home page Giter Club logo

Comments (1)

sbazerque avatar sbazerque commented on July 18, 2024

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.

from hyperhyperspace-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.