Catch up and contribute!
The InterNFT Working Group is drafting a set of Interchain standards that will advance the state of the art for Non-fungible Tokens and the Metadata associated with uniquely identified tokenised resources. Our mission is to make NFTs interoperable across blockchain networks and to enable ownership, control and rights management of NFT metadata and linked resources, regardless of where these are located.
This article provides a brief update on what we have achieved in the first phase of this work, since the working group started meeting in September. Looking ahead, we expect to formalise draft Interchain standards by the end of Q1 2021. These will have reference implementations in the Cosmos SDK.
Contributors from all blockchain and Internet communities are invited to review the current Interchain NFT Requests for Comments, to suggest improvements, add new unique requirements and provide additional NFT use-cases. The preferred method for engaging with the content of this work is through Github Discussions, Issues and Pull Requests on NFT-RFCs.
Context update — The universe of NFTs is about to explode!
It seems that even in the short time since convening our working group, there has been exponential Nifty market growth, developer activity, and hype!!
We live in a non-fungible world! This is expanding into an exponentially bigger universe of digitally-native assets such as gaming goods, digital art and virtual objects in VR meta-verses. New types of digital content are being created, including art that is being auctioned at serious prices. Datatokens are enabling new ways of accessing and sharing proprietary information. Sovereign namespaces are defining systems that cannot be censored. Both tangible and intangible physical world resources are bridging into this digital realm. Decentralised Finance innovations are emerging, such as leasing NFTs and using NFTs to collateralise loans.
Tokenising real-world resources is a critical enabler for the digital economy — some call this the Ownership Economy. NFTs could become an essential tool for transitioning the global economy towards more accountable, sustainable ways of producing and using non-fungible natural resources.
It is not inconceivable that one day almost all uniquely identifiable resources and assets will be encoded as NFTs. Our working group has work to do!
What’s different about Interchain NFTs?
We have described Non-Fungible Tokens as containers for uniquely identified resources, which are represented by NFT metadata. NFTs enable rights of ownership and control over resource identifiers. They may also contain other intrinsic token rights and can describe the rights a token-holder has in relation to resources that are referenced by the NFT.
Interchain NFTs aim to provide an interoperable, standardised way for NFTs and associated resources to be discovered, addressed, represented, authenticated, controlled and exchanged across blockchain networks. Then to be operationalised in physical-world contexts through user interfaces, such as NFT wallets, or by interfacing with other digital and analogue systems.
The metadata standard intends to make the representations about the past, current, or desired future states of an NFT resource machine-readable, machine understandable and verifiable. Regardless of where the metadata is located.
First-generation NFTs are limited by not being addressable across an Internet of Blockchains, or through the Web. They have no standard ways of being identified or of encoding resource metadata — which is generally referenced through hashes in unspecified formats. The rights of legacy NFT token-holders are neither explicit, nor extensible. It’s time to move NFTs into the future…
A User’s framework for Interchain NFTs + Metadata
We have developed a draft conceptual framework for describing 8 systems layers for Interchain NFTs and Metadata resources.
The purpose of this framework is to abstract away lower levels of the system, so that users only need to interface with NFTs and Metadata at the layer which is of relevance to them. Much in the same way when we use the Web, we don’t have to concern ourselves with how the Web operates to serve a resource, when we wish to create or view a page of information.
We are using this framework to sense-check against each user story.
Use cases and user stories
To document a robust range of user stories, we have published a draft Interchain NFT and Metadata Use Cases and Requirements (NFT-RFC-002). This is a living document to which we invite you to contribute your own unique NFT and Metadata requirements. Please contact us if you need support to write up your user story in this format.
The Theatre Tickets User Story has so far received the most attention in the Metadata Subgroup. This has enabled us to deeply explore how rights associated with a ticket, which has been digitally encoded as an NFT resource, should be encoded and then operationalised in the physical-world. Projects innovating ticketing use-cases want to build in features such as a lock on the right to transfer the NFT ticket within specified times, or being able to restrict ticket resales — including resale price limits.
This has spurred a lively debate about whether NFTs are unconstrained bearer tokens, with no restrictions on rights, or if these are always subject to constraints because — at a minimum — the token-holder must be able to demonstrate cryptographic control over the token with a private key.
Are these just semantics, or is this fundamental to how we define the standard for rights relating to NFTs?
Check out the draft NFT-RFC to see how we currently describe NFT rights, to contribute your comments and suggestions.
To identify NFT resources, we make the case for a new sub-class of Decentralised Identifier URIs, which we propose to name Interchain Identifiers (IID).
Every non-fungible token would be defined as a resource (some prefer the term digital asset) that has a universally unique Interchain Identifier (IID). This identifies both the token as a resource, as well as (optionally) a resource which is linked to the token. The method for forming the identifier would be chain-specific and could be published in a registry, in the way that DID methods are published.
The Web is an information space. Human beings have a lot of mental machinery for manipulating, imagining, and finding their way in spaces. URIs are the points in that space. (Naming and Addressing, W3C, 2005)
Interchain Identifiers would follow the syntax of the W3C Decentralised Identifier (DID) specification, share most of the characteristics of DIDs and be fully interoperable with DIDs.
This has the advantage that we can reuse the tooling which has already been developed for DIDs.
The unique differentiators of IIDs are that these only identify tokens, are always stateful, addressable in a blockchain namespace and can be authenticated using the cryptographic methods of that blockchain. Contrast this to DIDs, which are designed to be used for anything, including individuals, organizations, and even abstract concepts.
By restricting IIDs to tokens, we fundamentally shift both the privacy and functional nature of this sub-class of decentralized identifiers.
Our current proposal for an Interchain Identifier standard
In the last InterNFT Metadata Subgroup call of 2020, Joe Andrieu presented our proposal for IIDs. Joe has extensive experience defining requirements for identity systems and has been a lead contributor to the DID specification work at W3C.
The recording of Joe’s presentation below and accompanying slides are highly recommended for you to get a deep insight into where we are going with Interchain Identifiers.
The presentation finishes with a set of side-by-side comparisons between DIDs and IIDs, which we hope provides the basis for further discussions that will direct us towards consensus on the specification for an IID standard.
A draft proposal for this standard will be published shortly on the InterNFT Github as an NFT Request for Comments (NFT-RFC 006 — coming soon).
Interchain NFT Metadata
Interchain Metadata should aspire to provide a standard way for digitally representing non-fungible resources, with intrinsic token rights and (optionally) to encode rights that are associated with off-chain resources.
We have taken an approach which defines Interchain NFT Metadata as the properties associated with an NFT resource, which can be encoded into an IID Document.
The format of an IID Document would follow the W3C specification for DID Documents. The scope of an Interchain Document expands on the contents of a DID Document by including properties that define the Resource Rights associated with an NFT. IID Documents would all be cryptographically signed — making these more secure, whereas the DID Core spec does not prescribe that all DID Documents must be signed.
Are there other notable distinctions that we would want to make for IID Documents, which change how we interpret or add to the scope of DID Specifications?
We propose that metadata in the Interchain Document format should implement Linked-data and the Resource Description Framework (RDF) to establish a semantic graph. Typically, these documents are represented in JSON-LD and may be serialised into any RDF-compatible encoding. The DID Core specification is encoding-agnostic, so the abstract data model can be realised in any number of serialisations. We are free to propose our own serialisation for IID Documents. In the Cosmos context this metadata could be stored in state using Protobuf encoding.
We distinguish intrinsic Token Rights, such as ownership and transfer, from Resource Rights which are operationalised by systems that are not directly controlled by blockchain transactions.
The Interchain Document, like a DID Document, would in part be a Control Document, for instance defining the cryptographic authentication keys needed for exercising specific capabilities.
Interface Standards for NFTs
The Interchain NFT interface specification (NFT-RFC 004) intends to incorporate the full feature-set for all the requirements which have been identified in the Use Cases and Requirements document. The current version of this Interface Spec will be updated when we have reached sufficient consensus on the proposed draft specifications for Interchain Resource Identifiers (will this be an IID?) and Interchain NFT Metadata (will this be an IID Document?).
Linkages to other developments
At Layer 2 of our framework, these NFT and Metadata standards are relevant to the Interchain Standards for Inter-Blockchain Communication (IBC). We hope our work will inform the development of an ICS proposal, equivalent to the Fungible Token Transfer spec.
At the base blockchain infrastructure Layer 1, members of the working group who are also members of the core Cosmos SDK development team will be looking to define proposals and architectural decisions (ADRs) for which NFTs and Metadata standards should be built into the codebase, as core features.
The Interchain UX Working Group is tackling a range of issues and hard problems that need to be addressed by application-level developers, to ensure a high quality user experience when dealing with an IBC-connected Internet of Blockchains.
The W3C DID Working Group continues to have a very active agenda to standardise the DID URI scheme, data model and syntax of DID Documents.
If you know of any other relevant developments, please do let us know by commenting on this article.