<p>While this is possible to do in principle, there is currently a lack of standards surrounding many potential such applications of blockchain tech. Establishing standards will require us to experiment a bit at first, tailoring each application to our specific needs. That being said, I'd imagine there's a few ways of going about document verification, depending on what your requirements are for user-friendliness, security, and accessibility. Here are a few naive ideas:</p>
<ul>
<li>One can hash some document(s) using a popular hashing algorithm like SHA-256, and post the resultant hash on chain as metadata. <a href="https://developers.cardano.org/docs/transaction-metadata/" rel="nofollow noreferrer">Here</a> are some basic introductions for attaching metadata to a transaction. If someone would then like to verify the authenticity of the document, they could hash it themselves and compare their result with what is posted on chain (provided you give them the tx-hash of the transaction so they could query it). Note: while this method is secure and works well for individual documents, it can get tedious keeping track of everything if there are many documents posted over a long period of time. One can write a piece of software that automates this process or:</li>
<li>One can securely generate a GPG keypair, whose fingerprint they post on-chain as metadata. Now, anything signed by the keys can be referenced by an external validator as being the same signatory whose key fingerprint is stored on chain. This method requires a higher level of trust in that the validator assumes your keys have not been compromised, but it is much easier to authenticate many documents since only your GPG fingerprint is stored on chain.</li>
</ul>
<p>As far as paying for all of this goes, fees on cardano are deterministic, and it relatively cheap to submit basic transactions with metadata. <a href="https://docs.cardano.org/explore-cardano/fee-structure" rel="nofollow noreferrer">Here</a> is the formula for reference.</p>
<p>These are just a few spitballs of how I would begin going about solving your problem. However, I'm sure that, as time goes on, standards will evolve and cement themselves for such applications.</p>

CC BY-SA 4.0
2022-08-08T07:05:06.440Z
I think the COSE (CBOR signing and encryption) is now a clear pathway for document signing and encryption of the signature. (https://github.com/cardano-foundation/CIPs/tree/master/CIP-0030 , https://github.com/Berry-Pool/nami-wallet/blob/faf5a7a7993defbb7267a25a5f4cef4e06d39c7d/MessageSigning.md
 are some references.). This is the wallet api: api.signData(addr: Address, payload: Bytes): Promise<DataSignature>
 that can help with using of the wallet private keys to sign while attaching the public key for verification in the backend.
LKBH Pools
CC BY-SA 4.0
2022-08-08T07:07:58.017Z
The problem with GPG key scenario, is that it can lead to hacks where a central server generating the keys become the vulnerability and hence it is better avoided. Moreover for lay users they cannot store their keys. That is why it is best to use wallet which the lay users can use.
LKBH Pools
CC BY-SA 4.0
2022-01-08T18:57:54.380Z
2022-01-08T18:57:54.380Z
zhekson
<p>I want to adopt cardano blockchain as a proof of existence and authenticity of documents on my job. How can I do that?</p>
<p>Making some research I found cardano CFC but I am not sure if is working already and if there are other alternatives at low or not cost.</p>

<blockchain>
How can I register a document on the cardano blockchain? Does it have cost?
# How can I register a document on the cardano blockchain? Does it have cost?

(Asked by: username_0 on 2022-01-08)

I want to adopt cardano blockchain as a proof of existence and authenticity of documents on my job. How can I do that?

Making some research I found cardano CFC but I am not sure if is working already and if there are other alternatives at low or not cost.

**Tags:** blockchain

---

## 1 answers

### Answer by username_1 on 2022-01-08. Score: 0

While this is possible to do in principle, there is currently a lack of standards surrounding many potential such applications of blockchain tech. Establishing standards will require us to experiment a bit at first, tailoring each application to our specific needs. That being said, I'd imagine there's a few ways of going about document verification, depending on what your requirements are for user-friendliness, security, and accessibility. Here are a few naive ideas:

* One can hash some document(s) using a popular hashing algorithm like SHA-256, and post the resultant hash on chain as metadata. [Here](https://developers.cardano.org/docs/transaction-metadata/) are some basic introductions for attaching metadata to a transaction. If someone would then like to verify the authenticity of the document, they could hash it themselves and compare their result with what is posted on chain (provided you give them the tx-hash of the transaction so they could query it). Note: while this method is secure and works well for individual documents, it can get tedious keeping track of everything if there are many documents posted over a long period of time. One can write a piece of software that automates this process or:
* One can securely generate a GPG keypair, whose fingerprint they post on-chain as metadata. Now, anything signed by the keys can be referenced by an external validator as being the same signatory whose key fingerprint is stored on chain. This method requires a higher level of trust in that the validator assumes your keys have not been compromised, but it is much easier to authenticate many documents since only your GPG fingerprint is stored on chain.

As far as paying for all of this goes, fees on cardano are deterministic, and it relatively cheap to submit basic transactions with metadata. [Here](https://docs.cardano.org/explore-cardano/fee-structure) is the formula for reference.

These are just a few spitballs of how I would begin going about solving your problem. However, I'm sure that, as time goes on, standards will evolve and cement themselves for such applications.

> **Comments:**
> **username_2**: I think the COSE (CBOR signing and encryption) is now a clear pathway for document signing and encryption of the signature. (https://github.com/cardano-foundation/CIPs/tree/master/CIP-0030 , https://github.com/Berry-Pool/nami-wallet/blob/faf5a7a7993defbb7267a25a5f4cef4e06d39c7d/MessageSigning.md  are some references.). This is the wallet api: api.signData(addr: Address, payload: Bytes): Promise<DataSignature>  that can help with using of the wallet private keys to sign while attaching the public key for verification in the backend.  
> **username_2**: The problem with GPG key scenario, is that it can lead to hacks where a central server generating the keys become the vulnerability and hence it is better avoided. Moreover for lay users they cannot store their keys. That is why it is best to use wallet which the lay users can use.  

---

