ordinals / ord

👁‍🗨 Rare and exotic sats
https://ordinals.com
Creative Commons Zero v1.0 Universal
3.85k stars 1.37k forks source link

Off-chain content #801

Closed casey closed 1 year ago

casey commented 1 year ago

Should we support off-chain content?

Pros:

Cons:

SHA-256, BLAKE3, or BitTorrent V2 file merkle root. If BitTorrent V2, will also need content length

lingmann commented 1 year ago

If you decided to support off-chain content, it's probably worth looking at the CID Specification. They have spent some time thinking about hash functions, codecs, etc. and it is being used by Bluesky (AT Protocol) as well as IPFS.

batcavekid commented 1 year ago

I think the answer depends on what you want to maximize for the ecosystem, including but not limited to:

I think on-chain only is best (at least for now)

The vast majority of off-chain NFTs on other ecosystems are extremely low quality. I believe the best artists and projects would have found a way to inscribe at higher cost if they had to, and some of those started out as off-chain but later moved on-chain. Over time, many of the links will break (and many already have), leaving the owner with an empty token.

Advantages of off-chain:

mullojo commented 1 year ago

Seems smart to keep the main chain as light as possible for long term success. IPFS is a very attractive solution for off-chain data storage.

casey commented 1 year ago

Not to sound harsh, but I've looked at and worked with IPFS, and is complex and poorly-designed. BitTorrent V2 is a much better, simpler, sounder protocol.

Requirements for any off-chain storage:

mullojo commented 1 year ago

Have you seen this rust implementation? https://github.com/n0-computer/iroh

image
lingmann commented 1 year ago

@casey would agree with the goal of keeping the protocol spec super simple and not relying on an external system like IPFS. I was just mentioning the CID spec because it might be useful for comparing & contrasting different approaches taken towards hashing, metadata, content-type, etc. Of course you also want to avoid biasing your design, so probably a good idea to come up with your own ideas first and then compare. :) Great project btw, and congrats on the mainnet launch!

casey commented 1 year ago

@mullojo I haven't, but good to know about! There are some issues with IPFS that an implementation might not be able to fix, for example this, which is caused by IPFS chunking content and advertising each individual chunk in the DHT.

casey commented 1 year ago

Great project btw, and congrats on the mainnet launch!

@lingmann thank you!

wagmiwiz commented 1 year ago

IMO supporting a generic "url" media type would go a long way. It's up to the clients to then decide how they show or tag such content. And it is up to the inscribers to decide when it may make sense.

For example, if I wanted to inscribe a link to a YouTube video then I should be able to (as silly as it may sound). Clients can flag it as "external content" and unfurl/embed. The url can then be ipfs, arweave, torrent or whatever.

One could just embed a link already by using a text media type but having a more dedicted type may help to make it more explicit that the content is external.

nammaki commented 1 year ago

Please add support for off-chain content 🙏

spzjulien commented 1 year ago

for me the off-chain would be good for hd quality of the onchain version, so both at same time on one ordinal some of my ordinal are 30-60kb and i have them in 1-2mb, some of my holder ask me better quality for print in and put on the wall https://twitter.com/wtf_pd/status/1659574384103702530

i see off-chain like good option, but not sure if off-chain only will be popular

tyjvazum commented 1 year ago

@spzjulien, I agree, that's why it's optional with arb.

casey commented 1 year ago

I think off-chain content isn't something that's likely to be supported in the near term.