Loomio
Wed 16 Jan 2019 2:55PM

Requirements for a protocol for agent-centric P2P economic networks

BH Bob Haugen Public Seen by 117

Here's my current definition of agent-centric. I'll explain what I mean by protocol in this list of proposed requirements:
* Must be a protocol
* Must have an openly published specification.
* Any independently-developed software that follow the specification must be able to use the protocol to communicate with other software components that do likewise.
* Must be agent-centric, where agents can be individuals or groups, and each agent must be able to control their own identity, interactions, and data, and select their own software to use, as long as the software follows the protocol.
* Must either use a common economic vocabulary to communicate, or be able to translate their ingoing and outgoing communications into a common vocabulary.
* The protocol itself must be managed as a commons in the Elinor Ostrom sense.
* Must be able to provide reliable local [consensus](https://en.wikipedia.org/wiki/Consensus_(computer_science) among the participating agents in a scope agreed upon by the participants.
* More on this requirement in a comment.

Some people might disagree with this requirement, but
* I think, at this stage of the evolution of the general intellect, the protocol needs to work on the World Wide Web. Can provide private spaces as needed, but accessible via a Web browser.

There is no single protocol that satisfies all of those requirements at this time.

Several candidate protocols were mentioned and discussed in this previous thread. None of them is adequate by itself. Yet.

This google document discusses some of the pluses, minuses, and problems with three of those protocols.

If you don't like google docs, here is an open source framapad with the same info, but without all those comments. Altho that doc is also open for comments.

I don't want to repeat all of those arguments here. I want to discuss how to move forward and assemble a protocol that does meet all of those requirements, and any others that people want to propose. At some stage of discussion, I will create a poll or two to allow people to weigh in on the adequacy of the requirements and maybe, if we are lucky, on the proposals for moving forward.

DU

Deleted account Wed 23 Jan 2019 11:42PM

Chris, what are we supposed to be making of this mysterious "be prepared to have your predictions come true" comment?

C

Christopher Thu 24 Jan 2019 12:05AM

it's my email signature.

try to stay grounded, in general, unless you are doing it for fun. it's relatively easy to do if you know what you are doing for yourself, and so the work to be clear about it to others

M

mike_hales Tue 29 Jan 2019 11:06AM

Who's interested in this topic?

Totally fascinated @bobhaugen :D But sadly, no technical skills whatsoever in this domain. I hang in here to learn more about the politic of 'protocolling', which is foundational. Looking forward to seeing you sklilfully chewing your way thro this Bob! Probably without needing to read read Pirsig?

BH

Bob Haugen Tue 29 Jan 2019 12:42PM

@mikeh8 thanks for hanging in. And yeah, protocols are foundational, good word choice.

I make no promises about skill, I have a little knowledge of the requirements for consistency, validity, honesty, etc, in distributed systems, but you know what they say about a little knowledge...

I am studying and talking to people who have more.

DU

Deleted account Tue 29 Jan 2019 9:41PM

Same here Mike - no technical knowledge but plenty of enthusiasm - so you're in good company (at least I'd like to think so)! :-) ;-)

GC

Greg Cassel Fri 25 Jan 2019 11:05PM

I'm interested. My participation is time-limited and technically limited, since I don't code software and I'm only weakly familiar with ActivityPub and the existing WWW protocol stack which you want to interface with. With that said, thanks much @bobhaugen for focusing on the immensely important issue of agent-centric communications protocols!

BTW I haven't read all docs & links related to this topic, but this article quote caught my eye:

ActivityPub doesn’t support fine-grained access control checks, e.g. I want someone to be able to see my posts but not respond to them

^ I think that's a big problem. Separately-identifiable media resource access and edit rights are essential to all of my community models. I guess however that that ActivityPub limitation can and probably will be fixed eventually.

General personal context: I focus mostly on human-to-human protocols, such as Inclusive Network Governance Framework, which could interface (directly or indirectly) with computing protocols. My most relevant interests here are agent-based protocols for developing digital collective IDs, collective resources (including apps and protocols), and collective resource versioning systems. These interests are reflected in my conception of a collective resource description framework which can, theoretically, hold any digital media, supported (and updated) by any collective. This "CRDF" is conspicuous in my P2P Modular Organizing Framework model. Another prominent concept there is the distributed app, because I think that distributed computing (signaling, processing and hosting) is practically necessary to sufficiently support the inclusive p2p communities which I believe we'll all need.

