Use on-chain or off-chain to store user data?

Hi @Steve_L,

Some points you may want to consider:

  • What are the regulatory requirements in the jurisdiction your users (and you) are?
  • Could you use a centralized database (do you really need a decentralized solution)?
  • Do points have a value?
  • How do users obtain points?
  • Can points be redeemed for anything?
  • Are points transferable? (assume that transferable points may flow from users least likely to redeem, to those most likely to redeem)
  • Will users have Ether? (should you consider using the Gas Station Network?)
  • How does the value of points compare with that of gas? (What is the minimum amount of points to use in a mint/transfer operation to make the transaction fee worthwhile)
  • If the points have value, then you need appropriate testing (e.g. Test smart contracts like a rockstar) and auditing of your system (e.g. OpenZeppelin performs audits https://openzeppelin.com/security-audits/)

Some potential options:

  • Centralized database tracking users points
  • Centralized database tracking users points, with users having the option to withdraw points to tokens above a certain threshold e.g. 100 points (depending on their value).
  • Points purely tracked as tokens on Ethereum mainnet
  • Points tracked as tokens on a sidechain (e.g. Proof of Authority sidechain such as xDAI, where the network is not trustless but the transaction fees are lower), with potential option to transfer to Ethereum mainnet.

You may also want to look at:

Tagging community member: @paulinablaszk if they wanted to make any suggestions.

1 Like