Definition and application of fungibility
Goal of this document: Define the notion of fungibility (I) and implication on the typology of tokens (II).
I-Definition of fungibility
What is fungibility?
Fungibility is the ability of a good or item to be interchanged with other individual goods or items of the same type.
If something is fungible, it is easily exchanged with something of equal value.
Fungible items like a dollar bill, gold, or even cryptocurrencies like Bitcoin and Ethereum, can be substituted with one another without losing value.
What is non-fungibility?
Non-Fungibility means that it cannot be replaced. It represents something unique in value.
The information on the smart contract, makes each NFT unique. For instance, two NFTs cannot be swapped, and this makes them non-fungible.
Even if technically two NFTs can be swapped, a swap of two NFTs will not lead not an exchange of the same value objectively speaking.
FYI : Regarding the topic of NFT swapping
https://www.leewayhertz.com/nft-swapping-and-bridging/#What-is-NFT-swapping?
II-Implication of fungibility on tokens
Fungibility is a notion that allows a typology of tokens to be distinguished: FTs, NFTs, SFTs.
Fungible tokens (FTs)
A token that can be exchanged or replaced with other tokens of the same type resulting in no change in value.
A fungible token could be created to represent fungible items.
Examples: Bitcoin, Ether.
On Ethereum the ERC-20 standard is used to create fungible token.
On Tezos the FA1.2 standard is used to create fungible token.
FA2 standard allows also to manage fungible tokens.
To resume, FA2 is configurable to be deployed as an NFT collection contract, a multiple fungible tokens contract, or a single fungible token… [source: https://www.opentezos.com/defi/token-standards/#fa2].
Technically, rather than the gas consumption difference, the only advantage of FA1.2 is that it allows partial approvals on tokens, while an FA2 operator is approved for the totality of the owner token balance.
Non-fungible tokens (NFTs)
A token that cannot be exchanged or replaced with other tokens of the same type. It represents something unique in value.
Examples: A token from the cryptopunk collection, a token issued in Fanlivecards.
On Ethereum the ERC-721 standard is used to create non-fungible token.
On Tezos the FA2.0 standard is used to create non-fungible token.
Semi-Fungible Tokens (SFTs)
A Semi-fungible token (SFT) is a token that possesses both fungible and non-fungible nature.
SFT is non-fungible as the underlying Asset is distinct from other NFTs. SFT is fungible as it migh have a quantity greater than one. In that sense, SFTs act like regular fungible tokens in that they can be traded like-for-like with other identical SFTs.
The expiring nature of semi-fungible tokens is a key criterion in their conversion from fungible to non-fungible tokens.
However the expire nature criteria is not applicable for every SFT. It only constitutes a clue to determine whether or not the token is a SFT.
Example: Another way to understand this is to imagine owning a token that represented a concert ticket to see The Rolling Stones' last-ever performance. The ticket would have a face value and could be exchanged for another identical concert ticket, provided it was the same band on the same date and in the same seating area.
Once the concert ended, the token representing the ticket would then become collectible memorabilia and have an entirely new value. It would also mean that the token could no longer be exchanged for a valid concert ticket of the same initial face value to see a different band.
On Ethereum the ERC-1155 standard is used to create SFT. Technically speaking ERC-1155 can do both fungible and non fungible, as the EIP says: ”A single deployed contract may include any combination of fungible tokens, non-fungible tokens or other configurations (e.g. semi-fungible tokens).”
On Tezos the FA 2.0 standard is used to create SFT.
Token standards history : ERC-1155 and FA2 are new contracts enabling the multi-token concept: multiple FTs and/or NFTs on the same contract (on FA 1.2 and ERC-20 standards it is not possible to mix tokens types). Moreover, ERC-20 and FA1.2 do not have metadata. On the contrary, FTs in ERC-1155 and FA2 have metadata.
Fractionalized NFTs (F-NFTs)
The fractionalization of an NFT corresponds to the act of splitting an NFT into multiple fungible tokens.
Given that a fungible token is flexible such that it can be exchanged for another of its kind without losing value, a smart contract can be deployed to generate fungible tokens linked to an indivisible non-fungible token. This way, anyone who holds any of the fungible tokens generated can own a percentage of the rare and valuable NFT.
We want to fractionalize a NFT because [1] the NFT already exists and [2] we want to benefit the flexibility/liquidity of FT for the NFT.
If someone wants [2] and [3] he is the issuer of the “NFT“, he would directly go for the SFT solution.
On Ethereum in order to fractionalize a NFT, a smart contract can be deployed to generate ERC-20 tokens linked to an indivisible ERC-721 NFT.