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

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

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

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

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

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

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

参考書籍

関連記事

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

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

記事を読む

【イーサリアム】日本円のチャートで比較する方法【イーサリアム・クラシック】

イーサリアム(Ethereum)は、2020年時点で、時価総額がビットコインに次ぐ第2位の仮

記事を読む

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

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

記事を読む

【イーサリアム】 公開鍵暗号について調べてみた。

仮想通貨の1つであるイーサリアムでは、公開鍵暗号という技術が使われています。 公開鍵暗

記事を読む

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

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

記事を読む

【ビットコイン】 アドレス生成方法について調べてみた。

仮想通貨の1つであるビットコインを送金するときは、送付側と受け手側のそれぞれのアドレスが必要

記事を読む

【MetaMask】イーサリアムのウォレットを使ってみた【テスト環境】

今回、イーサリアムのウォレットの1つである MetaMask(メタマスク)を使って、テストブ

記事を読む

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

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

記事を読む

【仮想通貨】トランザクションについて調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨では、取引をトランザクションで記述されます。 そのトランザク

記事を読む

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

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

記事を読む

【TensorFlow】GPUを認識しない時の対処方法【Python】

TensorFlow で GPU を認識させようとしたときにハマってし

【耳コピ】音楽ファイルを楽器ごとに分離する方法【Spleeter:フリー】

今回は、mp3 などの音楽ファイルをボーカル、ベース、ドラムなどの楽器

【Chainer】手書き数字認識をしてみた【Deep Learning】

Chainerを用いて、ニューラルネットワークを構築し、手書き数字認識

【Spyder】引数のあるスクリプトを実行する方法。

Python の統合開発環境(IDE)である Spyder では、簡単

【Anaconda】Prompt 上で Git コマンドを実行する方法。

Anaconda のコマンドプロンプト(Anaconda Prompt

→もっと見る

PAGE TOP ↑