ギタリスト専用ブログ

ギタリストに役立つ記事を配信します

芸術家のためのブロックチェーン入門③「イーサリアムのアカウントとアドレス」

芸術家へ

二つ前の記事「イーサリアムとは何か」と、一つ前の記事「イーサリアムの構成要素」はお読みになりましたか?今回は「イーサリアムのアカウントとアドレス」について説明します。難しい専門用語はカッコで説明しながら書きますのでご安心下さいね。

2つのアカウント

イーサリアムのアカウントは2種類あります。外的に所有するアカウントと、コントラクト・アカウントです。前者をEOA(Externally Owned Account)、後者をCAと呼びます。どちらもイーサ(イーサリアム上の暗号資産)を受け取ったり、保持したり、送ったりできます。

EOA

前者のEOAは人間がメタマスクなどのウォレットを使ってアカウント登録するだけで作れます。独自のアドレスが自動的にもらえます。公開鍵とプライベート・キー、つまり秘密鍵で管理します。

CA

後者のCAはEOAが作ったり、他のCAが作ったりするアカウントです。プライベート・キーはありません。

アカウントの構造

アカウントの構造、つまりコンポーネントは6つに分けられます。

  1. Nonce:ナンスとは2回同じ口座からお金を引き出したりできないように処理を1度だけにする構造です。
  2. Balance:バランスは残高を意味しますが、イーサリアムが高額なので-18乗のweiという単位を使います。
  3. Account Address:上記の2つのアカウント・アドレスです。詳細は後述します。
  4. Account Private & Public Key:これはEOAにのみ与えられる鍵のことで、秘密鍵と誰でも見られる公開鍵の事です。この2つがあることで人間は実際に暗号資産を保持するのではなく、そのウォレットを開けたり閉めたりする権利を保持するという概念になります。
  5. Code:こっちはCAのみが持つもので、変更できないEVM(イーサリアム仮想マシン)上のバイトコード(仮想マシン上で動作するために作られた実行可能な中間コード)です。
  6. Storage:ストレージ(保存場所)もCAのみのもので、デフォルトでは空になっています。

アカウント状態

特定のAddressのアカウントの中には、Nonce,Balance,Codeのハッシュ、Storageのハッシュが記載されます。ハッシュというのはデータを暗号化したものと考えて下さい。

アドレスの公開鍵と秘密鍵

EOAの公開鍵はメタマスクなどで簡単に作れますが、その前にランダムに秘密鍵が与えられます。256ビット、つまり64の16進文字です。誰にも分からないように秘密保存しておいて下さい。その秘密鍵からESDSA(署名や検証をするアルゴリズム)で64バイトの公開鍵を生成し、Keccak-256という暗号化するシステムで32バイトにして、最後の20バイトに0xを加えてできあがりです。全部小文字のバージョンと所々大文字を入れるバージョンによってチェックサム(間違ってないか確認する方法)にしています。

まとめ

「イーサリアムのアカウントとアドレス」の詳細は分かりましたか?分からなければ質問して下さい。次はトランザクション(取引)について説明します。

 

私達は芸術>音楽>楽器演奏>ギターという小さなカテゴリーで集まっていますが、逆方向には芸術<哲学<人生という単位で議論をしています。どうぞご参加下さい。

discord.gg

個人的に相談したい方はFacebookレッスンより24時間どうぞ。

f:id:totalguitarmethod:20190704151940j:plain

津本幸司(he/him)