CID-RSA-NFT digital certification

The following post contains a proof of concept implemented on Tezos Blockchain.

This is a symbiotic system in which a party injects an asset/a file in a Blockchain as a FA2 NFT (Non Fungible Token). Such NFT contains an IPFS (Interplanetary Filesystem) CID (Content Indentifier – A decentralized data structure) hash, holding a JSON with informations as: digital signature derived from a private key, public key, and a cid hash which was signed.


CID-RSA-NFT digital certification ALGORITHM

Tezos Mainnet: KT1M2Gng6zuDEy7PFivXPDYgrNnYEfLsc1z1#16

Merkle origin: QmXEh8MMNk4waEWXsK9JWoNau4RCRzwPvYdAZc6cZPFhDY

Merkle branches:{“pk”:“QmQD4Aa2BZkVHQmNAG8Bhm3DN3SsTCjZ5Qvy5n577a9FX5”,“sig”:“QmQggb9MgtF8KWL3xPNFBjdDXHx7tCvSAvRYFxRwfqxmJj”,“cid”:“QmYiDxpDPXECmkN5hFqSTafF4Q7uHsGPmHSsYv67gXmMaV”}

Public Key:

Private Key:


echo -n 'QmYiDxpDPXECmkN5hFqSTafF4Q7uHsGPmHSsYv67gXmMaV' | openssl dgst -sha3-512

echo -n 'd3b861acf4525025f00190f06a58c3bbfa8f08ea2d98b62f77d9be5ba9bf547a2f9fadd64edd5fe8ca1a74977c31285b6b0ed223c3c97e5742f27185fd45ae4e' > hash

(sha3 reductant?)

openssl dgst -sha256 -sign private.pem -out hash.sig hash

�%��z�2c2��	�#[M��0�X�ᬩ�߇�x�*��!��	����tp���w��[3Q�7^z�]��a

00000000  ef bf bd 25 7f ef bf bd  ef bf bd 7a ef bf bd 32  |...%.......z...2|
00000010  63 32 ef bf bd ef bf bd  14 09 ef bf bd 23 5b 4d  |c2...........#[M|
00000020  ef bf bd ef bf bd 30 ef  bf bd 1d 58 ef bf bd e1  |......0....X....|
00000030  ac a9 ef bf bd df 87 ef  bf bd 78 1a ef bf bd 2a  |..........x....*|
00000040  ef bf bd ef bf bd 21 ef  bf bd ef bf bd 10 09 ef  |......!.........|
00000050  bf bd ef bf bd ef bf bd  ef bf bd 74 70 ef bf bd  ||
00000060  ef bf bd ef bf bd 77 ef  bf bd ef bf bd 5b 33 51  |......w......[3Q|
00000070  ef bf bd 37 5e 7a ef bf  bd 5d ef bf bd ef bf bd  |...7^z...]......|
00000080  61 0d 0a ef bf bd 7f ef  bf bd 70 ef bf bd ef bf  |a.........p.....|
00000090  bd ef bf bd ef bf bd 32  ef bf bd ef bf bd 61 ef  |.......2......a.|
000000a0  bf bd ef bf bd ef bf bd  ef bf bd ef bf bd 11 ef  |................|
000000b0  bf bd 24 ef bf bd ef bf  bd ef bf bd ef bf bd ef  |..$.............|
000000c0  bf bd 45 1b 00 44 7f 40  17 ef bf bd 33 ef bf bd  |..E..D.@....3...|
000000d0  0e ef bf bd ef bf bd ef  bf bd ef bf bd 08 ef bf  |................|
000000e0  bd ef bf bd ef bf bd 65  58 ef bf bd 23 6e 4d 1f  |.......eX...#nM.|
000000f0  30 ef bf bd ef bf bd 14  ef bf bd 65 4b           |0..........eK|


openssl dgst -sha256 -verify public.pem -signature hash.sig hash

Verified OK

I only address those questions here out of respect for part of the Tezos Community. This also seems to be an extremely resistant approach to ransomware attacks.


As you have posted it now there is now way to patent it. It is considered public knowledge now.

patents + opensource = scam?

patere, to lie open.

If you look at the terms of many open source licenses like e.g. MPL-2.0 or EPL-2.0 there are things like this:

If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient’s patent(s), then such Recipient’s rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

And if you put a patent under open source you grant a license to everyone else. If you sue others afterwards you will lose the right to use this specific open source software. Open source and patent is not scam but in my experience the patenting of software algorithms is not very useful.
I you want to protect an idea just publish an article about it and put the associated software under open source.

Yes, it’s open source and wide public, as well as its grounding stack. Some of such specifications can be found at the following fungible token, as mentioned: KT1M2Gng6zuDEy7PFivXPDYgrNnYEfLsc1z1#16 Thanks for such remarks. Publishing strategies are actually a concern that was intended to be provoked in such experiment as well. But I agree that some implications/details can be unfolded, regarding cryptography and networking, what implies that it’s also a experimental version. For example, the architecture of such hybrid network to be reproduced must take into account the resilience of an distributed file system, as well it’s interaction with a blockchain permissioned/permissionless. Other models are also possible, as it’s well know that Tezos has some updates regarding similar topics, for verification of signatures, etc, in the very core protocol. We intend to keep implementing and sharing those by decentralized means as we are heading to it though.