Non-Fungible Tokens (NFTs) have revolutionised the world of digital assets, enabling the tokenisation and ownership of unique assets. In 2023, a new generation of NFT standards, known as NFT 2.0, emerged, bringing significant innovations. The purpose of this guide is to explain in detail what NFT 2.0 is, its technical innovations, its uses and its potential in Web3 and Web2 environments.
To understand NFT 2.0, it is essential to know what the basic NFT is. A Non-Fungible Token (NFT) is a type of crypto-currency that represents a single, indivisible asset, unlike other tokens such as Bitcoin or Ethereum which are interchangeable (fungible). Each NFT has distinct properties and cannot be directly exchanged for another NFT of equal value, which makes it unique. An NFT can represent a work of digital art, a video game object, a piece of music, or any other type of digital content.
The first NFTs appeared with projects like CryptoKitties in 2017. CryptoKitties allowed users to collect and exchange unique digital chats, with each chat represented by a separate NFT. These first NFTs used the ERC-721 standard on the Ethereum blockchain. ERC-721 defines an interface for smart contracts to manage non-fungible tokens. Each ERC-721 token has a unique identifier and associated metadata, making it possible to verify the ownership and authenticity of the digital asset it represents.
With the growing popularity of NFTs in the digital arts, games and collectibles, the limitations of existing standards became apparent. NFT 2.0 has been developed to overcome these limitations, offering greater flexibility, advanced functionality and improved interoperability.
NFT 2.0 enables the creation of composable digital objects, where different NFTs can be combined to create new assets. For example, a digital avatar could be assembled from several NFTs representing clothing, accessories and physical characteristics. These NFTs also incorporate programmability features, allowing developers to create more complex smart contracts. This opens the door to dynamic NFTs that can evolve and change according to certain conditions. Another key aspect of NFT 2.0 is the ability to split a single NFT into multiple shares, allowing multiple users to own a fraction of the same asset.
Various protocols have been developed to standardise these new features. For example, EIP-2981 defines a standard for creators' royalties on secondary sales, ensuring that artists receive a share of the profits each time their work is resold. EIP-1155 makes it possible to manage several types of NFT and fungible tokens in a single smart contract, simplifying the management and creation of these assets. Finally, EIP-3525 introduces composable and fractional NFTs, allowing greater flexibility in their use and commercialisation.
Among the notable platforms adopting these standards, Rarible stands out as a decentralised marketplace offering greater flexibility to creators. OpenSea, the largest NFT marketplace, is gradually integrating NFT 2.0 features to stay at the forefront of innovation. SuperRare, a platform dedicated to the digital arts, is exploring the possibilities offered by NFT 2.0 to provide innovative artistic experiences.
NFT 2.0 plays a crucial role in Web3 by enabling real and transferable ownership of digital assets. They also facilitate interoperability between different dApps and blockchains, creating a more connected and dynamic ecosystem. In Web2, NFT 2.0 can transform sectors such as video games, social media and e-commerce. For example, video game objects can be sold or traded between different platforms, or digital artworks can be integrated into social networks such as Instagram.
In video games, NFT 2.0 enables players to own and transfer game objects between different games and platforms, creating an interoperable game economy. In arts and entertainment, artists can create interactive digital works that evolve over time or in response to user interaction, increasing the engagement and perceived value of their work. In virtual real estate, worlds such as Decentraland use NFT 2.0 to enable the fractionalisation of digital parcels of land, facilitating collaborative investment.
One notable example is fractionalized CryptoPunks, where some of these very popular tokens have been fractionalized, allowing multiple people to own a share of these valuable assets. Another example is dynamic art collections on platforms such as Async Art, which allow artists to create works that change according to various factors, such as the actions of the owners or external events.
NFT 2.0 represents a major advance in the field of digital assets, offering enhanced functionality and greater flexibility than previous standards. With potential applications ranging from video games to virtual real estate, art and entertainment, NFT 2.0 is well placed to play a central role in the evolution of Web3 and even have a significant impact on Web2. Users and developers need to keep a close eye on this rapidly evolving technology to fully exploit its possibilities. In June 2024, it is clear that NFT 2.0 will continue to transform the way we own, interact with and value digital assets.
NFTs are generally implemented using smart contracts on blockchains compatible with Ethereum Virtual Machine (EVM). The ERC-721 and ERC-1155 standards are the most commonly used to define the properties of NFTs.
ERC-721 is an Ethereum standard for non-fungible tokens. Each ERC-721 token is unique and has a distinct identifier (uint256 tokenId). The ERC-721 contract defines the following functions:
balanceOf(address owner)
: returns the number of tokens held by an address.
ownerOf(uint256 tokenId)
: returns the owner address of a specific token.
safeTransferFrom(address from, address to, uint256 tokenId)
: transfers ownership of a token, checking first that the receiving address can accept NFTs.
approve(address to, uint256 tokenId)
: approves an address to transfer a specific token.
getApproved(uint256 tokenId)
: returns the approved address for a specific token.
setApprovalForAll(address operator, bool approved)
: approves or revokes approval for an operator to manage all the user's tokens.
isApprovedForAll(address owner, address operator)
: checks whether an operator is approved to manage all the tokens of an owner.
ERC-1155 is a multi-token standard that allows multiple types of token (fungible and non-fungible) to be managed within a single contract. The main functions include :
balanceOf(address owner, uint256 id)
: returns the balance of tokens of a specific type held by an address.
balanceOfBatch(address[] calldata owners, uint256[] calldata ids)
: returns the balances of several types of token for several addresses.
setApprovalForAll(address operator, bool approved)
: approves or revokes approval for an operator to manage all the user's tokens.
isApprovedForAll(address owner, address operator)
: checks whether an operator is approved to manage all the tokens of an owner.
safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data)
: transfers a certain number of tokens of a specific type.
safeBatchTransferFrom(address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data)
: transfers several types of token in a single transaction.
The new NFT 2.0 standards include extensions to the ERC-721 and ERC-1155 standards to include advanced functionalities:
EIP-2981: Standard for Creators' Royalties, defining an interface for smart contracts to specify and apply royalties on secondary sales.
EIP-3525: Introduces composable and fractional NFTs, allowing greater flexibility in their use and commercialisation. This standard enables the creation of semi-fungible tokens, which combine features of fungible and non-fungible tokens.
Register for free to the Summit Research newsletter
and receive our weekly newsletter every Saturday at 10 am (CET).
Nous rendons le monde de la blockchain et des crypto-monnaies accessibles en construisant ensemble un écosystème transparent et compréhensible.