Where are the claim details stored? Suppose I go to a bank, and the bank issues a claim that “John has an account with the bank”. Where is the fact “John has an account with XYZ bank” (basically this literal string) stored? Is it in the blockchain (ledger) or some database of the bank? If latter, how does the ledger refer to the factual data?
They are stored where you want/need them. In the Government of BC’s Verifiable Organization Network (VON - see detail here: https://von.pathfinder.gov.bc.ca/) we are using an enterprise wallet derived from the Indy-SDK. We’ve used PostgreSQL and SQLite to do the storage at various stages.
For personal information you’ll need your own wallet. Evernym has Connect.Me under development and I expect many other apps to have built-in wallets in the future.
Because the information in VON is explicitly public (corporate registrations are public information) we don’t have some of the privacy concerns that a person has.
I agree with Darrell. Just wanted to note that the one place they are NOT stored is the ledger. Credentials never go there; there is no support for it, because doing so would introduce regulatory and privacy concerns.
Thanks, Darrell. The links are very useful. Assuming the claim “John has an account with XYZ bank” resides in some database, what is it in the ledger that “joins” with this literal string in the database? Should that “join key” also be in the database?
The ledger contains the DID (Decentralized IDentifier) and Public Key of the Issuer - that allows you to confirm that the Issuer pushed out the data. You then take the information from the Holder and confirm that they can control their Private Key (they would usually push you information that you confirm matches up). The “join” is all about the off chain systems. The ledger is used to anchor the crypto.