MetaPubz -- A Proto-Specification

Publishing content is central to a distributed social system. Attempts at creating publication platforms have really underscored the point that we don’t need platforms, we need standards.


Source Tweet

That doesn’t mean we don’t also want platforms which can create or view content (and associated metadata), it just means we do not want that content (and associated metadata) to be bound to a single platform.

This community may not be aware that I was invited to give a talk on this concept (and related concepts) for a conference on web3 and (open) science back in 2019. You can find the recording of that talk here “Reimagining the Science Commons”

The core principle set out is that we can organize content metadata, including a wide range of contribution types and store that metadata to create open ‘bibliometric’ records: authorship, citation, and other network metadata. In fact, i use historical study of bibliometrics as an extended example in the introduction of this article about SourceCred and dynamic games:

As I noted in my ‘proto-specification’ for MetaSkillz, i think that the MetaSys is going thrive on the richness of the data in peoples profiles. Who needs college transcripts, linkedin, or even google scholar, if i can proudly demonstrate my guilds, skills, publications, etc on MyMeta. And if someone wants to create their own applications that publish data to this web or if they want to create their or UI for looking into this web, awesome! For me the key is the shared, decentralized backend with content addressing serving a critical role in binding content to a verifiable name-space, and especially in binding references: if content addressed data contains a reference to other content addressed data, that reference cannot be changed without creating a new (uniquely identified) instance of the original content.

I’ve been scratching at the edges of this idea for years – in 2018, I wrote a draft working paper with Matt Stephenson (then a PhD student in behavioral economics at Columbia). Here are some excerpts:



I will share that document upon request but it was left in an unfinished state, and i think it was an overly complex presentation of the ideas in question. So instead of returning to a more academic formalization of the idea i’ve opted to write another ‘proto-specification’ which defines the metadata structure i envision for a simple standard that would allow for massive organic growth of the web of content.

As with the MetaSkillz proto-spec, I am building on the idea of NFT token contracts.

Example Schema:

Publication Contract Data
token address: <contract address>
plain text name: “Colored Directed Acyclic Graphs”
version number: < integer> %default to 0, but allows for items with the same name to be differentiated
additional details: <string> summary text
content address: <ipfs content id> %even if the file isn’t available via IPFS, this makes that content uniquely identifiable, i could be requested from the author, or even a right to access the content could be purchased via a data market: see ocean/filecoin integrations
authors: <list of addresses> %external accounts of authors
reviewers: <list of addresses> %external accounts of reviewers, think of the common pattern of thanking people for input and feedback in advance of publication
citations: <list of addresses> %should be other addresses of other token contracts adhering to the same standard

What is interesting about this pattern is that it is very very simple. Although the publication token contract is essentially an NFT contract the “tokens” associated with it are non-transferable. You can think of it as minting the ‘authorship’ and ‘reviewership’ tokens on mint. Furthermore, the inclusion of the citations in the metadata, create natural way for content to be linked over time. It might as simple as citing a past version. Suppose i write and publish something with an empty citation list and an empty reviewer list, but then a friend reads it, gives me feedback and directly me to some other relevant writings. I could publish a new version which “cites” the previous version, the newly referenced content, and adds my friends address as a reviewer.

In the short term the network of content might be pretty sparse, but over time, if adopted, the specification would enable bottom up collaboration in both scientific and artistic enterprises. Ideally, helping to breakdown the rather artificial boundaries between artistic and scientific exploration.

Plus, i totally want to find a way to migrate my publication history into MyMeta.
:purple_heart:
-mZ

5 Likes

This Is The Way.


s-bar ∈ S

Could XP being generated by the metaGame be considered a ‘contribution’ in the above framework? If we consider ‘liking’ something, is that an ‘attribution’ event?

The framework described applies pretty directly. XP is ‘cred’ in SourceCred, so any “contribution” is a piece of (meta)data that is indexed by the SourceCred algorithm and assigned value via metaGame’s SourceCred instance.

