Loomio

P2P/ Distributed Network Protocols

Draft PublicSeen by 159

@draft asked "Are you creating something like holo" : https://www.indiegogo.com/projects/holo-take-back-the-internet-shared-p2p-hosting-community-technology#/ ?

@bobhaugen started a list of projects that could be investigated for similar uses. Feel free to add candidates (in alphabetical order):

Bob Haugen

We're looking at Holo as one potential technical infrastructure for an agent-centric OAE. They agree on the agent-centric part, and they want to support economic networks, so they are attractive from a valueflows perspective.

We're not deep enough into the details to know if we'll go with holo or one of the other possibilities. But we're talking to people there.

[Edit] but we don't to create something like holo ourselves. Just ride on something that already has a good team and some momentum.

Hemi Edwards

Is an agent defined specifically in terms of an individual, Bob?

Hemi Edwards

That's sounds really great Bob. I had actually been reading the ValueFlows docs, but had yet to reach that section. I have been discussing the possibility of developing coordination and exchange infrastructure with an international group of developers, that is more compatible with the indigenous world view of my people (Maori of Aotearoa/New Zealand) as I understand it. I think that the ValueFlox framework is abstracted enough to support this goal.

We have a Slack workspace dedicated to this project. Would you be prepared to join in the discussion or consider the possibility of collaborating with us?

Hemi Edwards

I came across this thinkpiece written by Joichi Ito, formerly the director of the MIT Media Lab on a drastic reform of modern accounting. Maybe it would resonate with you?

The economics notion of consumers making financial decisions to maximize "utility" as a kind of proxy for happiness is another example of how the notion of a universal system of "value" oversimplifies its complexity-so much so that the models that assume that humans are "economically rational" actors in a marketplace simply don't work. The simplest version of this model would mean that the more money you had, the happier you would be, which Daniel Kahneman and Angus Deaton argue is true up to about $75,000 a year in annual income.[1]

"Today, we have the technology and the computational power to create a system of accounts that could retain and deal with a lot of the complexity that the current system was designed to avoid. There is, for example, no reason that every entry in our books needs to be a number. Each cell could be an algorithmic representation of the obligations and dependencies that it represents. In fact, using machine learning, accounts could become sophisticated probabilistic models for what might happen depending on how things around them change. This would mean that the "value" of any system would change depending on who was asking, their location, and the time parameters."
https://joi.ito.com/weblog/2016/04/26/reinventing-boo.html

Bob Haugen

@hemiedwards

We have a Slack workspace dedicated to this project. Would you be prepared to join in the discussion or consider the possibility of collaborating with us?

Sure. Are you in NZ now? I'll send a PM and we can discuss details.

Draft

What are the other possibilities (if the list is public/available) ?

Bob Haugen

My short list includes Solid from the semantic web gang, SSB, DAT, and IPFS. I know other people are thinking of the newer types of blockchains.

These are all technical protocols (if we can accept a blockchain as a protocol, which is a stretch) using the idea of vocabularies + protocols to get an open app ecosystem to be an ecosystem instead of a random collection apps with maybe single-signon.

Could also use the Web as-is with HTTP as the technical protocol and Solid as the app framework.

Other people may have other ideas.

Lynn Foster

I think all these discussions about future backend technical protocols are great. And I agree with @bobhaugen about riding on something already in development.

Just fyi, all the experiments I am working on right now (with the exception of one ssb experiment that hasn't really gotten off the ground) are still web as-is with various standard databases sitting underneath the backends. So moving from platforms to smaller open apps that can message each other and talk to different backends, but without more radical changes. For now.

Draft

Thank you for your list ! Unfortunately, I have some troubles to find information about the initiatives that you talk about :/ Would it be possible to put links too to have more information about them ? :)

Tiberius Brastaviceanu

