Humans have been hard-wired to want to collect things that are deemed scarce, and this programming has been used to fuel trend after trend of collectables. From tulips to beanie babies and now jpegs files with a serial number on a blockchain, trends come around, pull people into a complete frenzy that grows and draws more people in who cannot see the reality of the situation and the madness of crowds fuels the legitimacy of the behaviour.
Eventually, anything that is easily reproduced saturates its demand and finds a price point that is within reason, and the days of jpeg files selling for millions will come to an end. But that won’t be for some time, as the popularity of speculation continues.
The idea of Non-Fungible Tokens, or NFTs, has been making waves in the digital art, gaming and collectable space, allowing individuals to purchase and trade digital items for large amounts of money. The NFT trend has largely been isolated in the altcoin market, where speculation is rife and the money, being not particularly sound, only encourages further speculation.
NFTs in the bitcoin ecosystem
While NFTs do exist in the bitcoin ecosystem, they weren’t very popular until the recent release of the ordinals protocol, which has seen several easy-to-reproduce files being stuffed into the bitcoin blockchain. The introduction of inscriptions has sparked debate around block space, resource allocation and NFTs and the implications of this new use case for the bitcoin blockchain.
A debate that has had me thinking about why the need for NFTs. Why do they need a blockchain, and if this trend is to persist, can it be done in a way that is more fitting with its uses?
What is NFT?
NFT stands for non-fungible tokens (NFTs), a term that is generally credited to a token created using smart contract programming with the intent to represent an asset that is not native to the chain. These cryptographic assets are unique barcodes or serial numbers that act as bearer assets, claimed by a private key and can be transferred to another private key pair that exists on a certain blockchain.
While the NFT file itself can be reproduced ad nauseam, the barcode/serial number hashed into the blockchain retains the history of ownership and associated transactions with that barcode or serial number.
An NFT claim cannot be exchanged or traded equivalently like other cryptographic assets but sets a market price based on a variety of factors. The NFT price is based on what a market actor is willing to pay to move that serial number/barcode to their wallet, either to use in an application or in the hope they can resell it in the future.
The NFT is usually traded for the native token on which it was created or for stablecoins, should they have the option on that specific blockchain.
How does an NFT work?
Now that you’ve taken your initial steps in understanding what an NFT is let’s continue to dive into how the current iterations of NFTs work. As mentioned earlier, it is a digital asset, but unlike bitcoin, that is a closed loop, and the asset only represents a UTXO created through the process of mining.
An NFT acts as a stand-in representation of a claim that cannot be enforced by the blockchain itself but is often enforced by a central entity. In the case of a gaming NFT, the gaming creator/publisher will honour NFTs with specific metadata and serial numbers, so they are playable in the game.
In the case of an art NFT, the art minting service/online digital gallery will honour the NFT should it contain specific metadata, such as artists with a verified minting address or if the serial number was minted through a reputable service.
If there is no central entity to provide verification and support for the NFT claims, then the serial number you have is just that, a serial number.
An NFT is a token that contains a serial number along with additional metadata.
- Image URL or Image file
- Attributes of the file, such as artists name, collection
- In gaming, an NFT can hold metadata like in-game attributes of a character or item.
While each NFT contains unique identification codes that distinguish them from each other, the data it lays claim to cannot be protected by the NFT or the rules of the blockchain.
In the case of an Art NFT, it doesn’t matter if the image is hosted with a third-party service like a cloud storage provider, and the NFT only holds the hosted URL as a reference or the file is hosted directly on the blockchain. The NFT has zero ability to enforce ownership, to limit access, downloading or copying of a file such as an image.
An NFT is only there to offer the ability to transfer this metadata between wallets, a feature that has been used to foster rampant speculation.
What are NFTs used for?
In the current NFT landscape, the overwhelming majority of those participating in the space are people interested in NFTs are either those who are into gaming. Another large cohort are people who like to monetise artwork or collect art and aim to speculate on these jpegs.
The primary uses of NFTs are:
- Digital Content – The most significant use of NFTs today is in digital content. Content creators leverage the creator economy and sell easy-to-produce digital items that are simple to scale and retail to the public.
- Gaming Items – NFTs have garnered considerable interest from game developers. NFTs can provide a lot of benefits to the players. Typically, in an online game, you can buy items for your character, but that’s as far as it goes. With NFTs, you can recoup your money by selling the items once you’re finished with them.
How NFTs are stored on a blockchain.
When you create an NFT, in most cases, you’re doing it on a smart contract blockchain that has an established token standard for this type of data. You will broadcast to that blockchain that you wish to create an NFT token, what data you wish to add to the token along with the fees needed to create that token on-chain and associate it with your wallet.
The smart contract will generate a serial number and hash the required metadata into the token, and it will display within your wallet and be visible on chain as a new entry. The NFT image and its metadata are stored in a hash. This hash is used to point to either a centralised or decentralised hosting provider where additional files pertaining to the NFT are hosted, such as an image file.
Alternatively, the file can be stored within the limited space available in the specific blockchain, but since block space is limited, you’re limiting file sizes. You can use images and additional data, and it can prove to be costly to add the additional files on-chain since you are taking up the space that could be used for other transactions.
Regardless of where the file is stored be that on a third-party server or the blockchain, it makes no difference to your claims and enforcement with an NFT.
How Nostr could store NFTs (Nostr Fungible Traits).
The only reason NFTs require a blockchain today is because it’s one of the ways to transfer digital ownership of a data set and record the transfer of that ownership. But just because you can do it doesn’t make it a good idea or an ideal implementation of the idea.
Since Nostr also uses private and public key pairs, it also can associate unique metadata with a specific user. In Nostr today, you already have unique data attached to your private keys, like your followers, who you follow and all your posts.
This data is then backed up and distributed by relays so that others may interact with the data you create through your unique ID. So if all you wish to do is transfer metadata with unique serial numbers attached from one user to another, in theory, this can be done with the Nostr protocol.
Creating a Nostr NFT
All one would do is create a new event type, let’s call it “Nostr Fungible Traits”. A user with a nostr public key who wishes to create an NFT or acquire an NFT would log in to an NFT-compatible client and follow the process.
- If it’s a collectable NFT, the user would upload the image, the metadata such as the artist name, collection name, amount of prints in the collection etc., and then broadcast it to the network of relays that support the NFT event.
- If it’s a gaming NFT, the user would log in to the game, and upon unlocking the item, the game would require the user to broadcast this item as a note that supports the NFT event containing the serial number and the attributes of the item.
Once the NFT is associated with your Nostr private and public key pair, you can then sign into clients with that key to use that NFT within the client or game.
Selling my NFT
Alternatively, if you wish to sell your NFT, you can sign over the claim of that NFT to another user by broadcasting a note to relays. This will be a different type of note; let’s call it a “bill of sale note”, which would require additional data; the note would need to be signed in conjunction with a verifiable transaction to showcase the trading of the claim.
Getting custodial backing for your NFT
Since NFTs always need some central entity to vouch for its initial creation, the client you are using will act as that first touch point and hash its unique signature into the event, too, providing backing for the reputation of the NFT.
Censorship and fraud in NFTs.
As retail users have flooded into the NFT space, we’ve seen a spat of issues that centre around the limitations of a blockchain. The first being since NFT files are easy to reproduce, and there is no way to enforce ownership claims on other users, we see copycat NFTs created all the time. Users find popular NFT images, for example, right-click and save the image and then re-upload it as a new token.
NFT holders of the original token claim would then need to contact certain providers to have this token flagged as a fake. In nostr
Another pain point of NFTs is their misuse of it to post malicious images such as graphic content or revenge porn. Again in these cases, the NFTs will need to be reported and blacklisted, effectively censoring certain users and showing why NFTs require censorship guidelines.
In Nostr, it would be trivial for clients to filter out fraudulent NFTs by simply limiting it to certain paid relays which they support and setting a fee to host your NFTs metadata on those relays. Paying these premium NFT application-specific relays could be seen as the original “minting” fee and set the floor for the creation of NFTs while limiting the incentive to spam NFTs.
Relays also have the incentive to clear out any spam and fraud and ensure that they curate NFT notes, so they attract traffic and minting fees to their relay.
Nostr is payment and blockchain-agnostic.
The one pain point with NFTs today is that once you mint it to a specific chain, you are now tied to using that chain, its consensus, and its fee structure to secure a transaction; you have to hold that native token to pay for fees along with tying yourself any wallets or apps that have built-in support for that chain. If that chain ever forks, your NFTs could not be part of the new chain; if that chain does, your NFTs go with it.
Since these tokens are blockchain specific, they limit you in what payment methods you can accept, the audience you can interact with, and the services you or wallet software you wish to use.
- If you’re minting an inscription on bitcoin, you need to have bitcoin to transfer the inscription to another wallet or user, and that user needs to have a bitcoin wallet.
- If you’re minting an NFT using the ERC-721 token standard on Ethereum, you need to have bitcoin to transfer the inscription to another Ethereum or user, and that user needs to have an Ethereum wallet.
NFT interoperability.
NFTs on either chain are not interoperable and are now gated within that blockchain. If you’re trying to interact with a certain application that doesn’t support your chain, you’re out of luck. Additionally, using a chain adds higher friction to NFT interaction since you’re forcing a user to select a network and spin up a wallet.
For example, If I want to play a particular game and it only supports a specific chain, as a game developer, I alienate people from playing my game.
When you create an NFT on Nostr, your claim over the NFT is your private key that is not tied to a blockchain but to the relays it wishes to broadcast to; you can broadcast to private, public or even paid relays and the amount you wish to broadcast to is up to you.
Cross-network payment history
When you transfer an NFT to sell it, you could broadcast a new event stating that you are signing over this note event with its NFT unique ID/hash and tie it to a payment invoice event. This could be using the current Zap Lightning payment invoice event, or custom events could be created to attach the TX-ID of a bitcoin UTXO, a Liquid chain L-BTC UTXO, A Taro asset or even an altcoin or stablecoin transaction ID.
All payments across various settlement networks could be added as events to that specific metadata and the serial number representing an NFT. Using Nostr, you could trade NFTs for any payment method you and another party agree to use and can tie the transaction history to that NFT. Now you are no longer limited to a single chain, asset, wallet software or application, and users have the freedom to interact with one another.
NFTs are open to all.
Using Nostr as a base for your NFT, you open up your NFT application to a wider market with far more liquidity and, thus, more chance of making a successful sale or getting a player to the point of monetisation.
Are you on Nostr?
If you are a Nostr user and want to hang out and chat with us or follow our content on your preferred Nostr front end, feel free to add us using our PubKey below.
7ecd3fe6353ec4c53672793e81445c2a319ccf0a298a91d77adcfa386b52f30d
The Bitcoin Manual’s Nostr Pubkey
Give us your notes
If you have used Nostr, which client do you prefer and why? Do you think NFTs could be run on Nostr? How do you think they would work? Do you think they would take off as an alternative implementation?
Let us know in the comments down below.
2 Responses
I appreciate the interesting thoughts on bringing NFTs to nostr, but I must point out the problems with this approach and why it cannot work.
Let’s imagine I sell you an NFT by signing it over to you. What prevents me from then signing it over to someone else after you? This would be a double-spend, because you already paid me for the NFT and I could suddenly change the ownership to someone else; in fact, nobody would ever be sure that I did not sign it to someone else.
To combat this, we could make a rule that only the _first_ sign-over event is valid. Then when I sign it over to you, you know that it really belongs to you, right?
Wrong. Because I could create a secret event that signs it over to a friend and NOT publish this event even though it’s valid. Then, I can sign the NFT to you and take your money. You think that you have the NFT, and technically, you do. But then I publish my secret event which would have an earlier timestamp than my sale to you, invalidating your ownership.
Because of this, nobody who purchases an NFT would ever be sure that they really own it or if the original owner would rug them by publishing an old event that invalidates their ownership. Technically, because the timestamp on an event is malleable (not verifiable) one could even do this after selling you the NFT. They wouldn’t even need to plan ahead to rug you.
This double-spend problem is actually the entire problem that bitcoin was invented to solve. This is the purpose of mining and hashpower. If simply signing a digital asset to another pubkey worked without glaring vulnerabilities, bitcoin mining would not be necessary and we would have had digital currency for 30 or 40 years by now already. It’s a good idea, but it has too many ways to be attacked.
Alternatives:
RGB is a very promising way of creating transferrable and secure NFTs and tokens without bloating a blockchain; it uses bitcoin for security but does not take up space like Ordinals. RGB assets could easily be transferred over NOSTR. Look into RGB.info to learn more.
For non-transferrable (“soulbound”) NFTs, the NIP-58 badge spec already exists and can be used to award digital assets to people. Those assets simply cannot be sold or transferred because of the reasons stated above.
Thank you for exploring NFTs on bitcoin. I do hope that a convenient solution with RGB emerges so we can fully utilize digital assets in a permissionless network without excessive transaction fees and ultimate flexibility.
Thanks for the feedback; I do appreciate it the detail and pointing out the obvious flaws, I never thought that these NostrFTs would be something that has much of a secondary market and I would always see it as something that has a custodian like a client, IE a game for example, that would manage this, I don’t see how anyone could “own” arbitrary data without a custodian, and I do agree there are better protocols like RGB that can make this work
I could also see nostr keys being used in combination with RGB or a Taproot asset when creating a multi-sig to sign to prove rights to said file and transfer ownership. Nostr can simply act as the unique identifier account key and other protocols could do the verification, transfer and history of “assets”