【イーサリアム】 ハッシュ関数(Keccak-256)について調べてみた。

公開日: : 最終更新日:2020/11/19 仮想通貨 , , , , ,

仮想通貨の1つであるイーサリアムで用いられているハッシュ関数「Keccak-256」について調べてみました。

ビットコインでは、「SHA-256」や「RIPEMD-160」というハッシュ関数が使われており、イーサリアムとは異なる仕様となっています。

ブロックチェーンにおけるハッシュ関数の使われ方や、ビットコインで用いられているハッシュ関数「SHA-256」「RIPEMD-160」については以前まとめました。
【仮想通貨】ハッシュ関数(SHA-256)について調べてみた【ブロックチェーン】

イーサリアムではハッシュ関数「SHA-3」が使われていると書かれているサイトなどを見かけますが、正確には間違いでイーサリアムにはハッシュ関数「Keccak-256」が使われています。

Contents

Keccak-256」と「SHA-3」の違いは?

Keccak(ケチャック)-256 は、2007年に NIST によって開催されて SHA-3 暗号ハッシュ関数のコンペに応募するために設計されました。

Keccak はこのコンペで優勝し、のちに SHA-3 として採用され、2015年に FIPS 202 として標準化されました。

ここで注意しないといけないのが、Keccak が SHA-3 として採用されましたが、 Keccak = SHA-3 ではなく、Keccak から変更が加えられて SHA-3 になっています。

そして、SHA-3 の標準化が大幅に遅れたため、イーサリアムでは Keccak の採用を決めたようです。

Keccak が SHA-3 と違うということは、同じ文字列をハッシュ化してみればわかります。

空文字「””」を入力して Keccak と SHA-3 でハッシュ関数を実行してみます。

ハッシュ関数の実行は、以下のページでできます。

Keccak-256」の結果

https://emn178.github.io/online-tools/keccak_256.html

SHA-3」の結果

https://emn178.github.io/online-tools/sha3_256.html

参考書籍

関連記事

【ビットコイン】ハッシュ関数(SHA-256・RIPEMD-160)について調べてみた。

ビットコインなどの仮想通貨で使用されているハッシュ関数(hash function)という技

記事を読む

【Solidity】 イーサリアムでコントラクトを生成してみた。

スマートコントラクトプログラミングの高級言語の1つである Solidity を使って、イーサ

記事を読む

【イーサリアム】クライアントソフト geth を使ってみた。

イーサリアムのクライアントソフト geth をインストールして使ってみました。 クライ

記事を読む

【仮想通貨】デジタル署名と公開鍵暗号の違いは!?

ビットコインなどの仮想通貨のブロックチェーン技術で用いられている「デジタル署名」「公開鍵暗号

記事を読む

【仮想通貨】新しいトランザクション(取引)の追加方法【ブロックチェーン】

仮想通貨で用いられているブロックチェーン技術において、新しいトランザクション(取引)をどのよ

記事を読む

【仮想通貨】デジタル署名について調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨のブロックチェーンで用いられているデジタル署名(Digital s

記事を読む

【イーサリアム】 ホリエモンが2014年当時にイーサリアムの可能性に気付いていた!?

ホリエモンこと堀江氏が、2014年の自身のブログで「イーサリアムやべぇ。。。」というタイトル

記事を読む

【ビットコイン】承認されたブロックを見てみる【ブロックチェーン】

ビットコイン(BitCoin)の公開台帳であるブロックチェーンについて、新たに承認されたブロ

記事を読む

【仮想通貨】時価総額のランキングを円(JPY)で見る方法。

ビットコインやイーサリアムなどの仮想通貨の時価総額のランキングを 円(JPY)で見れる分かり

記事を読む

【イーサリアム】 チューリング完全性について調べてみた。

仮想通貨の1つであるイーサリアムについて調べていると、チューリング完全性(Turing co

記事を読む

無料動画編集ソフト AviUtl で mp4 形式の動画を読み込み・出力する方法【Windows】

今回は、無料動画編集ソフト AviUtl で mp4 形式の動画を読み

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

→もっと見る

PAGE TOP ↑