I am also looking closely at Holochain. I spoke to Samer from https://p2pmodels.eu/ about it, they will consider it as well. SENSORICA and p2pModels will probably collaborate. I like Holo because it is agent-centric, and because they like asset-based and service-based currencies. This is what we are also looking for with SENSORICA, currencies that are backed by economic activity and utility currency. Moreover, the whole notion of current-see is something that we want to implement in SENSORICA. Not to mention our alignment on values, culture, worldview... They start with a p2p cloud application and we want to explore how we can move our CMS and CRM out of Google. I did my part in Montreal and that resulted in 5 holoports being purchased. So we put our money where our belief is.

Caroline Smalley

Ditto @tiberiusbrastavice beta CM will be on Rails - well underway, but we're thinking gamma in Holo. Rails will make it easier to grow the market but distributed hosting through Holo makes so much sense. Understanding is we'll need to build our own blockchain for CM currency, but when activity is managed through Holo apps, can look at exchanging for Holo.

Caroline Smalley

CM currency is based around P2P marketing

Danyl Strype

Would it be useful to rename this thread to reflect that it quickly became a broader discussion (and an important one)? We could all learn a lot from comparing and contrasting the various projects defining standards and building blocks for federated and decentralized networks of apps and sites, such as those listed earlier in this thread by @bobhaugen

Oli SB

I'd second that - perhaps "existing distributed framework projects" or similar?

Greg Cassel

That could work. I'd say we're technically looking at distributed activity frameworks, or p2p activity frameworks. (But 'distributed framework' is more concise, and probably better if it seems reasonably clear.)

Danyl Strype

Language can get so tricky here! Distributed/ P2P, definitely. "Activity" is gaining a narrower technical definition, but I would go with "network". Are we talking about "frameworks" though? That makes me think of web frameworks like Rails in the Ruby world, or Zope/ Django in the Python world. I would go with a title like "P2P/ Distributed Network Protocols". Any objections?

Greg Cassel

Well, some of these projects are literally protocols, and others are apps (although they may contain protocols). I personally prefer framework because I find it generic, flexible and accurate. Web frameworks can't own the term 'framework' any more than, say, a car chassis could own it. I think we'd be artificially impoverishing our language by deciding to use framework only for web application frameworks.

The term I personally use in one of my key docs is 'organizing framework'. Not sure why I didn't think of that up here above.

Of course you can call anything whatever you want to call it! I just try, in my social circles, to generally steward the potential of English to be used as flexibly and accurately as feasible.

Bob Haugen

The differences in my mind between protocol, framework, and platform include:
* a protocol usually has a specification, and if you can follow the specification, you can use the protocol. So the Web stack was a protocol. Many independently-developed Web servers and clients and pages use the protocol.
* a protocol usually has some software that runs it, but if it is really a protocol, many independent software components can run and interact with each other using the protocol.
* a framework is usually a set of software components that people can use to develop applications.
* so for example, with Holochain, we are creating a framework that will run top of Holochain the protocol, that we and others can use to develop economic network apps.
* we and others are developing similar frameworks for the ActivityPub and SSB protocols.
* I see some differences of opinion on platforms, but to me, and platform is an all-embracing, usually centralized, system, that will usually be developed on a framework, using a protocol, but you are usually stuck using the platform's implementations of the framework and the protocol.

So in terms of degrees of freedom for independent development:
* a protocol has the most
* a framework has less
* a platform has the least (of those three).

Simon Grant

Useful clarification, thanks @bobhaugen

Bob Haugen

Counterpoint: in terms how much help the foundation gives you in developing apps to run on it,
* a protocol gives you the least
* a framework gives you quite a lot, but you still need to deploy
* a platform may not require any code at all, or might offer an API with some doc.

Greg Cassel

I agree @bobhaugen regarding your useful distinctions, bearing in mind that you're referring specifically to web application frameworks and not the more general (and often older) uses of the extremely flexible and IMO under-used term 'framework'.

