アルゴリズムを学ぶ その3 Lyra2REv2 yescrypt

mona
ハッシュ・アルゴリズムを学ぶ。今回は第3回、Lyra2REV2、Yescrytになります。
こんにちは、ノリヒロです。今回は純国産通貨として、コミュニティも活発な2通貨MONACOIN(採用アルゴリズムLyra2REV2)、BitZeny(Yescrypt)を取り上げます。
以前の記事はこちらからどうぞ。
暗号通貨 ハッシュ関数を学ぶ その1 SHA Ethash

ハッシュ&アルゴリズムを学ぶ その2 Scrypt Equihash

Lyra2REV2・Yescrypt

目次
①Lyra2REV2

②Yescrypt

①Lyra2REV2

日本国産通貨MonaCoin、そして匿名通貨VERGEでもハッシュ関数の1つとして使われています。MonaCoinは、もともとはアルゴリズムはScryptでした。ScryptはASIC耐性を持っていましたが、専用のASICが開発されて暗号通貨の安全性が失われる結果となりました。そこで450,000ブロックを境にLya2REV2に変更するハードフォークを行い、今に至ります。また、VERGEに関しては、マルチアルゴリズムを採用しており、合計5つのアルゴリズムを使用しています。その中にLyra2REv2もあります。(Scrypt,x17,Lyra2REV2,myr-groestl,blakes2の5種類)
Lyra2REv2は、Scrypt同様にASICに対抗するために作られています。マイニングの速度は基本的にはマイナーのメモリの容量に比例する形となり、マイニングの最適化にかかる費用(メモリへの投資)とマイニングで得られるリターンとの比較により、ASIC耐性があるといわれています。また、X11に比べて約15%もの電力使用消費削減を達成しています。現在ではCPU+GPUでのマイニングが最適のようです。
Lyra2REのハッシュ関数構成はBlake256-keccak256-Lyra2(oldver)-Skein256-Groestl256の5種類でした。ただボットネットが暗躍したため、対策としてVer.2が開発されました。
V2(Lyra2RE Version2)のハッシュ関数構成はBlake256-keccak256-Cubehash256-Lyra2-Skein256-Cubehash256-BlueMidnightWish256(6種類7回)になります。
BTCの単純なSHA256ダブルハッシュ+ミックスに比べると、かなり複雑なつくりになってますね。
まだまだ知らないハッシュ関数があるんですね、胸が高鳴ります。

②Yescrypt

dsfa
こちらも国産通貨として知られるBitZenyが取り入れているアルゴリズムです。同じくASIC耐性を持つために作られました。TMTO(Time Memory Trade Off)理論に基づき、CPUマイニングに特化しており、BcryptとScrypt(どちらともハッシュ関数)を超えた関数として定義されています。
マイニングに使用されているハッシュ関数は、SHA-256+HMAC+PBKDF2ですが、それとは別にソルト付き(パスワードに付与するランダムデータ)のパスワードをPBKDF2でハッシュすることによって、セキュリティを強化しています。2段階構えということでしょうかね。
参照元:http://www.openwall.com/presentations/PHDays2014-Yescrypt/

いかがでしたでしょうか。
どちらかと言えばマイナーなアルゴリズムです。深く調査しているブログもなく、あまり詳しく書けませんでした。マイニングをされる方くらいしかアルゴリズムは気にしないんですかね~。でも、そうゆう少しニッチなところが、コミュニティで愛されている一因である感じも受けました。奥が深いアルゴリズム・ハッシュ関数の世界にノリヒロはどっぷり嵌っています。

本日もよきCryptoLIfeを。
ありがとうございました。

コメント