Metacurrency / Ceptr - building a semantic, mashable, fully decentralised internet

I’ve just read the draft white paper, and this project seems to overlap with David’s vision for SAFEnetwork, or rather Project SAFE, more than anything else I know about. It has some mind blowing capabilities already (see video demo) and represents a step change like SAFEnetwork, also uses the principle of looking at how natural systems, from atoms to humans, handle computation.

@dirvine I’m very interested to know if you’re aware of Ceptr and what you think of it. Much for both projects to learn from each other I think.

Draft White Paper (TL;DR: see notes below the video, also, watch the video! )

http://ceptr.org/apocalypse/

Very interesting list of areas they address, which include many of the problems SAFE has solutions to (though some were not entirely happy with, such as DNS). It would be interesting to compare their solutions with SAFE’s, for example the items under “IDENTITY & TRUST”, including “domain name squatting / namespace competition”. I know we’d like to improve some of that!

Related project: metacurrency.org

Video Demo of Hope / Ceptr receptors

This gives some details about what receptors are and how they can be used to build complex applications using Hope (Higher Order Programming Environment).

(Alternative text explanation of receptors and how they work in Hope: http://www.higherorderprogramming.com/what-is-hope)

Source of link: http://ceptr.org/2015/04/01/mit-kit-webinar-april-2-2015/
More about HOPE: http://www.higherorderprogramming.com/
Github repo: GitHub - cliftonm/HOPE: Higher-order Programming Environment

Notes from Draft White Paper

Reading on about how receptors are implemented there’s this…

Now, if we could provide a compute feature that was capable enough to host receptors! :smile:

But this is the mind blowing bit:

Updating, versioning, deprecating

And this on updating:

In Ceptr, we have built versioning and deprecation right into the low-level design of the architecture.

As we’ve mentioned, Ceptr data is structured as semantic trees. The first branching under the root of a receptor in the Compository is its version. So, when you reference a receptor by its Compository ID, by default you would receive the latest version. However, you can also reference a specific version by a sub-address on that ID. Semantic markers are used to note when versions maintain compatibility with prior protocols and structures or when backward compatibility is broken.

It is also possible for the author of a composition to mark the whole thing (all versions) as deprecated with a forwarding address to a receptor which replaces it. This is important when the next improvement is not simply the new version of the same receptor, but the receptor has been forked to a new composition address or its functions are better performed by another composition altogether.

We see this low-level integration of deprecation and versioning as vital to the evolution of Ceptr itself since we’re not assuming we’re going to get it all right the first time. We’re tackling far too many things at once to be experts at all of it. So, as domain experts start to take interest in Ceptr and contribute better solutions, we expect to update many things (like scape indexing, key management, certificate management, routing algorithms, synchronization methods, GPU processing, and many performance optimizations).

but before they take a bow…

Did you know that Wikipedia uses open source tools and shares its databases publicly so that anyone could come up with a way of doing what they do better and would have the means to replace them? In similar manner, we’ve built in the capacity for competing network protocols to operate in parallel with Ceptr or even replace it altogether if people opted over to that network. This too, is a part of optimizing for evolution.

There’s a lot of placeholders “to be expanded” for different aspects of their endeavour, but the demo is impressive (video above) and gives a small sense if how powerful all this could be.

At the end they list projects working on various parts of the overall problem, and under “P2P Solutions” they include “Maidsafe?” after “diaspora” - so they’ve heard of us, but probably didn’t have much knowledge of the potential of Project SAFE.

8 Likes

Looks really cool! How do we use it?

Or…how do we get them to work with SAFE ?

2 Likes

electronic engineering and design uses software very similar to this idea in the video. I agree very cool…

1 Like

Well, let’s find out, shall we?

We never wrote much about our design for identity. Our plan was to borrow a lot from folks we thought were getting this right with XDI/XRI/i-names.

This is basically “markdown for names”.

  • “=” indicates “names for people”
  • “@” indicates “names for organizations”
  • “+” indicates “names for generic concepts”
  • And many more intelligently conceived but confusing idioms

So they got the nomenclature down. But how about assignation of namespaces?

Ceptr’s identity model is similar in many ways [to XDR/XRI/i-names] with the biggest differences being that we use contextual name resolution instead of having a global top to the namespace…However, the fact that there is a central authority for addresses and names (even if they delegate some powers to ISPs and registrars)…point to some of the reasons why we need an even more open infrastructure that could operate completely peer-to-peer.

So that’s the why. As for the how, the MetaCurrency Project (MCP is to Ceptr as Maidsafe is to the SAFE Network) dives into a bit of detail (see my [interjections] for clarification):

##MCP Addresses & Namespaces

###Background

Central to any network is addressing and namespaces…[A] separation of concerns between the two levels of domain names [namespaces] and IP addresses [addressing], is that of “human-friendly” and “machine-friendly.” Humans find it hard to remember IP numbers strings, but easy to remember names that map well into our language space…

###MCP approach and assumptions

The meta-currency project’s approach to addressing: 1) Identity: MCP assumes that determination of the “true” identity of players will be an ever evolving process, so it does not build in identity into its addressing scheme. [This is mostly talking along the lines of Proof of Unique Human] 2) Location: MCP does not assume that players are directly accessible on the Internet. They may be behind telephones, carrier pigeons, etc, thus an MCP address is always considered a proxy for some other service that handles interaction with the “true” player, thus there is a layer of MCP addresses that are abstract and mapped onto internet addresses for use on the Internet. 3) Sovereignty: the MCP addressing scheme is designed around “inverted hierarchies”, which allow for mutual sovereignty between individuals and groups. [See below]

