Its common for image files to be modified, many times even automatically by the hosting service. They might compress it, remove unnecessary metadata, or add metadata for themselves. Any of that would break the hash, so you'd need to make sure any host you use to store the original absolutely never changes the file.
Then what? Well the image exists and you can verify it wasn't changed off-chain since the transaction finalized, so that's good. There's now an image publicly available online BUT a specific block chain says you own it, so that's also cool.
But wait, that hash isn't guaranteed to be unique so really anyone could make another NFT pointing to the same URL and file hash, now they also own it? And anyone could just download the file, so they own it to? And there are no legal protections for NFTs, so what was the benefit of paying to have one block chain transaction say you own it in the first place?
Which is trivial, just download the file. The place where you bought the NFT would ideally have some facility where they guarantee you can download the correct file, otherwise why buy from them?
> But wait, that hash isn't guaranteed to be unique so really anyone could make another NFT pointing to the same URL and file hash, now they also own it? And anyone could just download the file, so they own it to?
Preimage attacks are quite hard to accomplish from what I understand against modern, secure hashes. If the hash used is later broken and a preimage attack is possible then yeah you're screwed. That's a risk you take.
As for exclusive ownership, I forgot in my initial reply to add another aspect I thought about which was the license. That is, some well-defined licenses should be specified, similar to the Creative Commons stuff, and the NFS should specify one of them. Then you know if you get copyright or not etc.
Enforcement of the license would of course be similar to other digital assets, ie hard to do unless you're big, that's just the nature of digital things.
Now, just to be clear, please don't take this to mean I'm advocating NFTs. I just think the way they're currently used seems to make them completely worthless, while in theory it might be possible to make them not quite worthless.
And then what am I spelling later? A transaction immortalized in a block chain with nothing more than a broken URL and, at best, a hash of the original file?
Edit: I realize I sound a bit dickish in how I'm replying. Don't take it that way, I'm really confused at how NFTs solve anything but really appreciate the conversations here and am glad to hear differing opinions!
Not much as far as I can tell. I mean it would kinda be like a signature on a painting, in that it's a visual indication of who made it. But the proof would be in the digital, cryptographic signature.
> I'm really confused at how NFTs solve anything
I'm in the same boat. I'm just trying to figure out how they might be useful if they implemented them differently.
Anything in them can be copied trivially, so on their own they are per definition not unique hence fairly worthless.
If they're only useful when two parties agree they are worth something during an exchange, how are they different from plain cryptocoins?
I mean this is a bit similar to the GPL, it would be useless if courts declared it can't be enforced.
And what does it mean for the transaction on the block chain if both the URL and the hash no longer match? Is it worthless now and unsellable? Or do you sell it with a note that says ignore the URL, ignore the hash, or both?
I did point out other issues and that may have been unnecessary, but a hash doesn't solve the rug pull problem if the art isn't part of the encrypted and (mostly) immutable transaction block.
Not really. The hash would prevent someone to pull the rug unnoticed, but it wouldn't prevent rug pulling in the first place.
With a hash, you would be able to prove that what's currently at that url isn't what you bought, but (since hashes are by definition non-reversible) you wouldn't be able to show or see what it was you bought (unless you stored it somewhere else yourself).
Which is usually trivial.
Obviously you'd want to keep a copy yourself, but at least you could then prove to others the file you have really is the one the creator sold, no?
No expert at these crypto things, in either sense, am I missing something?