エンジニアのためのエンタープライズブロックチェーン超入門 を受講した

はじめに

僕はブロックチェーンについて全然知識がありません。
「名前は知っており、bitcoinに使用される技術である。」「しかしそのメカニズムや仮想通貨以外にどのように使用されているのかわからない。」
というレベルです。
そんなときTwitterのTLに流れてきた下記 Webiner を受講したのですが、自分の知識不足、要素の理解不足で結果としてブロックチェーンについて理解できませんでした。
理解が誤っている部分、足りていない部分もあるとは思いますが自分なりに調べた事をメモとして残します。 (WebinerではEnterprise領域での応用や、どのようなプラットフォームがあるか、等が話題としてありましたが、あまり理解できていなかったので、このエントリでは割愛します。)

【IBM/MS/Oracle共催】エンジニアのためのエンタープライズブロックチェーン超入門 - connpass

理解メモ

  • ブロックチェーンのひとつのブロック内は以下で構成される。
    A: 取引データ
    B: ひとつ前のブロックのハッシュ値
    C: ナンス値

  • ハッシュ値はブロック同士のジョイントとして機能する。

  • A,B,Cの値を合成し、ブロックのハッシュ値を導出する。
  • ハッシュ値については制限があり、一定数以下のハッシュ値しかジョイントとして使用できない。# この理由がわからない。自ら制限をかける理由は?
  • ハッシュ値は入力値によって決まった値が算出されるので、毎回うまいこと制限をクリアしたハッシュ値が算出されるとは限らない。
  • ハッシュ値は3つの値の合成値(取引データ、ひとつ前のブロックのハッシュ値、ナンス値)
  • その中で変更できるのはナンス値のみ。
  • アウトプットとして制限をクリアしたハッシュ値が欲しいので、インプットのナンス値を変更しながら総当たりで算出する。
  • このナンス値を変更しながらハッシュ値を算出して、制限をクリアしたハッシュ値が導出されている、という膨大な計算量が必要となる。
  • この膨大な計算を世界中の人にやってもらっている。

  • ハッシュ値に制限を描ける理由について(わからなくて調べた)

    • 仮にデータが改竄されたとする。その際には3つの値の合成値であるハッシュ値は変化するはずである。
    • データ改竄の結果、導出されたハッシュ値は、制限をクリアしていない可能性が高い。
    • そうすると、ハッシュ値としてジョイントが機能せずブロックのチェーンがはずれる。
    • つまりデータ改竄を判別するために、算出されるハッシュ値に制限をかけている。

参考

persol-tech-s.co.jp

tex2e.github.io

雑記

ブロックチェーンかなり難しい...
だけど、将来性はありそう。DBエンジニアとしてどう関われるだろうか。
とりあえずちゃんと理解するために、ブロックチェーン関連の書籍を何か1冊購入して読んでみます。