We also take a two level approach to addressing: 1) Meta-currency identifier (MCI) [namespace]. This address locates a player on the network abstractly. MCIs are the equivalent of domain names for the Meta-currency network. 2) URI [addressing]. All MCI resolve to a URI. The URI is a pointer to the peer(s) handling that MCI at given time. These URIs are equivalent of IP addresses for the meta-currency network. Just as an IP address of a given domain can change, so can the URI of a given MCI change. But MCI are unique. [Absolutely no explanation as to how the unique identifiers are created, determined, or enforced]

###Inverted Hierarchies

Internet domain names are classic top-down hierarchies. ICANN manages the top of this hierarchy, and all names live under it starting with the top level domains. This [MCP] model replicates the classical notions of ownership of a territory. The meta-currency project implements a looser, more flexible strategy for generating address space hierarchies. The idea is simply that: 1) there is no top level & 2) any group can associate with another group to form a new level above the two of them. [No explanation as to how the groups get their initial names] Thus the hierarchy emerges from cooperative behavior rather than being enforced from the top. The spaces that emerge then tend to be more about joint stewardship of a common resource, than ownership of a territory.
Design for a MetaCurrency Platform - 2009 - pg. 9-10

As an aside, that last bit - “any group can associate with another group to form a new level above the two of them.” - is quite similar to how the GNUnet Name System operates (the up-down wording convention is flipped, but it is the same concept):

GNUnet includes an implementation of the GNU Name System (GNS), a decentralized and censorship-resistant replacement for DNS. In GNS, each user manages his own master zone which is mapped into the DNS namespace under the .gnu top-level domain. Users can delegate subdomains to zones managed by other users [New level by combining the two]…A major problem of this approach is that names are no longer globally unique, requiring the use of proxies and other workarounds to address common requirements of legacy applications.
GNUnet - Wikipedia

But by MCP/Ceptr, no more at all was said on the matter. While I agree with the motivation, I just can’t imagine that they gave this much thought on any technical level. For example:

As mentioned, this certainly includes the ability to have universal IDs, but that is fairly negligible part of the problem we’re addressing (so we don’t even mention it in our list). We can use something like OpenID for now, but in the long run we need a completely un-enclosable namespace with no central or top authority. [But that is a conversation we’ll reserve for another time.]
Arthur Brock - 2009

But they do see it as an issue that “development of CEPTR protocols and platforms” is meant to solve.

This also demands…solutions to centralized namespace issues like DNS. We are currently addressing these problems with the development of CEPTR protocols and platforms.
Metacurrency Project’s Linkedin

The one point that, if possible, I would impress upon the CEPTR members is that in a decentralized system, the solution is always going whatever is considered the lesser of two evils - there’s no ability to have unique absolute/global namespaces that prevent namesquatting. These two issues are mutually exclusive. Pick one.

So no, @happybeing, I do not think that they have any solution for “domain name squatting / namespace competition”, although they do recognize it as an issue, and I applaud them for their foresight.

EDIT:

P.S. Talking about namespaces, IMO they have a better name than us…

4 Likes

Great work @smacz. One to watch :smile:

1 Like

Looks a bit too complex at a first glance. My head spins just trying to figure out the basic operation of Ceptr. But maybe it’s something really clever and powerful. Will look into it more to figure out what it’s about.

1 Like

Yes @Anders, its really interesting (not so much for the things @smacz has investigated). I like the idea of receptors and how they can be used, but there may be other things we can take from this project as well.

It great to see so many people starting different projects to solve similar problems using p2p, blockchains, and new technology as in MaidSafe’s case. Very exciting! :smile:

2 Likes

To take the matter a little further, I am a bit perturbed by the fact that they dismissed it so off-handedly.

The issues that surround this matter are indeed thought germs, and (as we have seen) are quite controversial. Many people care about it, and the only two (that I can see) solutions are polar opposites. Hence why it is a perfect example of an aforementioned thought germ.

The scariest part is that the issues will only manifest themselves down the road. It would be near impossible at the beginning to notice the subtle influences over behavior (of individuals, groups or other enties) that are inherent in these approaches. But they will be there, and they will only become more and more apparent.

Therefore I sincerely hope to see a great deal of thought into this area of computing, as it has the potential for greatness along with the potential for complete and utter downfall. A good summation:

In fact, there is no widely accepted, human-friendly, secure, distributed and decentralized namespace in which I can name some [entity or data]…and expect a browser to find it.
Thomas Lord - Wave Foundation (defunct)

And as for why:

