クリプトゾンビ

クリプトゾンビ Lesson 1 Chapter11 Keccak256と型キャスト

更新日:

Lesson 1 Chapter11 Keccak256と型キャスト

Keccak256(ケッチャック)

イーサリアムにはSHA3のバージョンの一つであるkeccak256関数が組み込まれている。

keccak256関数は、文字列をランダムな256ビットの16進数(ハッシュ値)にマッピングする機能をもつ。
入力する文字が1文字違うだけで、戻り値が全く別物になる。

型キャスト

データ型を変更する場合に使用。
uint8 a = 5;
uint b = 6;
// a * b はuint8ではなくuintで返すから、エラーになる:
uint8 c = a * b;
// 正しく動作させるために、bをuint8に型キャストさせる:
uint8 c = a * uint8(b);
この例ではa * bはuintを返すが、uint8で格納しようとしているから、問題が発生することになる。

dnaModulus

ゾンビのDNAが16桁の数字だと確認するために、別のuintを作成して10^16と設定せよ。
後のレクチャーでは剰余演算子である %を使用して整数を16桁に縮小できる。

uint dnaDigits = 16;
uint dnaModulus = 10**dnaDigits;

function _generateRandomDna(string _str) private view returns (uint) {
uint rand = uint(keccak256(_str));
return rand % dnaModulus;
}

keccak256(名前)で得られた256ビットのハッシュ値を符号なし整数にキャストする。
これを、ゾンビのdna桁数のdnaModulus=10^dnaDigitsで割った余りモジュロ(0~10^dnaDigits-1の循環値)をもとめて、名前に対応するdna値とする。

ある値を4で割った余りは、0~(4-1)となる。ある値が順番にカウントアップすると余りは、0~(4-1)で循環する。
ある値     0 1 2 3 4 5 6 7 8 9 10 11
余り     0 1 2 3 0 1 2 3 0 1 2 3

参考

SHAはSecure Hash Algorithmのこと。
SHA-0、SHA-1、SHA-2、SHA-3の4種類がある。
SHA-0、SHA-1、SHA-2、は国家安全保障局 (NSA)が開発。
SHA-3は、アメリカ国立標準技術研究所 (NIST)が公募。

SHA-0

SHA-0はSHAシリーズの最初の規格。発表から間もなくして欠点が発見された。ハッシュ長は160ビット

SHA-1

SHA-0のアルゴリズムの欠点を修正した関数。ハッシュ長は160ビット

SHA-2

SHA-1のアルゴリズムを改良し出力されるハッシュ値の長さも長くしたものハッシュ長は224 256 384 512ビットがある。

SHA-3

Keccak を基にして決められたハッシュ関数群。

オンラインツール

SHA1オンラインツール
SHA256オンラインツール
SHA3-256オンラインツール
Keccak-256オンラインツール
SHA3-256オンラインツール

prev

ogp
クリプトゾンビ Lesson 1 Chapter10 Private Public 関数~2

Lesson 1 Chapter10 Private / Public 関数~2 戻り値の宣言 Solidityでは関数の宣言に戻り値の型を含む。 string greeting = "What's ...

続きを見る

next

ogp
クリプトゾンビ Lesson 1 Chapter12 ゾンビ生成関数

Lesson 1 Chapter12 ゾンビ生成関数 ゾンビの名前またはユーザーの名前をインプットして、名前からランダムなDNA値をもとめゾンビ作成するpublic関数を作成する。 ブロックチェーン上 ...

続きを見る

ビットコインってなに?

2008年11月、metzdowd.comにナカモトサトシにより投稿された論文Bitcoin:A Peer-to-Peer Electronic Cash Systemで定義された仕様とをもとにビットコイン・コミュニティーで開発が続けられる製造と取引に暗号学を使った通貨のことです。

ビットコイン自体は、フリー・ソフトウエアで、ソフトウェア開発のプラットフォームGitHubに登録すれば、ソースやドキュメント閲覧が可能で、開発に参加も可能です。

ナカモトサトシは、2010年12月まで開発に携わっていましたが、その後姿を消しました。日本名ですが、国籍も含め匿名性が高く身元も不明です。

真偽のほどは、不明ですがSBI社長の北尾氏が、2018年3月期第2四半期 SBIホールディングス(株)決算説明会動画の1:29:20頃)でナカモトサトシと議論を交わしたと発言して話題になりました。

ビットコインの仕組み

ビットコインは、P2P型の公開型分散台帳技術(DLT)によって信頼性を担保され運用されるブロックチェーンで結合された暗号通貨(cryptocurrency)のことです。

ビットコインは、P2Pネットワーク上のサーバー上で同一取引情報を持ちコントロールすることで取引の妥当性のチェックが行われるため、銀行など、特定の管理者がいない非中央集権型の仮想通貨と呼ばれています。

ブロックチェーン


GitHub

ブロックチェーンの動き

マイニング

ビットコインは送信アドレス(Tx)に対するデジタル署名によって保護されており、一定時間(10分)ごとに、すべての取引記録を分散台帳に追加します。

その追加処理には、ネットワーク上の分散取引台帳データと、10分間に発生したすべての取引のデータの整合性を取りながら正確に記録することが必要です。

整合性を取る作業は、膨大な計算量が必要となるため専用のハードウエアの計算能力を使って、誰でもが取引を処理することができます。

この手伝いをしてくれた人(膨大な計算処理を行った人)の中で、結果として追記処理を成功させた人には、その見返りとしてビットコインが支払われます。

この作業をマイニングと呼びます。

マイニングには、ソロマイニングとプールマイニングがあり、個人のPCでも余った演算能力でプールマイニングに参加できます。

ブロックチェーンをより深く理解する

全画面にして字幕設定を自動翻訳 イタリア語=>自動翻訳を経由して日本語に設定するとよくわかります。

上記デモは、下記リンク先サイトを使用しているので、自分でも試すことができます。

 

ジェネシス・マイニングでのハッシュパワー購入

ジェネシス・マイニングは世界最大の高く信頼されたビットコイン クラウド マイニングのプロバイダーです。ハッシュパワー購入時に,コード(kjx2uz)を使用した人は、購入時に3%の割引になります。

ブロックチェーンエクスプローラー

ブロックチェーンアドレスを入力することで、送金状況(confirmation回数の確認)が行えます。

イーサリウムの仕組み

-クリプトゾンビ

Copyright© 仮想通貨アンテナ , 2021 All Rights Reserved.