top of page
  • 執筆者の写真Daiki Akasaka

Block Chainで使われている技術

更新日:2020年11月2日


Block Chain/BitCoin に関して勉強したので、その内容を簡単にわかりやすくまとめようと思います。 Block Chain に関するMITの授業の動画をみて勉強したので、その内容に基づいて解説していきます。動画はこちら



以下の4点でまとめて解説していきます。


Block Chainで使われている技術

Block Chainで使われている技術


おもに以下の三つの技術について解説していきます。

1. ハッシュ関数を使った暗号化

2. Proof of Work

3. 公開鍵暗号とデジタル署名


ハッシュ関数を使った暗号化

ハッシュ関数は、任意の長さを持つどんな文字列でも、特定の長さのハッシュ値に変換するものである。

例えば、SHA-256 というハッシュ関数を使うと、"bitcoin" という文字列は

17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76

という、32 byteの長さを持つ文字列に置換する事ができる。


ハッシュ関数を使う主なメリットとして、

  • どんな文字列も、特定の長さに変換する事ができる。

  • 入力する文字列が同じであれば、ハッシュ値は常に同じ値になる。

  • 文字列からハッシュ値への計算は簡単にできるが、その逆のハッシュ値から元の文字列を推測するのはほぼ不可能(不可能ではないが、非常に難しい)

  • 一文字を変えただけで、全く異なるハッシュ値になる。推測できない。

Block Chainでは各Block ごとにハッシュ値を持っていて、そのハッシュ値を次のブロックに受け渡していき、チェーンを構成している。

Proof of Work

非中央集権のbitcoin でコンセンサスを取っていくための方法として、Proof of Workという方法がある。


概念は、正しい物を見つけるのが難しいが、それが正しいかどうかを検証する作業は比較的容易にできる。過半数以上の人によって正しい事検証されて、コンセンサスを取っていく仕組み。


例えば、金を見つけるのは、鉱山を削って、そこから金を採取したりして、非常に大変だが、それが金かどうかの検証は比較的容易にできる。

Bitcoinでの採掘とは、ブロックのハッシュ値がある値より小さくなるような、Nonce(ランダムな値)を探す事である。


2020/09/15 の時点では、0が20個連続するハッシュ値を見つけなければならない。

10分間で一つのハッシュ値が見つかるように難易度が2週間に一回、調整されている。


今のHashレートは、124.12 EH(エクサハッシュ)/sになっている。

これは、1秒間に124,000,000,000,000,000,000個のハッシュ値を計算できる能力があるという事である。


このハッシュ値を見つけることをマイニングと呼び、最初にハッシュ値を見つけた人には採掘報酬が支払われる。この採掘報酬のことをCoinBaseといい、報酬額は、1 ブロック毎に 50 BTC から始り、210,000 ブロック毎に半減し、 2020/09/15の時点では、12.5 BTC になっている。10分で1ブロックになるように難易度が調整されているので、2140年頃には採掘報酬は0になるはずである。



公開鍵暗号とデジタル署名

BitCoinにも銀行口座のように口座を作る必要があり、口座番号はBit Coinアドレスと呼ばれている。

Bit Coinアドレスの作成には、公開鍵暗号が使われている。


公開鍵暗号とは、秘密鍵とそれとペアになる公開鍵を使って、第三者にメッセージを盗み読まれたりしないようしている。



Bit Coinアドレスは、以下のように、公開鍵暗号を使って、秘密鍵と公開鍵のペアを生成して、公開鍵に対してハッシュを複数回計算する事で、Bit Coin アドレスに変換する。


通常の銀行であれば、口座番号や残高などは公開されていないが、Bit Coinでは以下のサイトでわかるように、Bit Coinアドレスと残高、取引履歴などが全て公開されている。


Bit Coinアドレスは秘密鍵から作られているので、何個でも作成することも可能である。


閲覧数:13回0件のコメント

最新記事

すべて表示
bottom of page