nft-rfc | title | stage | category | author | created | modified |
---|---|---|---|---|---|---|
7 |
NFT Layers Specification |
draft |
NFT/METADATA |
Joe Andrieu @jandrieu |
2020-12-16 |
One person's metadata is another's data.
We use a layer model as framework for understanding the different types of data and metadata that might apply to non-fungible tokens (NFTs). Inspired by the seven-layer OSI model [1] for networking, the layer model gives a framework for evaluating both what data is used and how to handle interoperability and substitutability between layers.
The Open Systems Interconnection model (OSI model) standardize the communication functions of an electronic system without regard to its underlying internal structure and technology. It enabled interoperability of diverse communication systems using standard communication protocols.
The model partitions the flow of data into seven abstraction layers, from the physical implementation of transmitting bits across a communications medium to the highest-level representation of data of a distributed application. Each intermediate layer serves a class of functionality to the layer above it and is served by the layer below it. Classes of functionality are realized in software by standardized communication protocols.
In short, the OSI Model allowed component vendors to focus on the functions they provide and the services they rely on from neighbor layers without concerns for the rest of the stack. As long as the interfaces between layers were conformant, then the entire stack works.
Layer | Protocol Data Unit (PDU) | Function | ||
---|---|---|---|---|
Host Layers | 7 | Application | Data | High-level APIs, including resource sharing, remote file access |
6 | Presentation | Translation of data between a networking service and an application; including character encoding, data compression, and encryption/decryption | ||
5 | Session | Managing communication sessions, i.e., continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes | ||
4 | Transport | Segment, Datagram | Reliable transmission of data segements between points on a network, including segmentation, acknowledgement, and multiplexing | |
Media Layers | 3 | Network | Packet | Structing an managing a multi-node network, including addressing, routing, and traffic control |
2 | Data link | Frame | Reliable transmission of data frames between two nodes connected by a physical layer | |
1 | Physical | Bit, Symbol | Transmission and reception of raw bit streams over a physical medium |
While the OSI model did not win the day---the Internet protocol stack did---the model itself is still used for education and illustration.
The Interchain NFT Layer Model uses a similar abstraction layer approach to separate the functionality required by different elements of the solution.
Layer | Function | |
---|---|---|
8 | Operationalization | How the rights are realized upon receipt/presentation of token |
7 | Assertions | Statements about the token and resources referenced in the token |
6 | Extension & Restrictions | Taveats or addenda to rights represented in token |
5 | Instantiation | Managing communication sessions, i.e., continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes |
4 | Affordances | Real-world rights and responsibilities afforded to token owner |
3 | Token Logic | Property rights and rules. Fungibility, transfer mechanics, etc. |
2 | Interchain | Cross-chain interactions, especially atomic swaps, adapter signatures, and ledger-to-ledger interactions. |
1 | State Machine | Distributed consensus (on chain) |
We'll use this model to clarify use cases and to highlight requirements for our specifications.
[1] "OSI Model" Wikipedia. Accessed 2020-12-16. https://en.wikipedia.org/wiki/OSI_model