Data Management Patterns

Data management patterns focus on managing data on and off the blockchain. Volume, velocity, and variety of data that we can store on a blockchain depend on several factors such as transaction and block size limits and the transaction throughput of the blockchain platform. Further, data privacy is another concern as all participants of a blockchain can see the data. Therefore, one needs to carefully assess a blockchain-based application’s performance, integrity, and privacy needs to determine whether it makes sense to store all the data on-chain, cryptographic representation of the data on-chain while keeping the actual data off-chain, or something in-between. Following patterns present several ways we can store data on-chain and off-chain:

  • Encrypting On-Chain Data – Encrypt data before storing it on blockchain
  • Tokenisation – Use tokens on the blockchain to represent transferable digital or physical assets and services
  • Blockchain Anchor – Store hash of an arbitrarily large dataset (that may not fit on to a blockchain transaction) on blockchain
  • State Channel (aka., Payment Channel) – A 2-way pathway is established between transacting parties to perform transactions off-chain while recording opening and final settlement transactions on the blockchain