ブロックチェーンのProof of Workで利用されているハッシュ関数は多数存在いたします。
ブロックチェーンにおけるハッシュ関数は
ブロックヘッダと呼ばれる構造体(80バイト)をハッシュ処理します。
それらをハッシュアルゴリズムと呼ばれております。
なお、アルゴリズムが異なるとまったく異なる結果が出ます。
そのため相手のブロックチェーンに合わせたハッシュを選択する必要があります。

まずはSHA256です。トランザクションなどの重要な場面で活用されております。

次にSHA256Dです。
これはダブルハッシュと呼ばれSHA256を2回処理するハッシュとなっております。
ビットコインの新規ブロック承認はこのSHA256Dで行われております。
そして新規ブロック承認にはScryptなど色々な種類のハッシュ関数が存在いたします。

uint256 sha256d(const char *data) {
uint256 hash;
CSHA256().Write((const unsigned char *)data, 80).Finalize((unsigned char *)&hash);
uint256 hashD;
CSHA256().Write((const unsigned char *)BEGIN(hash),sizeof(uint256)).Finalize((unsigned char *)&hashD)
return hashD;
}