I guess the key issue to me here, as usual, is to focus on frameworks for person-to-person interactions first, and only secondarily on well-defined activities which people desire to automate through apps.

Danyl Strype

@gregorycassel

Well, some of these projects are literally protocols, and others are apps (although they may contain protocols).

That's true, but the focus of the discussion is mainly on the re-usability of the protocols used in said apps, is it not?

I personally prefer framework because I find it generic, flexible and accurate.

Funny, that's precisely why I don't think it's the right word here. I think we need to confine the discussion in each thread to more specific topics, so that as the activity in the group groups (as I hope it's about to), people can find the discussions that are most relevant to their interests and their work.

I think we’d be artificially impoverishing our language by deciding to use framework only for web application frameworks.

Oh, for sure. I guess I'm working on trademark logic here. Words can have many meanings, but it's confusing if they have multiple meanings (or overly broad usage) in a specific context. In the context of internet technology, I look at the title you suggested, and my mind automatically jumps to web frameworks, not what the discussion (so far) is actually focused on.

Of course you can call anything whatever you want to call it!

Cool. I'll change the title now. It can always be changed again as the discussion in the thread evolves.

Greg Cassel

the focus of the discussion is mainly on the re-usability of the protocols used in said apps, is it not?

Yes, good point, and I'm pretty happy with "protocol" being a key title term.

mfioretti

two comments. First is an addition to, or maybe another dimension of, the "protocol vs framework vs platform" distinctions:

protocols are much more scalable and much more robust, i.e. way more p2p than the rest. Build a platform alternative to "X" (where "X" is Facebook, google, airbnb, whatever) and everybody else has nothing to do, just jump into it... because YOU carry all the tech, legal, funding etc.. burdens of scaling it up and keeping it work. To offer a platform you must become the next Zuckerberg, with the same spending and potential surveillance powers, WHOEVER "you" is (coop, government etc).

Whereas if you ONLY build a protocol, e.g. email or http, everybody can and should build and maintain their own independent but automatically interoperating part of it with their own money, policy, responsibilities, liabilities... and the whole show keeps running without an itch if you the builder, or even 30% of the "everybody" partners retire in a monastery every year.

Second comment, no, a question: may I ask WHAT do you want to do? Not HOW (i.e. protocols or platform etc), but WHAT? And by "WHAT" I mean "if Santa Claus brings you tonight unlimited money and all the programmers and other contributors you may possibly need, what will that 99.99% of human beings who can't tell a protocol from an asteroid get and who will NEVER; EVER "run their own server, exactly? What will they do with it? What will they see on their screens? What will it look like, and what will it replace? Facebook, Airbnb, whatever, all of the above?

Not having this clear is equivalent to debate how to build the next generation of electric screwdrivers, expecting that everybody will use them to build what they actually needed... e.g. a toaster, or a door handle. It would be highly worthwhile in and by itself, no doubt, but with very little practical outcome, if any. Because this is a problem space in which anything that doesn't work from the outset for that 99.99% of people above won't produce enough change, soon enough to make any meaningful difference for society.

Bob Haugen

Totally agree about protocols vs platforms.

Re what we want to build, some of us are fairly clear: we want to build software that will enable economic networks, and networks of networks, eventually constituting a new economic system. For example, https://docs.opencoopecosystem.net/

Christopher

So the "protocol vs framework" hits the nail on the head, when considering Holochain as a technology. The core, agent-centric protocol would be extremely useful. Unfortunately Holochain are really driven by creating a vendor lock-in scenario: https://prezi.com/view/NvRAZ35fln9i70V3YCrl/

Looking forward, the core agent-centric protocol is not huge - the core idea being that the protocol is federated by nature, since agents must be trustless.

There are several companies we work with that have moved away from what I consider (as a founding employee - my photo is on the indigogo page) their pretty toxic internal politics and ... less than open technology.