So, what I am really interested in doing with MetaMaps, is connecting it to the Attribution Network data store, and using an alternative set of params to provide not just ranking (I assume this works as a count of edges between nodes?), but other ontological dimensions to the analysis as well, to develop Class models for the nodes and edges, and compare them to an Ontological model of Game Balance we are designing for MetaGame <3 There are 2 main reasons to want to do this: 1) I think it would make for a pretty neat environment for the MetaVille space, and 2) this will allow us to define not just the degree of value, but the area of impact for contributions players deem valuable <3

1 Like

In my opinion the “objects” (or nodes) in a SourceCred contribution graph might as well just be generic data objects with headers that contain 2 types of information:

  1. object metadata (and dimensions and fields, required or optional giving context for the SourecCred algorithm to computer how much the node produces, retains, etc); as i underst and it, right now this is metadata is essentially based on the plugin (discord, discord, github)
  2. relationship metadata (references to other objects, these are just points to other “objects” or nodes); there are also a range of different kind of connections, for example ‘comment’ object may be a reply to an issue in the github plugin. or a discord message may include a tag to an identity.

identity nodes are a kind of special case of “object” – the entity resolution JSON files help create bridges across nodes from the different plugins via the nodes representing the human authors/actors.

The fundamental abstractions that define SourceCred contribution graphs support the more general ontological mapping you are describing but in practice implementations are limited by the plugins as they exist. Personally, i think a generic plugin for linked, content addressed “objects” in the vein of the metapubz – protospec would go along way to make contribution networks (with arbitrary metadata) more easily implementable but it pushes some of the head-ache up stack to configuring your weights as a function of that metadata. Even in the simplest case weight configuration is a non-trivial (subjective) task for a community.

The article you liked on Network Formation Games, was the second short article, I wrote on SourceCred, the first one was about the sensitivity of pagerank to its paramters.

2 Likes

YES!!

[quote=“mzargham, post:6, topic:534”]
but it pushes some of the head-ache up stack to configuring your weights as a function of that metadata. Even in the simplest case weight configuration is a non-trivial (subjective) task for a community.[/quote]

It’s definitely the kind of thing that screams ‘continuous improvement’, but a Community is much better suited for this task (over time) than an AI (as long as compute space remains so expensive, and we keep the number of parameters to a small amount ~ say 8 ‘dimensions of game balance’ :wink: ) <3

Seems like this could be achieved using https://ceramic.network. Is that in line with what you’re thinking?

Spec: https://github.com/ceramicnetwork/ceramic/blob/master/SPECIFICATION.md

4 Likes

Thank you for taking time to write this up & sorry for taking so long to get back to it, again :sweat_smile:
I love the idea, as you already know :upside_down_face:
If you wanted to spec it up & maybe find some devs to start hacking at this, I can pretty much guarantee you’ll get funding from MG & I can almost guarantee we can get more funding from other interested orgs, eg. Bloom Network @magentaceiba? just off the top of my head, but I’m sure this has been a dream for MANY people.

I think I already mentioned and you might know either way, but Dekan & others at ChievMint are doing interesting work with NFTs, basically trying to turn everything into NFTs, from credentials and themes to dapps & idk :joy:
Its seriously time to set up that skill trees meetup, will reply in the other thread.

Underscore Protocol has something like this, “like git but for ideas” you fork by writing “new perspectives”, and the data is accessible through different interfaces.
What did you think about this project?
I’m guessing you’ve known about this project for longer than me, but explaining to save us both time just in case :man_shrugging:

2 Likes

There are actually a lot of projects hovering around these ideas. Another one that has been recommended to me is:

1 Like

Yay. This is all over my head technically, but I can share what we want to do with Bloom, and who is asking for it across our (IRL) network. (This is in addition to the scientific and artistic collaboration aspect which I agree could be so much better than siloed academic networks.) This is one of our priorities for this year because we want a way to document original writers / sources of the info, and for information assets to be able to live across different websites.

