Traveling Between Worlds of the Metaverse
A Proposal for a Metaverse Interoperability Protocol
With all the talk (and all the companies) jumping into building “the” Metaverse with both feet, I wanted to take a step back and think about this in a more holistic context.
The reason the internet works is that there are opportunities for anyone to come in *even now* and start from scratch and build something ground-breaking and innovative that can take over the world. And the original basis for that system started with a series of RFC (“Request for Comments”) proposals that governed the protocols that became what we now know of as the internet.
Right now, we are at the dawn of the Metaverse. Hopefully the corporate backing will continue and these systems will grow and evolve — but to do so, we need to have a common protocol that will allow people to traverse from one environment to another. That way, as “metaverses” come and go, there will be a common way that the items that you collect can travel with you in some form or fashion. Leaving it to the individual metaverses will result in items that can only be used within their walled-gardens, and those companies don’t really have much incentive to support any transfer to or from other systems.
When we use a browser to travel between websites (from clicking a link) we use a common protocol called hypertext transfer protocol (the http in urls).
This is a proposal for a similar mechanism, a metaverse transfer protocol.
With http/s, the original proposal defined the connection, request, response, and disconnection messages. The interaction is between a server and a browser or client.
With metaverses (and in this case, I’m looking at Horizon/Meta, The Sandbox, Decentraland, Cryptovoxels, Somnium Space, etc.) each of these exist within their own interfaces (usually browser or some virtual space) but as the industry evolves there will need to be way that a person can move between spaces and take things with them.
To keep with common best practices, we recommend using json to package data and send it from one metaverse to another.
The three main parts of this proposal are: the metapass, the metapack, and the metaport.
The Metapass: Passport to the Metaverse!
A Metapass is the user information that should be transferred as people move from one metaverse to another. If I’m in one metaverse, and go to another one, I’d like it to automatically know who “I” am. I’d like to protect some of the information (for personal privacy reasons) but I’d also like it to take advantage of other things that I’ve done to configure myself in other worlds. I don’t want to have to sign up for each new system, configure different multi-factor authentication, set up different avatars, etc.
The Metapack: A Bag of Holding for the Metaverse
Of course, traveling between metaverses is only fun if you can bring your stuff! While there are things that won’t be transferrable (like bringing a new hat for your avatar into a world populated by cars) there needs to be a common protocol for metaverses to accept items from other worlds and allow you to make use of them within their context.
The Metaport: The URL Bar for the Metaverse
Which leads us to a portal — a way to travel between metaverses. It’s one thing for everyone to end up at the same starting point, but that could get complicated and confusing managing crowd control. A metaport is a method of describing where you are coming from, or where you should go. Think of it like a set of coordinates from one world to another. This way, there can be bi-directional portals between worlds — which will become very helpful as these worlds expand over time.
Conclusion
I will be going into more detail of this proposal (with example json and code that could simulate how this data moves between worlds). If you would like to know more (or assist with development) please reach out to me at twitter.com/jeffreality .
If you would like to contribute or examine the latest code, the Github
repository is located here:
https://github.com/jeffreality/metaverse-interoperability-protocol