ProvenDB adds metadata to each document which includes a hash value and effective version numbers. Normally, this metadata is suppressed. However, the showMetadata command can be used to request that metadata be displayed in query results. This command takes effect across all sessions for a given user.
ProvenDB maintains a set of collections that are used to define version information and record proofs. These collections cannot be modified by ProvenDB users but can be viewed normally. The diagram below documents these collections.
The attributes added to each user collection in the _provendb_metadata embedded document are listed below
|hash||Hash value for the document. The hash includes metadata attributes but (of course) not the hash itself|
|minVersion||The database version in which this version of the document first became visible|
|maxVersion||The database version in which this version of the document last became visible|
|_id||the "ProvenDB" _id - this is the same for all versions of a document|
|mongoId||The actual MongoDB "_id" of the document. Unlike the provenDB _id , this value changes every time a document is updated.|
Below is a definition of each ProvenDB metadata collection
|_provendb_versions||Contains details of each database version including it's timestamp and status|
|_provendb_versionProofs||Contains details of each proof created in the database including it's Chainpoint proof, collections included in the proof and bitcoin block and tranaction ids|
|_provendb_collections||Contains collection-level locking information.|
|_provendb_currentVersion||Contains a single document that defines the current version status|
|_provendb_forgetRequests||Records the status of each forget request.|
|_provendb_documentProofs||Contains details of document proofs that have been requested. This acts mainly as a cache to avoid recalculation of document proofs should the same document proof be requested more than once|
Updated almost 4 years ago