Bitcoin and Cryptocurrency Technologies を履修した - 2022 夏休み

Coursera の Bitcoin and Cryptocurrency Technologies | Coursera というクラスを履修した。Princeton University が提供している仮想通貨のオンライクラス。

自分は仮想通貨を所有していない。仮想通貨やそれらにまつわる技術については、どこかのまとめ記事で読んだ程度という状態だったのだがこれを脱するべく受講。最近は Web3やらDAOやらNFTというワードが飛び交っており、数週間前にもとある書籍が炎上していた。これらを感覚ではなく知識に基づく理解ができるようになるのが目標。もし仮に否定的な立場だとしても「自分が理解できないから否定する」だけは避けたい。

良かった点

  • ごまかしのない大学の授業。講師陣が深い理解をしていることが分かる。
  • 基礎技術(Cryptographic Hash, Digital Signatures, Public key as identitiesなど)の詳細を丁寧に教えてくれる。
  • シンプルな仮想通貨を紹介し Double Spending を防ぐ方法など段階を追って説明してくれる。
  • Bitcoin に関しても多くの時間を割いてる。Bitcoinトランザクションの生データまで追っているのはとても良かった。

イマイチな点

  • Andrew Ng の Machine Learning のようなコースを想像すると期待はずれかも。Andrew Ng は抜群に教えるのがうまい。本コースは大学の授業を録画しましたというレベルのもの。
  • コードを書く宿題がスパルタで万人向けではない。ユーザーレビューでもこれが一番の不満として挙げられている
    • 宿題の意図は仮想通貨トランザクションの一部を実装することでドメイン知識の理解と定着を狙っていると思われる。そこは大変よい。授業の動画を見ただけではスルーしていたようなユーザー間で何をやりとりしているかなどがよくわかる。
    • Java が分からないと終わる。
    • Jupyter notebook とかではなくて zip ファイルでソースコードをダウンロードしてコードを書き、コードをフォームから submit する方式。テストやビルドファイルもない。
    • ノーヒントすぎる。
    • Java のクラスインターフェースの設計がイマイチ(これは僕の主観)

感想

  • 本質が理解できた(と思わせられた)のは本当に良かった。
  • hot/cold ストレージ、ウォレット、マイニング、ブロックチェーンの詳細、合意形成、soft/hard folk など技術要素が理解できた。
  • Bitcoin Scripts 全く知らなかったのだが面白かった。
  • 匿名性についてもかなり深く突っ込んでおり面白かった。2ch, reddit, Bitcoin がどのような意味での匿名性を提供しているのか分かった。
  • 政府の関与とか BitLicense なども。まあそうなるよねという感想。
  • 夢のような技術というよりは、ブロックチェーンという基礎技術の上にかなり苦労して複雑なアプリケーションを構築している感じなのね。このアングルで見ていくと Web3 の見え方も違うかも。