Skip to content
Snippets Groups Projects
  • Hans Moog's avatar
    1266bcf8
    Feat: added a prefix (radix) trie to compress hashes in votes · 1266bcf8
    Hans Moog authored
    To be able to make the vote packages smaller, we have introduced a hash compression mechanism. While hashes can usually not be "compressed" due to limits in information theory, nodes in the IOTA network already know about relevant hashes upfront. We therefore only need to be able to exchange which hash we mean, when we exchange votes. This commit introduces a novel data structure, that uses radix trie like mechanisms, to create a very compact representation of a tx hash that can be understood by others. It allows us to compress the hashes from 49 bytes to 2-3 bytes which is a 94% compression rate.
    1266bcf8
    History
    Feat: added a prefix (radix) trie to compress hashes in votes
    Hans Moog authored
    To be able to make the vote packages smaller, we have introduced a hash compression mechanism. While hashes can usually not be "compressed" due to limits in information theory, nodes in the IOTA network already know about relevant hashes upfront. We therefore only need to be able to exchange which hash we mean, when we exchange votes. This commit introduces a novel data structure, that uses radix trie like mechanisms, to create a very compact representation of a tx hash that can be understood by others. It allows us to compress the hashes from 49 bytes to 2-3 bytes which is a 94% compression rate.
This project manages its dependencies using Go Modules. Learn more