Skip to main content

Selecting an asset database provider

📝In this article, we cover:
  • How and where to store NFT metadata

Introduction

In our previous article: Efficient Metadata Design, Storage, and Retrieval we explained the pros and cons of having metadata on-chain vs off-chain. This article will explain the choice after that decision: how and where you can store your NFT metadata. This is an important consideration as it will impact how easily you’ll be able to update your assets' metadata - an aspect core to gaming different to the rest of web3. There are 3 main choices you can make in selecting an asset database provider.

  1. Cloud storage
  2. IPFS (InterPlanetary File System)
  3. On-chain

Below is a table that outlines summarises the impact of these choices.

Summary of asset database providers

Database providerCloud storageIPFSOn-chain
Description Metadata is stored on centralised cloud servers such as AWS, Google Cloud, Azure.Metadata is stored in a distributed file storage protocol with a distributed network of computers. When data is ‘pinned’ to this protocol, a unique hash of that data is provided which is then used to locate the image on IPFS. Assets using IPFS as a database would store this hash on-chain.Metadata is stored directly on the blockchain. It is tamper-proof and transparent, however requires cost to update. More information in previous article:Efficient Metadata Design, Storage, and Retrieval
Advantages
  • Very efficient to update: Updates to metadata are both extremely quick and cheap to execute
  • Easy to set-up and use: Cloud storage is the industry norm
  • Fairly reliable: Minimal downtime based on cloud provider
 
  • Same tamperproof and transparent* advantages as on-chain, however less permanent as it is not stored on the blockchain but IPFS protocol.
  • Cheaper than on-chain: Majority of data is stored off-chain and it is just the unique hash stored on-chain
  • Tamperproof: Cannot be altered by unwanted parties
  • Transparent*: Visible by all and can be used as source of truth
  • Permanent: Data will persist on-chain for as long as the underlying blockchain
Disadvantages
  • Risk of corruption or deletion: Data is held by centralised parties and could be modified or lost
  • Less permanent than on-chain: Data is stored on the IPFS protocol rather than the underlying blockchain
  • Slow upload times: Data needs to distribute amongst network of computers
  • Expensive: Gas costs in updating data in proportion to amount stored
  • Non-instant finality: Blockchain transactions are not instant and require consensus before it’s considered ‘complete’

* Not an advantage or disadvantage for all cases, but provides game developers this optionality