In 2001, Zooko Wilcox-O’Hearn conjectured that a key value system, in the way the keys address those values, must make a compromise between three properties. Those properties are:

  • distributed: there is no central authority in the system (and the other nodes of the system are potentially untrusted)
  • secure: a name lookup cannot return an incorrect value, even in the presence of an attacker
  • human usable keys: keys that a human will be able to remember and write without errors

The conjecture stated that you may have at most two out of these three properties in the system.
Geoffrey Couprie - 2014

Check out the Couprie article for more information. It does a good job of dissecting those three attributes.

EDIT: I’m loving this Couprie guy. Pretty good stuff.

1 Like

Ceptr has a decentralized common repository for pluggable protocols. It seems they have used organic cells as a metaphor. The cells receive and send signals. All data down to the lowest level is semantically tagged. Both code and data are stored as semantic trees. Something like that.

They have a special cell for network connections but I’m unsure if that’s implemented yet. It’s a pretty tall order to achieve decentralized network connections and data storage. Maybe they can implement Ceptr on top of the SAFE network. Could be a powerful combination.

2 Likes

This is what catches my interest, although even without SAFE I’m blown away by the potential here. If I could only figure out how to shoehorn genetic algorithms in there too! :smile:

2 Likes

One concern is that semantic data may be overrated. I watched a Google presentation about deep learning that can recognize data without it being semantically tagged. For example an image recognition algorithm can recognize images of cats just from the raw pixel data. Another use case is for the algorithm to understand the full and subtle meaning (far more than mere simple semantic concepts) of arbitrary text.

The ideas aren’t mutually exclusive. For example, a receptor might be created to receive data that is semantically labeled as a pixel. No reason why receptors should not be created which operates like neurons and firm neutral networks, and for those to feed into other receptor groups which can recognise patterns, and at some point label an image with the semantic they recognize, such as cat.

I’m not saying you’d do that. It might be better to have a conventional neutral net do that part, add the semantic label cat, and feed that into the receptor fractal computer.

I’m saying its a very flexible mechanism. For example, imagine, as with natural nets, VLSI chips built with millions of receptors that you can program and connect together. For inclusion in a camera, a watch, a personal heads-up display, a health implant etc.

1 Like

Yes! I was thinking of that too. I forgot to mention it. Semantic data may be very useful for the software itself for example. And the deep learning algorithms are still fairly primitive.

1 Like

Came across a podcast hosted by Douglas Rushkoff (I follow him on Twitter). Listening, I thought 'hmm that sounds an awful lot like safe", especially the holochains:

35:12 Every agent has their own signed chain which becomes their immutable record, and then they share private entries to a distributed hash table, and that becomes an asynchronous eventually consistent space to eventually share the data so you can run a Twitter of Facebook without the company in the middle, it’s a platform for platform cooperatives for example,

36:20 Each person holds their part because they are accountable for their sequence of changes and events and you know for sure what happens from your vantage point only so we have sequence of time from each vantatge point and then you share it to a validating Distributed Hash Table.

3900 Nature has a voice in the very design of this system it operaties in the way nature devises systems, so the cells in our body coordinate on large scale but not by posting to some global ledger … instead every cell starts with the same instructions called DNA and embodies its own state, so you can think of every node in a holochain as a cell in an organism. It embodies its own state in its local chain and it shares some signals and information out to the shared space where it’s validated by other nodes that are randomly selected.

Anyway, he (Ceptr’s Arthur Brock) has some interesting ideas about currency and how the simplistic, inflexible nature of ideas equating currency solely to money is screwing everything up - and he’s very down on Bitcoin and blockchain because of its energy use (31:00), but not the idea behind it.

So I looked on here and found this thread - the community had got there first. I haven’t read all the above, and I’m not sure what the difference between agents and tokens is in this context, but there seems to be a lot of similarities between the two projects (holochain = datachain?). I wonder if anything has changed since 2015?

I’ve been following at a distance and they are working away I on it but I’m not up to date with progress. I watched a video of a meet where Arthur and his project partner (sorry forget names) were explaining the ideas and project needs, including detailed architecture to a small group of tech guys - trying to attract new devs to help out.

The ‘architecture’ [ahem] is very different to SAFE but as you noted there are parallels and it is very interesting, though progressing slowly I think. I think the video is on their website - long, but very good for getting up to speed on the technical, both what it is and how it works, as well as what they are working on etc.

I like their ideas but while I would think they could build it all in SAFE much easier, they have different skills and it would be a big change for them.

1 Like

I haven’t looked into the architecture yet - I only came across this podcast 11pm last night, but the idea behind the design seems remarkably similar. I’ll take a look at the video when I have a mo.

1 Like

I did have a discussion over at their blog and they are well aware of Maidsafe but only as a decentralized storage i think they have looked at it more as now they get it is also for computation apps, security and privacy and an actual internet replacement.

Maidsafe and Holochain with Ceptre as their basis are my two favorite projects… None being blockchain i guess.

@happybeing - any new opinions on this as their ICO and growth is doing well.

I am a collaborative type so would love to see two great visionary giants coordinate with Meta Ceptr and Maidsafe form the next evolution online…