#ī¸âŖHash functions
BLAKE3,SHA-256 and some more explanations
The next important component is hash functions. For KLYNTAR we'll use a set of functions in our inner processes. Here's the list:
BLAKE3 (256 bits with further potential extending to 512 bits)
SHA-256
SHA3
BLAKE3
BLAKE3 was chosen as the main candidate to be used as the lead hash function for getting block headers' hashes, hashes of workflows, services archives and so on. Superfast, supports PRF, MAC, KDF, and XOF modes, highly parallelizable and so on.
Since BLAKE3 supports XOF mode i.e. output length of a hash might be variable(like in SHAKE hashing scheme). This is important in case of using them as a quantum secure alternative to 128 or 256 bits schemes which can be abused by Grover or BHT algorithms in case of collision found(read more at Quantum stuff).
Using on symbiotic chains
BLAKE3 will be used in workflows implementations. However, thanks to mutation mechanisms developers of other workflows, operators of nodes in other symbiotes will have ability to use any function they want which will be presented in the official repository or developed/distributed by 3rd parties via alternative channels.
Using to generate addresses
As for the application at the level of algorithms, we use BLAKE3 to generate addresses in post-quantum signature schemes due to the large size of the public key. Obviously, the address will be BLAKE3(PublicKey)
This can be seen even in console
Used to identify smart contracts
Unique IDs for unique contracts. For smart contracts, we are talking about the hash of the WASM module.
SHA-256
Good and reliable, as well as a super popular hash function that has stood the test of time. In KLYNTAR, it is used selectively in certain places of the type to obtain seed when decrypting keys.
SHA3
256-bit SHA-3 (also known as Keccak-256) based sponge function is a NIST standard. It is used as the main one in Ethereum (although there is some confusion between correspondences) and in other cryptocurrencies. Will be used by KLY-EVM.
Last updated