Key design principles

What options and approaches are recommended to address these limitations? How can it be ensured that documents remain immutable and that non-repudiation still applies even when documents are stored off-chain? A fundamental best practice is for applications to capture an immutable document hash, which essentially fingerprints the document, storage location (a URL in a content management system, object store, and suchlike), and related metadata, including the timestamp, user credentials, and version number. This data then becomes a document record, which can be stored on-chain, even as the document itself is stored off-chain. The document record is immutable, and the document hash it contains can be used to verify the integrity of the document or image object when these are retrieved from the off-chain storage.

The other important practices to apply in this on-chain/off-chain design pattern are the following:

  1. Ensure that you have received a confirmation that the document has been stored successfully off-chain before updating the document record on-chain
  2. When retrieving the document, first retrieve the document record from the blockchain, use the location information to retrieve the document itself, and then calculate and verify its hash against the hash included in the blockchain record

While it's possible to handle these tasks in a client application, it would be more beneficial to use an off-chain storage solution that provides built-in anchoring to the blockchain; that is, a solution that automatically creates and updates records on the blockchain whenever any document is created, accessed, updated, or deleted. Depending on the nature of the documents, this could be a specific content management/document storage solution, or a generic object store solution providing undifferentiated blob storage in its containers. Thus, transactions that involve off-chain documents would be handled by this storage solution, which, in turn, would create immutable document records on-chain. This leverages the immutability of the blockchain network using small document records, while documents themselves are stored off-chain in the document storage service. 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset