Data Management Patterns
Disclaimer: This is a summary of patterns we have observed during our research and should not be considered any form of technical or investment advice. Also, the given “known examples” do not imply they are the best implementations of the said pattern or any superior to any other implementation of the pattern not listed.
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