We will have an open, federated protocol, and at least one (node.js / browser) client, that is agent-centric by September this year. It is very worth getting to grips with the concepts behind agent-centric design. Maybe you can put pressure on Holochain to actually build what they say they are! I know we couldnt do it from inside the company :)

Bob Haugen

@christopher7

We will have an open, federated protocol, and at least one (node.js / browser) client, that is agent-centric by September this year.

Who's "we"? Did I miss something?

Christopher

nope. we is just my project. we work in education and high end linguistics and cognitive neuroscience. I can see there is potential value for a policing neighbourhood dht, or something similar. that's a bunch of us with various open designs. the prezi gets the idea across.

Deleted account

Hey Chris - it's Adam - nice to see you on here! I am not a techie as you know but want to get to grips, as far as possible, with the concepts that underpin Holochain and agent-centric design. Where should I go in order to get to grips with the broad concept of agent-centric design? Are there any articles, videos, books, etc that you can recommend? I don't mind wading through stuff that I don't understand and which goes a bit over my head. Just as long as it isn't just lines and lines of code which, as a non-coder, is fairly incomprehensible to me - Cheers! 🙂

Deleted account

I've taken a look at the Prezi and gotten what I can out of it without taking time out to study coding and computer architecture. I guess the thing that struck me most was the point that you were making about how it will be possible to do much the same thing with Wordpress and Python (and one other) as Holochain are trying to do, and, hence, what they are trying to do amounts to making life unnecessarily difficult for themselves in terms of reaching their stated goals. Am I getting the basic gist of you POV? What struck me, in my hazy fog of half-understanding, was that what you were saying was probably correct with regards to aspects of what they are trying to do, but that surely there must be aspects of what they are trying to do, that are considered desirable, that they wouldn't be able to accomplish in the way you describe (i.e. using Wordpress or Python). For example, a big, big part of what they want to do is to facilitate distributed hosting and distributed computing so that we can break the strangle-hold of the web-giants (Google, Facebook, Amazon, etc) storing all of our data on their servers and acting as a bottle-neck for all of our communications. So surely distributed computing and distributed hosting is a very important part of what they are trying to accomplish here and not something that you can do with Wordpress, etc? On the other hand I also take very seriously the idea that they may be doing things that are unnecessary for the sake of having their own signature written all over it and want to do my best to make an independent assessment of that! Please excuse my very hazy view of things. I'm trying to understand things that I recognise as important.

Christopher

the prezi makes very clear the part I consider to be brilliant, and useful. the rest of it is deeply counter productive to the movement, delivers literally no value, it's very time consuming, and being presented as a necessity of agent centric design. which it is not.

if you want to get a feel for the logic of it, start with "what is OPT-OUT security", in your mind, and ask questions from there

Simon Grant

@christopher7 , @olisb , @tiberiusbrastavice , @z428 I am relatively inexperienced technically, but I see some really very important issues coming up in what @christopher7 has written about the Holochain setup. To the extent that @christopher7 is correct, it would seem good if somehow Holochain, or others, could take account of his points. To the extent that @christopher7 is mistaken, it would be great for everyone to get to the bottom of it, partly in terms of our collective understanding of what is likely technically to work best and what not, and partly in terms of our social interactions: how do we best treat people who raise doubts about something? How do we restore good relationships that have been hurt? Discrediting ad hominem is, I believe, a really unwise approach. I recognise that this puts some burden on the Holochain builders and supporters, but to me that investment of time would pay off handsomely in terms of social reputation, as people who can handle dissent rationally and respectfully, and recognising that everyone's needs matter. Can we model how we would value such disagreements to be dealt with in our P2P world? P2P justice and fairness? But also, learning and education ... as someone with a limited technical knowledge, I would so much enjoy a clear setting out of the points, deep enough so that people like me can arrive at their own conclusions.

We have other disagreements in related Loomio channels as well. It means a great deal to me to have these disagreements handled well, in a positive way that restores trust and the ability to work together constructively. Otherwise we fragment, and simply get lost.

