Skip to content

Conversation

ivan386
Copy link

@ivan386 ivan386 commented Jun 13, 2018

#55

Merkle Hash Tree multihash

<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-<hash-mc>-<hash-len>-(<hash-value>)-[<hash-value>...])
<0x0400>-<len>-(<0x01>-<hash-mc>-<hash-len>-(<hash-value>)-[<hash-value>...])

0x0400 - Merkle Hash Tree (1024 decimal) multicodec value

0x01 - Hash Tree Type with this settings:

  • Data segment size - 1024 bytes
  • Data prefix - one byte with value 0 (0x00)
  • Hash pair prefix - one byte with value 1 (0x01)
  • Unpaired hashes move on next level unchanged.
  • hashes in tree packed in breadth-first order from root to leafs.

0x02 - Hash Tree Type with this settings:

  • Data segment size - 1024 bytes
  • Data prefix - one byte with value 0 (0x00)
  • Hash pair prefix - one byte with value 1 (0x01)
  • Unpaired hashes move on next level unchanged.
  • Level of hash tree
    1. level - 1 hash = root-hash
    2. level - 2 hashes
    3. level - 3-4 hashes
    4. level - 5-8 hashes
      and so on

Tiger multihash:

<tiger-mc>-<len>-<hash>
<0x7A>-<0x18>-<0x3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3>

0x7A - Tiger-hash multicodec value

Tree Tiger multihash:

<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-<tiger-mc><tiger-len>(<tiger-hash>)[<tiger-hash>...])

Tree sha2-256 multihash:

<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-<sha2-256-mc>-<sha2-256-len>-(<sha2-256-hash>)[<sha2-256-hash>...])

Links:

Tree Hash EXchange format (THEX)
Tiger:
A Fast New Cryptographic Hash Function (Designed in 1995)

wikipedia: Tiger (cryptography)
wikipedia: Merkle tree#Tiger tree hash

License: MIT
Signed-off-by: Ivan [email protected]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants