IDEA for EIP: Dynamic Fractional Non-Fungible Token (DF-NFT)

Abstract

This EIP introduces a new type of Non-Fungible Token (NFT) called Dynamic Fractional Non-Fungible Token (DF-NFT), which represents on-demand resource usage rights. DF-NFTs are generated by fractionalizing an ERC-721 Non-Fungible Token that represents a shareable usage right for a set of resources bound to physical assets or resources, such as computing resources bound to a PC, smartphone, or IOT device. The goal is to facilitate the recycling of a shareable usage right for resources in a decentralized, secure, and traceable manner.

The proposal outlines a set of functions that define two array variables: resource classification and quantities, which dynamically record the classification and corresponding available quantities of various resources that share usage rights. An implementation allows changing the current resource quantities for a given ERC-721 NFT (Parent NFT), along with the generation or burning of a DF-NFT. This proposal extends the existing EIP-721 standard.

Motivation

The sharing economy has experienced significant growth in recent years, resulting in the emergence of new business models such as car-sharing (e.g., Uber) and home-sharing (e.g., AirBnb), among others. However, the current lack of a decentralized way to represent and trade shared usage rights for physical assets or resources creates a fragmented and inefficient market with high barriers to entry and limited access to a global audience.

DF-NFTs offer a solution that enables individuals to own fractional resource usage rights dynamically, facilitating efficiency, secure, and transparency. This allows for wider participation in the sharing economy on a larger scale.

Specification

interface IDFNFT{

/**

  • @dev Mint a ParentNFT that represents a shareable usage right for a set of resources

  • @param resourceNames Classification of various resources

  • @param resourceQuantities Available quantities of various resources

*/

function mintParentNFT(address to, string memory resourceNames, uint256 memory resourceQuantities) external;

/**

  • @dev Get the token ID of a DF-NFT’s ParentNFT

  • Check if tokenId is the token ID of a DF-NFT

  • @param tokenId The token ID of a DF-NFT

*/

function getParentTokenId(uint256 tokenId) external view returns (uint256);

/**

  • @dev Generating a DF-NFT

  • Check if parentTokenId is the token ID of a ParentNFT

  • Check if the user is eligible for generating a DF-NFT

  • Check if resourceQuantities of ParentNFT meets the user’s demand

  • Reduce the resourceQuantities of ParentNFT accordingly after generating a DF-NFT that represents fractional resource usage right

  • @param parentTokenId The token ID of a ParentNFT

  • @param user Address of the user who requests resource usage right on demand

  • @param resourceNames Classification of resources requested by the user

  • @param resourceQuantities Quantities of resources requested by the user

*/

function newDFNFT(uint256 parentTokenId, address user, string memory resourceNames, uint256 memory resourceQuantities) external;

/**

  • @dev Burning a DF-NFT

  • Check if the user is eligible for burning a DF-NFT

  • Check if tokenId is the token ID of a DF-NFT

  • Increase the resourceQuantities of ParentNFT accordingly after burning a DF-NFT that represents fractional resource usage right

  • @param tokenId The token ID of a DF-NFT

*/

function burnDFNFT(uint256 tokenId) external;

}

We’re looking for feedback before designing a more detailed EIP draft.

Thoughts and comments are much appreciated!

Thanks for your attention.

8 Likes

Thank you for sharing your proposal.
We are currently developing a web3-based infrastructure for ubiquitous computing, which will connect any computing device and generate Computing Resource NFTs. We plan to use smart contracts to schedule these NFTs according to customer demand.
Your proposal may be a valuable addition to our project.

Thank you for your feedback. If you have any questions, feel free to discuss them together.

1 Like

the potential use cases for Dynamic Fractional Non-Fungible Tokens (DF-NFTs) are vast, and the application in shared office spaces is just one example. With the ability to represent a fraction of a unique asset, DF-NFTs have the potential to revolutionize ownership structures and enable new models for shared ownership, such as in co-working spaces or shared office buildings. The real-time updating capabilities of DF-NFTs could also be applied to create a more efficient and streamlined booking process for shared spaces.

1 Like

Yes, it’s also a good potential use case of DF-NFT.

Thanks for sharing your proposal.
This is a good smart-contract.

1 Like

Sounds good,a new direction :smile: :smile: :smile:

Yes, it’s also a good potential use case of DF-NFT.

Why not make an EIP to add a decimals field to an EIP-1155 token?

  • Technical question: can it be represented in ERC-1155?
  • Editorial question: it seems the draft was not based on template, can you fix format?

Ver similar as my Multi-Owner NFT but there is still very different .