Would people be willing to take this specific discussion, about Holochain, to a separate thread? Maybe we need a separate thread whenever a tricky disagreement arises?

Christopher

Gosh. Where to begin. Firstly I respect and enojoy your position and clarity of expression.

As to the technology, I am a founding employee of Holochain, worked there for 10 months, a coder of 30 years, I wrote various initial drafts of white papers, coded a bunch of stuff for the Holochain Core, helped design the neighbourhood gossip protocols, and maintained core respect values for all during meetings.

I can tell you that I spent months trying to work through these technical issues with the two directors, and my opinion that they are deliberately buliding a vendor lockin "platform" is based on my complete failure to have the issues acknowledged, let alone make changes. I was unable to complete the whitepaper because of this, and the corollary lack of research into the security of the design, since no work was done on the actual policing neighbourhood dht certainly for the first 18 months of the project. In my opinion, that dht could have been built in 6 months.

Im not sure there is a disagreement here, as of yet, in the form that you mean. differing points have been raised, but I dont see any kind of "argument" happening.

As to a new thread, I am happy to discuss any level of depth about the technology.

Kristian

I'm a bit lost at the moment as I don't actually see the problem. Mentioning and discussing Holochain out here apparently has caused some controversy, but I'm unsure whether people have been discredited all along these lines. Do you think the discussion moved into this direction? Generally, of course, my expectation would be that, no matter how strong a disagreement on a technical or conceptual level, people are very well "professional" enough to keep things from degrading to an ad hominem level of discourse... ;)

Bob Haugen

To the extent that @christopher7 is correct, it would seem good if somehow Holochain, or others, could take account of his points. To the extent that @christopher7 is mistaken, it would be great for everyone to get to the bottom of it, partly in terms of our collective understanding of what is likely technically to work best and what not, and partly in terms of our social interactions: how do we best treat people who raise doubts about something?

I think it would be necessary to have somebody from the Holochain core team respond to @christopher7 's criticisms. They have a lot on their plate, I doubt it will happen, at least not here. I don't know enuf to do any kind of rebuttal.

And that also assumes this group wants to take on that kind of quasi-judicial role.

Regardless, it might be useful for Christopher to summarize his main criticisms in a simpler form than a prezi: like a list of specific issues, if possible without oversimplifying too much.

Christopher

it's not my responsibility, nor desire, to help guide people and projects in their technology choices. I've made myself quite clear already. specific questions I am happy to answer.

Bob Haugen

@christopher7 I'm willing to discuss your technical and vendor-lockin criticisms as best I can, but you have not made yourself clear enough already to do that. For me to discuss your issues, I would need to summarize and list them from your prezi, and I would probably miss or misunderstand something, and then you would need to correct me, and it would be a tedious waste of time for me, you, and everybody else.
So I am requesting that you meet me half-way and list your main issues in a form where I can easily respond in a text comment.
I am not asking as a ploy so I can piss all over you. I will take your issues seriously.
I can't discuss the toxic internal politics because I am not involved with them as an outsider.

Bob Haugen

Ok, thanks. I will respond tomorrow latest. Might have a question or two. If anybody else wants to help figure this out, I always need help..... 🤔

Simon Grant

