Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Cheap & Robust NFTs that Scale #984

Open
Babaonchain opened this issue Jan 31, 2023 · 0 comments
Open

[Feature]: Cheap & Robust NFTs that Scale #984

Babaonchain opened this issue Jan 31, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@Babaonchain
Copy link

Which package is this feature request for?

token-metadata

Feature

I'm trying to come up with a way to create cheap, robust NFTs at scale.

I read a bit about NFT compression. I love how the compressed NFTs decrease costs, but it seems like they introduce two limits to scalability:

  • All transactions must update the merkle root. This means all transactions updating any NFT in the collection (sales, transfers, trades, etc) need to run sequentially (with non-compressed NFTs, this is not the case). It is likely that cu costs for these transactions will also be slightly higher (there's an additional step to validate the proof).
  • I believe there is an additional scalability limitation because you need to cache all updates to the merkle tree that occur in the same block. The number of updates in one block is limited to the size of the cache (which currently maxes out at around 40 updates I think)

It's attractive to mint massive numbers of NFTs via compression, so the contention on the scalability bottleneck could be very high.

I'm hoping to start a conversation to explore creating scalable low cost NFTs, and also ask some other more general questions about NFT compression like:

  • If you compose your proof at block n and send the transaction, but the chain is on block n + 1 by the time the transaction gets there, what will happen?
  • Curious how you move an NFT which is locked in a staking account (or other similar situations)? Is the client responsible for understanding the implementation details of the staking program, and sending information that is needed by that program in order build the proof?

Thanks for your time

Standard Change?

No

Ideal solution or implementation

Cheap, Robust NFTs that scale.

Alternative solutions or implementations

No response

Other context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant