Opentimestamps for issuing & verifying


An idea from yancyribbens (github), and I’m u0001f3a2 (github) working on the issue. (trying to bypass url limitations for new users)

I’ve looked through the documentation and the source code of cert-issuer on, and it seems like using opentimestamps to issue and verify the certificates could be possible. I’m not quite certain how things would go exactly, but here is some basic steps on how it would go:

  1. the issuer would sign the unsigned certificate.

  2. the issuer would use opentimestamps to commit the certificate to the blockchain

3.using the certificate, the verifier will be able to verify the certificate with opentimestamps.

Therefore, there would be the certificate itself, an unforgeable data from the certificate (probably the hash of it) that can be signed by the issuer. Since opentimestamps issues timestamps in a batch, the batch issuing process wouldn’t be necessary.

I think this would decrease the fees related with issuing certificates, and simplify a lot of transaction handling part of the issuer and verifier. I’m relatively new to the whole blockchain certificates in general, so feel free to give any feedback!



Using opentimestamps would simply be handing the fees and transaction handling to a 3rd party service. You can currently batch many certificates into a single blockchain transaction with cert-issuer. Plus, my understanding of opentimestamps is that it would also create a OTS file that is required to verify integrity? cert-issuer embeds transaction information (receipt) straight into the blockcert.

The url requirement for new users is to provide recipient ownership of their own certificate since it embeds the recipient bitcoin address into the certificate.