Thanks for the responses. @bobhaugen I am absolutely not suggesting a quasi-judicial role, but exactly the opposite. I'm sorry that I didn't make that clear enough; thanks for the opportunity to clarify. What I am looking for is to reach a position of mutual understanding, where if there is a difference of opinion it is an "agreement to differ" which would be absolutely fair enough. What I see, Kristian @z428 is that @christopher7 is suggesting that (e.g. as above) "Holochain are really driven by creating a vendor lock-in scenario" and that they have "pretty toxic internal politics and ... less than open technology" -- which I see as reasonably serious claims. I read others, including @olisb suggesting on the contrary that @christopher7 is motivated to express these opinions by disappointment / resentment (I don't have the quote to hand at this moment) and that his claims do not hold water. @olisb gave an explicit "thumbs down" above.

In my experience, this is the kind of disagreement that, if left unresolved, can lead to long term ill feeling and lack of trust -- leading in turn to fragmentation of effort, lack of co-operation, and a weakened effectiveness in the "real" world out there. Therefore in my view it is in the interests of the whole community to restore these and other similarly damaged relationships. It isn't going to be resolved by people simply restating their positions. @christopher7 , I recognise and accept that it is not your role to decide other people's technology choices. You may have the impression that you have made yourself clear, but as far as I can see it is clear only that you have doubts and reservations both about the technology, and the internal culture of Holochain; and it is not clear (to me) exactly what the substance is there. I am not able to give a technical opinion -- and I suspect no one else here is, without the deeper analysis that I am suggesting. That's what I hear @bobhaugen looking for. But my much greater concern is for the emotional side, the feelings and needs of all parties concerned. If we are (all) going to make these kinds of project work, it seems to me that it is imperative to tackle cultural behaviour patterns in a positive and constructive way. All I am doing is calling out what I see (and please recognise that I am not assigning any blame on any side) as a tricky situation which needs something better than the kind of response that is common in these situations, to complain, avoid, resent, without any resolution or restoration.

Alongside "Distributed Network Protocols" we need to build supportive and caring cultural practices. @richarddbartlett is one of the people who have a great deal of value to say in this area. I don't believe that the technical solutions will thrive without the social and cultural ones.

Bob Haugen

I totally agree about their importance, but the social and cultural and emotional issues involved here seem to be between Christopher and Holochain people. What can we do about them here? Or is your point that those are important issues and we should be caring about them among the people who are engaged here? If so, yes please, and if I ever fail in that regard, please gently nudge me in a better direction.

Simon Grant

Bob, I really appreciate your offer to hear out Christopher on the technical issues. I'm sure that itself will help in one or more ways. On the wider matters, my sense is that whenever there is an unresolved conflict, it seeps into the ground surrounding those in conflict. For instance, I don't sense any harmony or understanding between Christopher and Oli.

So while your question "What can we do about them here?" seems to beg the obvious common sense answer, "nothing", at another level I don't believe that is entirely true. It's not true in my direct experience either.

My belief is that the more we live that "solidarity" culture (which by the way does not avoid conflict at all, but addresses it positively and with care) the more we, here, can be living and building the culture that will support (and be supported by) the kinds of distributed and P2P technology that we are also concerned with.

I see Michel Bauwens @michelbauwens1 also as in tune with this general theme. P2P is at the same time technical and social, and the two go hand in hand.

Christopher

I dont know who Oli is :)
My personal feelings about the Holochain management are not relevant. What is relevant is at least the broad scale of direction that "our" time is spent on, and I simply submit my interpretation of the software for yous to consider.

I am well trained and deeply motivated to maintain solidarity culture.

Oli SB

Hi Christopher, and all,
I'm Oli - I run https://open.coop I'm a fan of Holo and replied to you above.
Holo folks are my friends. I am not affiliated to the project in any way.
Like Bob says they're busy... too busy to get drawn into this chat...
I agree with Simon, it's good to clear up any disagreements, it's definitely a part of the culture we need. If anyone wants to discus a specific disagreement I think a new thread is a good idea - and should maybe be part of the group guidelines.

Christopher

Dear Oli. good to meet you. I lived and worked in the holochain house for many months. I consider many of the folk to be my good friends. I am/was emotionally close with almost every person. the world, however, is not so one dimensional.

it is clear that the technical discussion doesn't rely on any human level analysis.

on a slightly more intentional level, the decision (-) to ignore the broad implications of points I raised when I was one of only three programmers (including Eric), should be considered rationally, but may not be important to some or anyone.

Christopher

oh yes, we met. I enjoyed your company. we are both quite effective.