daoka / asset-apostille

Extend of transferable public apostille
Apache License 2.0
2 stars 0 forks source link
blockchain nem

Apostille asset

Apostille asset is transferable public aopstille using mosaics.

Background

Improvement by assetting

Implementation plan for NIS1

We create the mosaic that attached apostille. The attachment is uses the transaction hash that created apostille. But, the simple attachment makes the fake mosaic easily. So, we are using signed transaction hash. Signed transaction hash is applied to namespace and mosaic. The specific implementation is as follows.

  1. Create apostille.
  2. Sign the transaction hash that created apostille.
  3. Split signed transaction hash. And apply to namespace following rule.
    • (any root namespace).(first 64 digits of singed transaction).(65th digit to 96th digits of signed transaction)
  4. Create the mosaic following rules.
    • Mosaic Name: Last 64 digits of signed transaction.
    • Description: Original transaction hash.
    • Initial supply: Number of rights.
    • Divisibility: 0
    • Mutable supply: If division / merge will occur later, enable it.
    • Transferable: Set as necessary.
    • Levy: Usually not necessary.

Audit

To audit that the mosaic is created by apostille creator, using to the signed transaction hash that restored from the namespace and mosaic name and the original transaction hash that described in the mosaic description and apostille creators public key.

Advantage

Disadvantage

Use case.

Implementation plan for NEM2(Catapult)

NEM2's function adding and specification change

Apostille asset is affected by the following additions and changes in specifications.

Implementation for NEM2

  1. Create apostille.
  2. Create mosaic. Set the properties of the mosaic in the same way as NIS1. And set mosaic's metadata followings.
    • OriginalHash : Transaction hash that created apostille.
    • SignedHash : Signed transaction hash with apostille creator's private key.
  3. We can alias any namespace.

Extension apostille by NEM2

Using metadata, we can add apostille's information. For example, original document URL, Approver's information, abstract rights information and so on.