There are many people and organizations in Bloom Network who make templates for things like business models for starting up an ecovillage (and all the cultural and ownership trickiness that those tend to have)… or creating a media team to document local “regenerative” actions. We’ve also gotten a couple questions about digital designs, like if there would be a way to at least tip or acknowledge where the design came from, so that when it was 3D printed and sold the original artist would receive some financial flow. Lastly, we are making wiki articles that are primers on various topics, like decolonization, peer-to-peer economies, local production etc. And we would love that to be referencing a distributed wiki or something like that, so different networks can pull up different sets of information that are relevant to them.

I don’t have anything technical to offer by way of deciding what tools to use, and we are currently fundraising for Bloom, but I can definitely contribute on active use cases that need this kind of functionality. Our peeps are mostly non-technical. I agree having this linked with MyMeta profiles makes a lot of sense.

1 Like

One of the reasons I am enthusiastic about metagame as an environment for playing with these ideas, and tools, is that much like with sourcecred, dogfooding and building ‘systems of systems’ by combining the tools is critical to really understanding them – and the consequences their features have (or do not have) on the social systems they enable (or don’t enable – as is often the case when the friction-add is greater than the value-add).

My goal in introducing these so-called “proto-specifications” is to help us explore the patterns we want to manifest, in addition to the tools we might use to manifest them. In the end, I am happy to use any, or even all of the tools being built, but what I’d really like to see emerge are some standards which make it possible for the various tools to interoperate meaningfully in-so-far as they can be used to create and/or navigate objects created according to some standards which make use of comparatively low level primitives such as IPFS content addresses and EVM flavored smart contracts.

I think the MetaSys, and in particular the profiles (myMeta) work is a particular good test bed for these kinds of explorations. We should not be shy about collaborating with, and testing out the tools of the various projects tackling aspects of the “bibliographic network” (graph of authorship, content, reviewers, references, etc).

:purple_heart:
Z

3 Likes

(cf. “Due to the permissionless, decentralized nature of data on Ethereum mainnet, any last-mile tool can access metadata. Ocean Aquarius supports different metadata fields for each different Ocean-based marketplace. Third-party tool TheGraph sees metadata fields that are common across all marketplaces.”
https://oceanprotocol.com/tech-whitepaper.pdf )

1 Like

Within this concept, is it possible to add a spec type, for use in integrating this skill specific schema with other schemas, so that the schema declaration in the schema would inform a parser which schema to use? like a header…? (wild thought leakage, sorry… trying to figure out ways to increase interoperability and reduce compute time for mapping these objects)

1 Like

i think headers with schema’s make sense – in many cases they would be necessary. i explored the idea a bit more in the Colored Directed Acyclic Graph. I think its a topic worth exploring because it makes the standard more adaptable overall if it can support different ‘publication types’ defined by a schema.

2 Likes

Just ran across this… https://www.w3.org/TR/did-spec-registries/

1 Like

adding this reference to working doc

1 Like

Thanks <3 I am continuing work on this in the Swarm network right now as well… with some hope we can eventually create cross-protocol interoperable standards <3 In particular, I continue to be driven towards a system that will map semantic similarities between ‘folklore’ (e.g. subjective) artefacts <3

1 Like

Here is a link to my first talk at MetaFest which largely focused on MetaPubz.

1 Like

Looks like you have updated from this:

Blockquote Example Schema:

Publication Contract Data
token address: <contract address>
plain text name: “Colored Directed Acyclic Graphs”
version number: < integer> %default to 0, but allows for items with the same name to be differentiated
additional details: <string> summary text
content address: <ipfs content id> %even if the file isn’t available via IPFS, this makes that content uniquely identifiable, i could be requested from the author, or even a right to access the content could be purchased via a data market: see ocean/filecoin integrations
authors: <list of addresses> %external accounts of authors
reviewers: <list of addresses> %external accounts of reviewers, think of the common pattern of thanking people for input and feedback in advance of publication
citations: <list of addresses> %should be other addresses of other token contracts adhering to the same standard