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.

1166

User collection metadata

The attributes added to each user collection in the _provendb_metadata embedded document are listed below

AttributeDescription
hashHash value for the document. The hash includes metadata attributes but (of course) not the hash itself
minVersionThe database version in which this version of the document first became visible
maxVersionThe database version in which this version of the document last became visible
forgottenIf true, the contents of this document have been forgotten
_idthe "ProvenDB" _id - this is the same for all versions of a document
mongoIdThe actual MongoDB "_id" of the document. Unlike the provenDB _id , this value changes every time a document is updated.

provenDB metadata collections

Below is a definition of each ProvenDB metadata collection

NameDescription
_provendb_versionsContains details of each database version including it's timestamp and status
_provendb_versionProofsContains 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_collectionsContains collection-level locking information.
_provendb_currentVersionContains a single document that defines the current version status
_provendb_forgetRequestsRecords the status of each forget request.
_provendb_documentProofsContains 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

What’s Next