CTDP CERTIFIED TRAINING AND DEVELOPMENT PROFESSIONAL

Show more...

A Certified Training and Development Professional is a member of the Institute for Performance and Learning (I4PL) who has demonstrated mastery of the seven competency areas that make up the body of knowledge for workplace training professionals, known as the Competencies for Performance and Learning Professionals.

Issuer

The Institute for Performance and Learning

Issued On

1689681600

Expires

-
check_circle Hosted badge assertion is valid
check_circle Badge has not been revoked
check_circle Badge has not expired

Check that the badge was awarded to the correct recipient by entering their email address:

 

Blockchain verification available

verified_user Verified — This badge has blockchain validation enabled.

fingerprint Verified — SHA256 checksum of the hosted assertion matches stored targetHash value.

call_merge Verified — Values for targetHash, proof, and merkleRoot form a valid Merkle Path.

link Verified — MerkleRoot is anchored to blockchain.

Show Proof Data

{
   "anchors" : [
      {
         "chain" : "ethereumMainnet",
         "sourceId" : "0xd5407d0a0e9631c6d2f8e90ea50927a5eb70c61c3ecab231463bb187c7d0cee5",
         "type" : "ETHData"
      }
   ],
   "merkleRoot" : "c5ebd996fc9779115c9120510f9bcb8dd608207908112e4c0ed28d16c95b3df1",
   "proof" : [
      {
         "left" : "07b8c0465e9be0a2c316bdf60803c3045b2f6f4d2699294b2c28690e539f7cca"
      },
      {
         "right" : "706200999e05086ff02f82bf2917606303ef84fcebb5453ae0f0fb17c16fe5d1"
      },
      {
         "left" : "282bc6363f32164e55a60a29d082f09f10361e8af5c1dc5269201b8dda62d6f8"
      },
      {
         "left" : "06d59bcd5bba73f1efc74a4b140692cc694c7cf377287b79f9441eaedb932986"
      },
      {
         "right" : "902ff10119931412dbb855bc3b1b81543635c9583e53d436227ff195b3a16463"
      },
      {
         "right" : "4d104b24b0c2d2e14058ff232f950dc6fa7405917d3c46cde8e29a039c36807d"
      },
      {
         "right" : "1f3e7f185a8a09b8a63fc39d43cf9cd013bbd993b40fb6de961a958b380548df"
      },
      {
         "right" : "aef4d3fb415655617a9200a9be5811911c9a264ee3855f2e3bb85a3f6671cfdd"
      },
      {
         "right" : "f77e6d1e4631ca73a21fcfa5cbc2829508dfb5ffea80fb6fb036d5bc612ec9a6"
      }
   ],
   "targetHash" : "08c532eecf7057a6cf9a2a3da324e287932db32c6cd1643cf6b460abf5e2ace4",
   "type" : "MerkleProof2017"
}

Steps for independent verification using provided proof data:

  1. Download the hosted assertion from https://factory.cancred.ca/v1/assertion/f4b666c25624fdeb0c69dff48b88df7ae88d1eca.json

  2. Calculate the SHA256 checksum of the downloaded JSON string.

  3. Verify that targetHash matches the hex-encoded SHA256 checksum.

  4. Verify that the values targetHash, proof, and merkleRoot form a valid Merkle Path.

    Starting with targetHash, traverse the proof list and calculate SHA256 checksums for each pair. Pairs are formed from the value of previous calculation and each list item map value. Argument position of the list item in the hash function is determined by the map key "left" or "right". Final value must match merkleRoot value. Note that all checksums are calculated from hex-decoded binary bytes.

  5. Verify that merkleRoot matches what is stored in the blockchain transactions of the "anchors" list.

    The value to check is stored in the data field of an Ethereum transaction identified by sourceId value. You can use a service like https://etherscan.io to look up the data field using the provided transaction hash.

If you have the original badge PDF file you can validate it here:


Validate another badge