"TriHash mining algorithm is inspired by X16r algorithm, which is created by
RavenCoin, and X16s algorithm, which is created by Pigeon coin. The goal of
this algo is to combine best of both the worlds by combining logic of x16r and
x16s with an additional haval256 algorithm to make asic harder to implement it.
This algorithm consists of 17 algorithms. 16 algorithms from x16r and x16s, and
haval256 as 17th one. These algorithms are chained together in both random
and scramble fashion to provide extra level of difficulties in making an asic. The
algorithm uses last 35 nibble of previous block hash, which is 17.5 bytes to
determine the order of the 17 algorithms in a chain fashion. It uses the 35th
nibble (hex digit) to pick whether it scramble the hash first before using the hash
to determine chain ordering. If it is even then it scrambles, other wise keeps the
hash as is.
Each nibble is a hex number which can only represent 16 numbers (0-f). The last
17 nibbles are pair with the 31st - 47th nibble to formulate number from 0-g. This
number is then used to pick the algorithm to put in the chain. If the 31st -47th
nibble are odd, then it adds 1 to its respective pair. Following is how they are
paired:
The following are algorithms used by TriHash algorithm:
0=blake 9=simd
1=bmw A=echo
2=groestl B=hamsi
3=jh C=fugue
4=keccak D=shabal
5=skein E=whirlpool
6=luffa F=sha512
7=cubehash G=haval256
8=shavite "