14 ms·
As the article points out, many NFTs are implemented by storing a URL in the blockchain; the digital artwork sits on some server and is reachable by that link.
by not2b 5y ago
As the article points out, many NFTs are implemented by storing a URL in the blockchain; the digital artwork sits on some server and is reachable by that link. Fine, you can prove that you own the URL. But what that URL points to can change out from under you, so there's no way to make that trustless. If you own the domain and the server that it points to, the registrar can take the domain away from you and give it to someone else.
In a sense, NFTs are a lot like those schemes we used to see where some company will promise to name a star after you, even though no one recognizes their authority to do this. Fine, that URL is "yours". You just own a sequence of bytes, the ones in the URL, not the ones that the URL (temporarily) points to.
- toomuchtodo 5y agoSo, this has a really easy fix. The NFT points to a content hash, and the content is uploaded to the Internet Archive (and they're compensated for the storage) as part of the NFT minting process. Your ownership is now on a distributed ledger, with a cryptographic hash of the content, paired with long term storage of said digital artwork. The Internet Archive's costs are ~$2/GB to store content in perpetuity, which seems insanely cheap to carve off as part of a transaction (Eth gas fees aside).
- bricemo 5y agoBut then it’s just back to trust based web2, you’re trusting internet archive. That’s his point: this isn’t leading to trust less decentralization in practice. To do that, you’d have to store the NFT data on chain, which is prohibitively expensive
- toomuchtodo 5y ago> But then it’s just back to trust based web2, you’re trusting internet archive. Correct, because it's clear storing the content in web2 Internet Archive is superior ("you’d have to store the NFT data on chain, which is prohibitively expensive"). They will persist regardless of web3 shenanigans, and hash addressing ensures content integrity. You could even use a torrent to store and serve the content (again, which uses hashes to identify and preserve integrity of content). Why would one trust a distributed ledger over a centralized archive run by folks whose primary focus is on preservation of the bits they're storing? The economic benefit of running storage nodes of encrypted content is unlikely to ever be sufficient to provide the same economic incentives a corporation or non profit realizes by offering the durability a centralized service provides (due to scale). EDIT: @Ragnarork It seems like web3 is making some promises it can't keep?
- Ragnarork 5y ago> Why would one trust a distributed ledger over a centralized archive Isn't that the polar opposite of the promise of web3...?
- dlubarov 5y agoI'm not sure it's even necessary to use Internet Archive or a torrent? If I own an NFT whose hash is stored on-chain, I can just ensure the availability of the preimage by storing it myself. Then when I want to interact with a centralized NFT marketplace, I can upload the preimage to their server. They'd verify the hash and store the image. I'd continue storing it myself though, so if that marketplace goes away, I can follow the same process with another one.
- greenreptar 5y agotying back to the article... so you want to own a server?
- micromacrofoot 5y agoThis is where it falls apart for me too, people are paying huge sums for artificially scarce links to someone else’s server? I keep feeling like I’m missing something.
- dragonwriter 5y agoNo, they are paying huge sums for a digital certificate of ownership of the content on some else’s server; the link is just the description of what they are certified to own, like the address on a deed. (There's all kinds of problems with it, sure, but they aren't paying for the link.)
- readams 5y agoBut they don't even get the ownership of the content. The original creator still owns the copyright, and as a the buyer you don't even get a license to use the work in the NFT. The copyright is the only meaningful way you can own digital art.
- micromacrofoot 5y agook so you own a certificate that describes the content of a link
- AlexandrB 5y agoI think it's worse than that since, as described in the article, NFTs don't include a hash of what the link points to. So you own a certificate that describes the content of a link in the very literal sense of describing the characters in the link URL and not really anything more.
- dragonwriter 5y ago> ok so you own a certificate that describes the content of a link More precisely you have a certificate that says you own something (often ambiguous, though this could be precise; ambiguity is a choice in the minting of an NFT rather than a fundamental issue with the technology) relating to the content described by means of a link (the NFT may or may not include additional description of the content via metadata.)
- magicalhippo 5y agoIf the NFT contained the content hash, your and the creators public keys, a signed timestamp, and the signature of those parts by the content creator, then the content could be stored elsewhere no? 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?
- spyder 5y agoYes, but the problem is many of them don't even include the hash, and you also need a way to verify the creator and his/her public key.
- _heimdall 5y agoSay you add all that information to the transaction, to verify it in the future you still need to run the original file through the same hash function to prove they match. 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?
- colordrops 5y agoI thought we were talking about the problem of someone pulling the rug out from under you by changing the content at a URL. The hash solves the problem, but what you are talking about is an entirely different subject, and a problem which all NFTs suffer. Or not a problem, but just a general property of NFTs and crypto as well. The network effect is extremely important with blockchains. You could also fork BTC right now and claim you own everything on the chain. Doesn't mean people will honor it.
- searchableguy 5y agoThere is arweave which is trying to bring permanent storage. You could store the nft on arweave chain and mint the NFT on the same. https://www.arweave.org/ https://www.arweave.org/ Though, I'm not sure how this will "scale".
- tsimionescu 5y ago> Though, I'm not sure how this will "scale". It fundamentally can't - you need X amounts of storage * replication factor to store X amounts of data * replication factor.
- acdha 5y agoIt’ll scale like S3, et al.: replicated storage requires ongoing payments because sysadmins need to be paid, storage needs to be bought & replaced, network bandwidth is metered, etc. It could be cheaper if someone can finally make a P2P network which becomes and stays popular[1] but it’ll always require more than a one-time payment. That could be donor funded (Internet Archive) but I’d be leery of assuming anything long-term unless you’re paying for it. 1. Abuse is the hard problem here: if I host a node, when the police download something illicit my IP is the one they see and I have to prove that it was done without my knowledge. This is why nobody does this except for known sources.
- searchableguy 5y ago> It’ll scale like S3, et al.: replicated storage requires ongoing payments because sysadmins need to be paid, storage needs to be bought & replaced, network bandwidth is metered, etc. That's what they are trying to solve with their tokenomics model. The value of token will appreciate over time whereas the price of storage will keep getting cheaper. It's simpler than s3 in many aspects so I'm not sure you would need a system administrator. Everyone can run a node and things are replicated many times over. The failover model is to look for the next node. There are no API, security, access, etc consideration to be maintained at the node level. Data itself is public by default. > Abuse is the hard problem here: if I host a node, when the police download something illicit my IP is the one they see and I have to prove that it was done without my knowledge. This is why nobody does this except for known sources Yeah, that's important.
- Thorrez 5y agoYou're not fully trusting them. They can't change the content.
- diab0lic 5y agoThey can change the content, you’ll just know they did it. Much like if my watch gets stolen I’ll know, but I still don’t have a watch anymore.
- Thorrez 5y agoThey can delete the content. That's the only "change" they can do. It's like your watch analogy, except you can easily back up an image, but cannot back up a watch.
- diab0lic 5y agoI see no reason they couldn’t change the content rather than just delete it. In fact the article shows an example of exactly that in practice. Sure you can back up an image, but the backup is worth the same as a copy of the NFT: zip. You now own a pointer on the blockchain to nothing and a jpeg on your disk. I’ve got a lot of that going on already with zero expenditure.
- Thorrez 5y agoThe article was about the NFT containing a name. This thread is about "NFT points to a content hash", to quote toomuchtodo. You can't change the content and keep the same hash. Similarly, you can prove to others that the version on your disk the version pointed to by the blockchain by having people check the hash.
- can16358p 5y agoWhat if the URL points to a decentralized and immutable file storage system instead of a regular URL with a domain/IP?
- hk__2 5y agoThis solves the problem while creating a new (big) one: make this decentralized and immutable file storage work.
- sildur 5y agoThey already exist, and work. IPFS, for example.
- acdha 5y agoIPFS is famously slow/unreliable, not widely used, and you still need to pay for hosting of anything you don’t want to lose because storage, bandwidth, and operator time aren’t free and someone needs to get paid to deal with abuse.
- colordrops 5y agoNo you're not - it could be stored in multiple places. It's, a hash, not a URL, and if it's a properly constructed hash it would hard or impossible to fake. The content on server other than internet archive would have the same hash.
- abi 5y agoWhy's there a need to trust internet archive in this situation? If the content hash is no the ETH blockchain, then it's immutable. You can make as many copies of the underlying image as you want so that sticks around permanently.
- fiachamp 5y agoIsn't the solve for this to store it on a decentralized storage network like Filecoin?!?
- jboy55 5y agoIs there any market pressure that will demand a change to the cryptographic hash? Is any of the current speculation concerned in any way about the content hosted at the URL, or just the current value of the NFT and what you can sell it for.
- cableshaft 5y agoThere is. Not from the entire space, but there's a bit of street cred you get by being entirely 'on-chain', as they say. Within the smart contracts themselves is a read function for that content uri that provides all the data needed (from what I've seen, a hashed string) to generate an .svg file. But it obviously taxes the system and costs a lot more in gas fees (not to read it, that doesn't cost gas fees, but to deploy the contracts and mint), especially the more complex those are, which is why you mostly see it with 8-bit or very low-res artwork. Cryptopunks being the most well-known (and also the most valuable) NFT project is all on-chain, and Anonymice being the most open and forked project that does this. EtherOrcs does it a little differently but is also on-chain and has completely open contracts you can refer to as well. There's quite a few more besides this, but I don't know what percent it is, probably pretty small. Some people won't buy anything that's not entirely on-chain. But you're right that most people don't really care, they just care about the price or the image. I've been digging through the Anonymice and EtherOrcs contracts to get a better understanding of the different approaches they took (and I still wouldn't say I completely understand it yet). It's pretty interesting, though. [1]: https://www.larvalabs.com/blog/2021-8-18-18-0/on-chain-cryptopunks https://www.larvalabs.com/blog/2021-8-18-18-0/on-chain-crypt... [2]: https://anonymice.org/ https://anonymice.org/ [3]: https://etherorcs.com/ https://etherorcs.com/ EDIT: Sorry, you only said cryptographic hash. Cryptopunks started by providing that, but then moved to entirely on-chain (so above and beyond that), where you could query and get a full SVG file or stream of pixels for any given image directly from the contract.
- yed 5y agoSo the answer is centralized storage?
- Duralias 5y agoSo why hasn't this been deployed yet then? And why are NFT links so common, because they just seem short sighted to me and borderline dumb considering how volatile everything in the crypto space is? Nothing about NFT's seems long term viable as they are now.
- Zerverus 5y ago
- lawtalkinghuman 5y agoSo long as "number go up", nobody cares. The moment number start going down, there'll be a magic new buzzword (ICO, token, smart contract, enterprise blockchain, DeFi) for people to speculate on and distract from the fundamental problems.
- jrochkind1 5y agoOr even just include a content hash along with the URL in the NFT payload. Just a way to verify the referent of the URL hasn't changed since the NFT was minted. Where you can find the content with that hash if not the URL can be left arbitrary or out-of-band, but it's at least capturing a fingerprint of the content, not just an address. It seems like this would be absolutely trivial to implement, right? Just... add a separator token (say `#`) and a content hash (say with `sha1:` prefix, urn-style) to the end of the URL that's already in NFTs. I don't really understand why NFT's don't already do this. I don't understand why they didn't do it from the start. It seems an obvious choice to me in designing such a thing. Like, it's so easy, and such a step up in making NFT's do something closer to what people think they do... it leaves me thinking that the design of NFT's just wasn't done seriously, and nobody using it really cares. What am I missing?
- spamizbad 5y agoDespite the various claims about how the worlds smartest most talented developers are working on web3… that’s not true. It was a significant oversight and I think technical leadership in the space is lacking. You have people who know lots and lots about crypto stuff but they are focused like a laser. It’s like that crypto thought-leader on Twitter who didn’t know his NFT’d pfp was being served to various web clients over http. It’s also why web3 startups are throwing huge cash at engineers from “web2” companies because, while they may not be crypto experts, they know how to build scalable systems, how web tech works etc. That knowledge is sorely lacking in the crypto space.
- astrange 5y agoThere was an "interesting" thread yesterday by some people who were surprised that static analyzing a contract and a once-over code review weren't enough to prevent the author from instantly stealing all their money. https://twitter.com/cat5749/status/1476813266462539779 https://twitter.com/cat5749/status/1476813266462539779
- discreteevent 5y agoThey can't see the wood for the merkle trees.
- throwawaygh 5y agoYup. It works because there's a 1:1 and onto mapping between 64 bit hashes and pixel maps of arbitrary size ;-) /s
- lmarcos 5y agoHonest question: at this point why don't we skip the NFT part and just keep the URL and the content in the Internet Archive?
- cuteboy19 5y agoThis gives me an idea: Internet Archive could sell Internet Tokens™ that function exactly like NFTs (but stored on the Archive instead of blockchain). Holders would be incentivised to make sure that the Archive continues to exist via donations. It's a win win for everyone
- astrange 5y agoWhat does it mean to keep a URL in the Internet Archive?
- tsimionescu 5y agoI think they mean you keep the URL and the content stays in the Internet Archive. But it could also mean that the Internet Archive creates a special page, say, "Owned URLs", where they list a username owner for each URL that someone has payed for. If you wanted to trade your URL, the IA would get a small cut to modify the contents of that page with the new owner. This is 1:1 equivalent to the proposed scheme, but cuts out the inefficient "mint NFT on Ethereum blockchain" step, replacing it with a simple database on the IA side.
- dexter89_kp3 5y agoThere are on chain NFTs like cryptopunks. The rest of articles details around API centralization stand true.
- mad182 5y agoIf your solution is to trust the Internet Archive, why not just skip the blockchain part? Any hash can match virtually unlimited number of different turd images. And even if you trust the hash function to never be broken or brute forced with future technology, it can only verify the image, not prevent it from being deleted or altered, rendering the NFT broken and useless. Verifiably broken and useless, but still...
- pmontra 5y agoWe can add the hash of the content but what happens if the URL goes 404 or the web server disappears? I'll be the owner of a useless pair of URL and hash. Or those NFT contents (and the URL domain!) are guaranteed not to disappear unless many web 1.0 and 2.0 services people was paying for and went out of business? An article about this: https://www.theverge.com/2021/3/25/22349242/nft-metadata-explained-art-crypto-urls-links-ipfs https://www.theverge.com/2021/3/25/22349242/nft-metadata-exp...
- fastball 5y agoMany NFTs already do this, but the hash is for IPFS, which is a decentralized file storage system. In fact decentralized storage being integrated into web3 is I think an element that the OP missed in his analysis.
- toomuchtodo 5y agoIPFS is unfortunately not durable, nor very reliable when attempting retrieval through IPFS (versus a gateway, such that Cloudflare offers).
- fastball 5y agoIPFS allows for more durability than the traditional way people point to content on the internet. You can attach a IPFS hash to your NFT (or w/e) while still using clients that use a more reliable gateway.
- toxicFork 5y agoSome NFT platforms operate with IPFS whose URLs are hashes of content. This solves that problem.
- Kognito 5y agoI’m not terribly up to date with IPFS (so feel free to correct me), but if I’ve understood it correctly, it’s not dissimilar to Bittorent where files are seeded by interested parties and if no one happens to be seeding any longer, the file is essentially dead? It’s almost like you want some centralised entity to preserve copies of the images these NFTs link to. I wonder how many IPFS-backed NFTs are only being seeded on nodes run by the big players like OpenSea?
- TimJRobinson 5y agoFilecoin that you pay to have any files you like mirrored by many people, in a decentralized way. Arweave is also a one off fee to have the file mirrored forever, the hosters are paid from the yield earned on that fee.
- TimJRobinson 5y agoSorry hacker news had an outage and somehow removed the first half of this comment and it's too late to edit now. Top was: You are correct about IPFS, it's just like torrents. There are services like Arweave, Sia and Filecoin where you can pay...
- pcthrowaway 5y agoArweave nodes can choose not to store data (and will likely drop data that's not profitable over time also), so I'm not sure that it's really a solution.
- TimJRobinson 5y agoIndividual nodes can choose not to store it, but your data is sharded amongst many nodes. Usually it's something like 64/96 redundancy - it's sharded across 96 nodes and at least 64 must be online to retrieve the data. It gets re-distributed if some nodes are offline for a while (not sure on specific numbers)
- Ar-Curunir 5y agoThis is trivially solved by including a hash of the object in the ownership certificate.
- magicjosh 5y agoWould that be effective for low-res images like cryptopunks? Or can I create other 24 x 24 px images that have the same hash?
- Ar-Curunir 5y agoYou can’t efficiently create hash collisions in a cryptographic hash
- hk__2 5y ago> This is trivially solved by including a hash of the object in the ownership certificate. This doesn’t fix any issue. If the URL changes, your NFT is worth nothing and you have no way to get the object back.
- wahnfrieden 5y agoWrapped NFTs
- wahnfrieden 5y agoI was downvoted but it’s literally happening, see https://twitter.com/asvanevik/status/1479569507739856897?s=21 https://twitter.com/asvanevik/status/1479569507739856897?s=2...
- medion 5y agoThis was insanely surprising to me - I actually always thought the jpeg/art was stored as a kind of ‘blob’ on the blockchain that it was authenticated against the owners wallet/private key.
- iskander 5y agoSome NFTs are stored this way (e.g. Blitmaps, Terraforms, Corruption(*s), &c); it's a more restrictive artistic medium since storage costs are high and technical limits feel like a trip back to the 80s. If you can fit nice art into the constraints then it can become quite popular/valuable since fully on-chain NFTs are actually decentralized (rather than the more common practice of linking to an external image).
- stjohnswarts 5y agoWell the image could also be embedded in the data of the blockchain and/or a irreversible (currently) hash made for the image sitting on the server. Now will a court enforce that digital contract as a legal contract if the person takes down the server or puts up a different image? shrug I doubt it under current law.
- roywiggins 5y agoIsn't storing the actual image data on-chain usually prohibitively expensive?
- bblb 5y agoWe need a version of Freenet, where the network _guarantees_ that your content is always highly available. Well, at least as long as the tech/network itself is still alive. Every user of the network has to provide some storage for the network itself. If there's not enough storage to safely store your new content on the network as highly available, the network would just say sorry, can't do right now, please wait on the line while we get new storage (users). Sure, it would need some massive network effect to work at scale, but we have now, what, billions of devices connected to Internet? That ought to be enough. I never really understood this current "decentralized" tech. Decentralized hashes with centralized gate keepers, and mixed with "old school SPOF tech", e.x. the VPS's that store the actual content. wat. edit: 10GB per device/user and 1 billion devices. That's 10 exabytes. https://www.wolframalpha.com/input/?i=10GB+*+1+billion https://www.wolframalpha.com/input/?i=10GB+*+1+billion
- foxfluff 5y ago> Sure, it would need some massive network effect to work at scale And nobody wants to participate. These projects are doomed to be extremely niche. As TFA points out, even nerds do not want to run their own servers at this point. It could have worked in the days of casual piracy (kazaa, napster, certain private torrent sites etc had a shitton of users) if you managed to sell it as a way to do exactly that.. But getting people to install apps today to donate their bandwidth and disk space for.. what cause? Let alone when they figure out that gasp your storage may then be used for illegal material. Nah, it just doesn't work.
- bblb 5y ago>Nah, it just doesn't work. This is why we can't have nice things. :D
- bblb 5y ago>your storage may then be used for illegal material Then forget about the anonymization features of Freenet, and build something that ties to your Google Auth, Facebook ID, Government ID, whatever. And let LEA access all of the content and seize/prosecute illegal content. Really not that different than storing your content on any of the cloud storage providers. With the exception that your data would be always guaranteed to be highly available, and not on just one or two centralized cloud storages. >But getting people to install apps today to donate their bandwidth and disk space That's just a marketing headache. ;)