Why are we planning to use Blockchain as our foundational technology?
We looked at a number of technology options for data storage and distribution, including (but not limited to) SQL databases (including graph databases), NoSQL (key value stores, document stores, object stores, etc.), file storage and distributed caching to name a few.
To achieve the privacy and security properties in we needed:
- Data storage and distribution that can easily be replicated and distributed and does not rely upon a trusted central authority to ensure the data is correct once accepted into the system
- A mechanism to allow multiple parties (who may not trust each other) to agree on what data is stored in the data storage system
- Data storage that includes time/sequential series data so the order that the entries are written is known and cannot be tampered with
- Data immutability once written, but with the ability to update records and bind them together as needed (more on this later)
- Data storage that doesn’t actually store people’s PII (it’s hard to have GDPR compliance when you write PII to an immutable data store)
- The ability to witness arbitrary data (both content and size), and to validate certain forms of data that are understood (e.g. the photos with a QR code embedded)
A blockchain is an ideal solution to meet requirements 1, 2, 3 and 4 and with creative use of blockchain technologies and hashing technologies we can meet requirement 5 and 6.
Currently we are using a traditional data storage method, we plan to bootstrap centsay data into a Blockchain once we have decided on a sufficiently secure one.
Blockchain records are immutable, how do you deal with incorrect/obsolete data?
Blockchain records are immutable (it’s a core feature). But that doesn’t mean we can’t add updated data and link to the original data. A simple analogy would be banking records: transactions are recorded, and can be reversed if needed by simply creating a new transaction (e.g. a refund from a merchant). Banks do not simply delete transactions that are incorrect (your ledger needs to be correct and complete). From these transaction records your total balance can be calculated.
In our system the original transaction will be referenced by the new transaction (e.g. “Record #45632 is an update to record #33872”), when someone needs to process the original record they can also walk through the blockchain data to see if any updates exist and then request the new data and process it as needed. This also ensures that you can check if the evidence given to you for validation is in fact the latest version of that evidence.
Which blockchain technology you planning to use?
We haven’t yet made a firm decision however are considering several options based oon their support of Zero-Knowledge Proofs, Smart Contract support, privacy, safety, security and so on.