Non-Fungible Tokens (NFTs) on the Tezos blockchain
On March 13, 2021, Christie’s auction house’s ﬁrst sale of a digital piece of art emphasized the current traction for Non-Fungible Tokens (NFTs). That artwork was sold for 69 million USD, which was a record-breaking price for an NFT.
NFTs provide ownership management features for digital assets. That doesn’t eliminate the risk of copies, forgeries, or creation stealing, but it makes these things harder and thus helps to protect buyers, creators, and platforms.
A token is a representation of a physical or virtual asset.
There are two broad classes of assets: fungible and non-fungible.
- A fungible token is composed of units that are indistinguishable and interchangeable. Gold is a fungible asset, since (for example) a standard 12.5 kg gold ingot is equivalent to any other ingot of the same weight.
- A non-fungible token is composed of units that are distinct and non-interchangeable. It can be represented by an NFT. The Mona Lisa is a non-fungible asset. There’s only one; even an excellent copy is still not the Mona Lisa. A token representing ownership of the Mona Lisa shouldn’t be interchanged for a token representing ownership of a copy of it.
It can be stored on a blockchain and used to represent a digital artwork, an ownership certiﬁcate of a tangible asset, or any other property of a non-fungible asset - be it material, cultural, electronic, and so forth.
The value of an NFT depends on the value of the asset that it denotes: an NFT representing the Mona Lisa is likely to be worth more than one representing a copy of the Mona Lisa. That is not because the original is necessarily prettier than the copy; but because the copy is not the original.
As we’ll demonstrate in this document, NFTs can be issued and exchanged smoothly and quickly on the Tezos blockchain. Furthermore, buyers can prove swiftly and easily that they own an NFT, simply by making a query to the blockchain. So, for example, a process that traditionally might involve several hours looking up title deeds stored in a bank vault could be automated using blockchain to be done in microseconds with a few taps on a computer or mobile phone.
On the Tezos blockchain, the token standard for creating NFTs is the FA2 standard. The FA2 standard allows the management of fungible tokens and NFTs within the same contract. However, its use is also adapted to interact only with NFTs. Each token is associated with a unique ID (identiﬁer) and metadata.
Metadata is useful information related to a smart contract, for example, the symbol of a token, the name of a token, an external link to a website, etc.
This standard allows simple management of NFTs, and it’s the Tezos equivalent of the Ethereum ERC1155 standard. Most of the Tezos NFT contracts implement this standard.
Here is a list of NFT projects currently available on Tezos:
A fast and simple solution to create an NFT on the Tezos blockchain is to use an NFT marketplace.
To create an NFT on Hic et Nunc, you need to connect to your favorite wallet and load your digital art piece.
You can set a title, description, tags, and price for your NFT...
Once all the information have been ﬁlled in, we can create our NFT. Royalties are mandatory on Hic et Nunc, and can be set from 10 to 25 percent.
Metadata will store information regarding the current content of the NFT, where it’s stored, and the information you provided during the creation. Creating an NFT on Tezos costs around 0.08 tez, which would be around 0.23 EUR as of June 4, 2021.
OpenMinter is a free and open-source DApp framework enabling the creation and collection of NFTs on Tezos. Its features include browsing and marketplace capabilities.
OpenMinter relies on Minter SDK for its smart contracts, but it only implements two of them: the NFT collection and the Sales smart contract. Minter SDK provides many more, but they’re not implemented in OpenMinter yet. You can ﬁnd the rest of the smart contracts here.
When you create an NFT with OpenMinter, it creates a collection containing that NFT and sets you as the owner of both the collection and the NFT. If you decide to list it for sale, the NFT becomes the property of the Sales smart contract. At that point, you don’t own it anymore. To be able to get the ownership back, you need to cancel the sale listing with the dedicated entry point.
Here’s a list of useful documentation regarding OpenMinter:
Another option could be to install tzNFT, which is a command-line tool for creating NFTs. It provides the following features:
- Mint an NFT
- Inspect an NFT
- Transfer an NFT
Every time you create a new NFT collection, it creates a new smart contract. Once created, it won’t be possible to add or remove tokens; only transfers will be available. With Hic et nunc, this tool relies on IPFS decentralized storage for storing NFT metadata. This is a very interesting option if you don’t want to pay any fees and have full control over your NFT.
You can interact with an NFT through its original contract. Contract entry points deﬁne the possible actions, which are generally as follows:
- creation/destruction: it’s usually possible in centralized or open contracts.
- transfer: it allows token transfers between peers.
- swap: atomic and decentralized swap. This can only be done for tokens inside the same contract (it can also include a transaction).
- delegation: it allows a trusted external party to manage the tokens.
- it contains the address of the contract that created it,
- it cannot be modiﬁed,
- it cannot be duplicated.
That allows the ticket to materialize and interact with a token within the blockchain outside its original contract. A token represented by a ticket can then be exchanged outside its original contract. Its authenticity is guaranteed by its address of origin, corresponding to the contract that created it. Tickets would be a great solution for managing the ownership of multisig NFTs or NFT collections. Instead of having a complex multi-signature process, you could just verify that the signer's address owns a speciﬁc ticket to grant access. It could also greatly facilitate the setup of a permissioned structure for an NFT or NFT collection.