Notarization certificate

This is to certify that the dataset or file referred hereunder was notarized at the date and time printed down below by the person identified as "signee"

  • Name

    {{filename}}

  • Date & time

    {{ dt*1000 | date:'medium' }}

  • Signee

    Storage Demo Corp.

TECHNICAL DETAILS

The following details will allow you to prove the authenticity of the uploaded file. Using this information, you or a third party can authenticate the file even without access to the storage.

Data

Information specific to the uploaded file: file name, MD5 hash, size in bytes and storage transaction number.


{{obj}}
          

Hash

The value of SHA-2 hashing function applied to the value of DATA field including the braces and stripped of space and line break symbols.

{{hash}}

TRANSACTION ID

Unique transaction ID in Ethereum blockchain. We use a private installation of Ethereum for this demo.

{{txid}}

CONTRACT ADDRESS

An address of a data notarization smart contract in Ethereum blockchain.

{{contract}}

Sender

Address of the wallet that originated the transaction in Ethereum blockchain.

{{sender}}

Timestamp

Date and time of the transaction stored in the blockchain in Unix format.

{{timestamp}}

Merkle Patricia Root

Top hash of the Merkle Patricia tree. Stored in blockchain in Acronis Notary smart contract.

{{merkle_root}}

Merkle Patricia Proof

Data structure to validate Merkle root against key-value data. A HASH field is used as the key.

{{merkle_proof}}

How to verify?

Step 1

Calculate MD5 hash of a file.

For Mac OS:

  • Open Terminal app
  • Type md5 followed by space and a file name.
    Example:
    $ md5 '{{filename}}'
    MD5 ({{filename}}) = {{md5}}
  • Check that md5 hash from the Step 1 is equal to an eTag in DATA field in your notarization certificate.

Step 2

Copy JSON from DATA field and paste it in a file. Remove all spaces and new lines except symbols in fields.
Example of original JSON:

{{obj}}

After:

{{objString}}

Step 3

Calculate SHA-2 of the file from the Step 2.

For Mac OS:

  • Open Terminal app
  • Type shasum -a 256 followed by space and a file name.
    Example:
    $ shasum -a 256 my.json {{hash}} my.json
  • Check that SHA-2 hash from the Step 3 is equal to a value of HASH field in your notarization certificate

Step 4

Check data in the Ethereum contract

For Mac OS:

  • Open Terminal app
  • Type:
    curl HOST:PORT -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["TX"],"id":1}'
  • Replace HOST and Port to Ethereum node host and port, TX to TRANSACTION ID field in your notarization certificate
  • Check that data field in the result is equal to MERKLE PATRICIA ROOT field in your notarization certificate