2018年度 数理・計算科学特論B   Topics on Mathematical and Computing Science B

文字サイズ 

アップデートお知らせメールへ登録 お気に入り講義リストに追加
開講元
数理・計算科学コース
担当教員名
REBELLO LARANGEIRA JUNIOR MARIO  MACHADO DAVID BERNARDO  田中 圭介 
授業形態
講義     
メディア利用科目
曜日・時限(講義室)
火5-6(W832)  金5-6(W832)  
クラス
-
科目コード
MCS.T415
単位数
2
開講年度
2018年度
開講クォーター
1Q
シラバス更新日
2018年4月18日
講義資料更新日
-
使用言語
英語
アクセスランキング
media

講義の概要とねらい

暗号通貨は、技術者と研究者、とりわけ暗号研究者の以前からの研究課題だった。過去には、古典的なタイプの電子現金が多く研究されたが、成功までには至らなかった。しかしながら現在、暗号通貨は毎日のニュースで見るような注目される技術として認識されている。本講義では、この暗号通貨の歴史、理論、実現方法を扱う。特に、ウォレット、マイニング、ブロックチェーン、台帳といった暗号通貨の構成要素や、安全性モデル、コミットメント、秘密分散、ゼロ知識証明、シグマプロトコルといった暗号理論的要素に着目する。

到達目標

本講義を履修することによって以下を理解する。
1) 暗号通貨の歴史、理論、構成方法
2) 暗号通貨の実用的な記述
3) 暗号通貨の構成要素と、暗号理論的要素

キーワード

暗号通貨、ブロックチェーン、暗号理論、情報セキュリティ、分散システム、ビットコイン

学生が身につける力(ディグリー・ポリシー)

専門力 教養力 コミュニケーション力 展開力(探究力又は設定力) 展開力(実践力又は解決力)

授業の進め方

授業は講義形式で行います。

授業計画・課題

  授業計画 課題
第1回 講義の概要と安全性モデル 暗号システムの安全性概念を理解する
第2回 暗号通貨の歴史、Bitcoinの簡略化した記述 暗号通貨の基本的概念と歴史、および、Bitcoinプロトコルの基本的構成を理解する
第3回 現実/理想世界のシミュレーションパラダイム 暗号プロトコルを解析するための現実/理想世界のシミュレーションパラダイム、および、シミュレーションを用いた安全性証明を理解する
第4回 Bitcoinの構成要素 ハッシュ関数、電子署名、Markle木のような基本的暗号ツール、および、台帳、ブロックチェーン、マイニングの一般的概念を理解する
第5回 コミットメント コミットメントの概念とシミュレーションベースの安全性定義、および、ハッシュ関数、Markle木、代数的計算問題を用いた構成を理解する
第6回 ブロックチェーンと台帳 ブロックチェーンの構造と性質を理解する
第7回 コンセンサス コンセンサスの歴史、基本的な定義とそのバリエーション、暗号通貨との関連性を理解する
第8回 秘密分散 秘密分散の概念、および、Shamir方式と呼ばれる情報理論的な単純な線形秘密分散方式を理解する
第9回 ゼロ知識証明 (1) 知識証明、ゼロ知識証明の概念、および、離散対数関係に対する知識のゼロ知識証明の単純な構成について理解する
第10回 マイニング マイニングの利点、および、欠点、攻撃法について理解する
第11回 ウォレット 異なるタイプのウォレットを理解する
第12回 シグマプロトコル シグマプロトコルの定義、および、正直な検証者に対する特殊なゼロ知識性を含む安全性を理解する
第13回 ゼロ知識証明 (2) Fiat-Shamirヒューリスティック、および、離散対数関係に対する単純なシグマプロトコルへの適用可能性を理解する
第14回 スマートコントラクト 基本的な定義、Bitcoinスクリプト言語、Ethereumスマートコントラクトプラットフォームを理解する
第15回 暗号通貨とブロックチェーン応用に関する先進的な話題 基本的なプライバシーの概念、および、プライバシー保護スマートコントラクトと信用情報システムを理解する

教科書

教科書は用いません。

参考書、講義資料等

参考書は講義中にお知らせします。

成績評価の基準及び方法

コースを通しての二つのレポートによる。第1レポートは第7回講義において、第2レポートは第14回講義において出す予定である。

関連する科目

  • MCS.T213 : アルゴリズムとデータ構造
  • MCS.T214 : オートマトンと数理言語論
  • MCS.T323 : 計算の理論
  • MCS.T406 : 分散システム
  • XCO.T473 : サイバーセキュリティ概論

履修の条件(知識・技能・履修済科目等)

事前に身につけているべき知識や技術はありません。しかしながら、計算機科学の基本的な概念の知識があることで、授業内容をスムーズに理解 できます。

このページのトップへ