IMO, another big element of effectively developing agent-centric p2p information will be something like Collective Media Markup Language. However, I doubt that much of CMML (or anything like it) should be built directly into a basic comms protocol. Most of it can and probably should be developed to add as a separate layer to data-items and their RDF annotations (which would include all machine-readable semantic links).

I perceive Bob that you're focused here on developing a requirements list for a p2p protocol which we'd all want. FWIW, the general technique I suggest for identifying shared design goals and agreements is based on Inclusive Design Framework. (Needs work though; as does Inclusive Network Governance!) I know you've seen that, but fyi (for everyone), some IDF elements:

  1. Identify and discuss each peer's positive and negative requirements and recommendations for the conceptual and structural features of the product (which can be a good, service or shared activity.)
    • negative requirement= prohibition; negative recommendation= dislike
    • Conceptual features are more basic than structural features. Structural features, including hierarchy, organize a product by developing components to (hopefully) support its overall conceptual features.
  2. Gradually clarify a mutually approved list of wanted and needed conceptual and structural features of the product.
  3. When #2 is reasonably stable, any number of designers (persons or teams) could research & develop compatible prototypes.
    • People can & probably will do R&D work before #2 happens. #2 is simply, IMO, highly advisable to reduce social risks, such as excessive commitment to deeply conflicting approaches.
  4. Each designer should engage the community via FYI and RFC announcements.
  5. If a designer seeks the full support of any specific collective, launch a formal proposal to approve a specific finished prototype as a collectively endorsed (and possibly co-governed) product.

Hope that's helpful co-creative framework.

I like to imagine that if we (or any group) can develop a stable compilation of mutually approved conceptual and structural features, we will effectively identify (in Bob's words) "a meta-protocol" where ActivityPub, ssb, Holochain, and more can all beneficially operate. I sure hope so!

BH

Bob Haugen Fri 25 Jan 2019 11:32PM

@gregorycassel

this article quote caught my eye:

ActivityPub doesn’t support fine-grained access control checks, e.g. I want someone to be able to see my posts but not respond to them

^ I think that's a big problem. Separately-identifiable media resource access and edit rights are essential to all of my community models. I guess however that that ActivityPub limitation can and probably will be fixed eventually.

Christopher Webber, one of the people who worked on the standard, is also working on access controls
https://dustycloud.org/blog/spritely/

The main dev of Pleroma, who has disagreed with Christopher a lot in the past, seems to agree roughly on the approach, but of course, devils in details:
https://blog.dereferenced.org/what-would-activitypub-look-like-with-capability-based-security-anyway

BH

Bob Haugen Fri 25 Jan 2019 11:38PM

Replying to myself, one of the diffs between ActivityPub vs Holochain and SSB is ActivityPub is a published standard with several different implementations while SSB and Holo either do provide, or intend to provide, whole integrated software suites for a unified user experience.

There are strengths and weaknesses in both approaches.

SSB also provides a published protocol and people are working on alternative implementations, but it remains to be seen how well they will all interoperate.

Several of the ActivityPub implementations are already interoperating.

BH

Bob Haugen Sat 26 Jan 2019 2:15PM

The downside of AP (published spec with many implementations) is that the people developing the different implementations, while they do interoperate, also disagree about some under-specified details and also about how to move forward. Some of this is because AP is a generalization spec, derived from several different previous protocols, as you can read about here https://dustycloud.org/blog/on-standards-divisions-collaboration/

And some of this is because the people who worked on the standard did not agree with each other on some of the details, as you can also read in that article.

Creating a standard is hard but necessary work.

C

Christopher Sun 27 Jan 2019 7:29PM

so the fractal space of each app being... an individual organism is that each group of people have a vision. the various interpersonal tools are equally important as the formalised expression as validation rules.

the progressions from one to the other are part of the responsibility of the group, not the software.

the simplicity of expression is available to each community as a set of choices, supported by their tech people.

the mechanism of "truth of honesty"is not limited to a sense that someone can be honest for a while, and then lie later. the pndht mechanism is more robust than that.

the core intention is to create a mechanism by which small agreements can grow. currently that mechanism is supported by (in most cases) by some sort of socially acceptable "formal" third party trust mechanism. but actually as it turns out, that mechanism had become less and less supportive of emergent concerns.

better software tools could help.

Load More