Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yuto Takei
PDF, PPTX
345 views
[Intermediate 01] イントロダクション / Bitcoin を動作させる
早稲田大学 高度データ関連人材育成コンソーシアム D-DATa ブロックチェーン エンジニアリング 実践編 第1回 2018/3/11
Education
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 28
2
/ 28
3
/ 28
4
/ 28
5
/ 28
6
/ 28
7
/ 28
8
/ 28
9
/ 28
10
/ 28
11
/ 28
12
/ 28
13
/ 28
14
/ 28
15
/ 28
16
/ 28
17
/ 28
18
/ 28
19
/ 28
20
/ 28
21
/ 28
22
/ 28
23
/ 28
24
/ 28
25
/ 28
26
/ 28
27
/ 28
28
/ 28
More Related Content
PDF
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
by
Yuto Takei
PDF
[Basic 6] DNS / ソケット通信 / その他
by
Yuto Takei
PDF
いろいろなデバイスでOpenVNetを動かしてみようとした。
by
skipping classes
PDF
Docker and OpenVNet
by
skipping classes
PDF
[Intermediate 04] ブロックチェーンの動作原理
by
Yuto Takei
PDF
Node.jsでブラウザメッセンジャー
by
Yahoo!デベロッパーネットワーク
PDF
Bitcoin testnet
by
Yuichiro Shibata
PDF
HTML5-pronama-study
by
Naoya Inada
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
by
Yuto Takei
[Basic 6] DNS / ソケット通信 / その他
by
Yuto Takei
いろいろなデバイスでOpenVNetを動かしてみようとした。
by
skipping classes
Docker and OpenVNet
by
skipping classes
[Intermediate 04] ブロックチェーンの動作原理
by
Yuto Takei
Node.jsでブラウザメッセンジャー
by
Yahoo!デベロッパーネットワーク
Bitcoin testnet
by
Yuichiro Shibata
HTML5-pronama-study
by
Naoya Inada
What's hot
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PPTX
仮想通貨テストベッドネットワークの構築
by
Yuichiro Shibata
PPTX
EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法
by
Kiyoshi Sawada
PDF
Kubernetes 初心者の僕からの JKD 参加報告
by
Kentaro NOMURA
PPTX
Windows10でword2vecを使ってみた
by
yumi_chappy
PPTX
Goで学ぶDApp(aizu.go#2)
by
Koki Natsume
PDF
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!
by
Keigo Ando
PDF
JS開発環境を晒す。
by
Eiji Kuroda
PPTX
SL囲む会東京5 Nodejs×Silverlightではまったこと
by
normalian
PDF
Crystal on cygwin (WIP)
by
fd0
PDF
後期第六回ネットワークチーム講座資料2016
by
densan_teacher
PDF
Minecraft modding 09
by
Takunology
PDF
Minecraft modding 06
by
Takunology
KEY
Nko
by
to_muu_mas
PPTX
Start
by
hironorinonaka
PPTX
Start
by
hironorinonaka
PPTX
Start
by
hironorinonaka
PDF
Vue.jsスロットの近代史
by
fuku68
ODP
Koedo20081220 Install Party
by
Kenichiro MATOHARA
PDF
NetBSD on Conoha VPS at JNUG BoF 2014
by
Ryo ONODERA
TLS, HTTP/2演習
by
shigeki_ohtsu
仮想通貨テストベッドネットワークの構築
by
Yuichiro Shibata
EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法
by
Kiyoshi Sawada
Kubernetes 初心者の僕からの JKD 参加報告
by
Kentaro NOMURA
Windows10でword2vecを使ってみた
by
yumi_chappy
Goで学ぶDApp(aizu.go#2)
by
Koki Natsume
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!
by
Keigo Ando
JS開発環境を晒す。
by
Eiji Kuroda
SL囲む会東京5 Nodejs×Silverlightではまったこと
by
normalian
Crystal on cygwin (WIP)
by
fd0
後期第六回ネットワークチーム講座資料2016
by
densan_teacher
Minecraft modding 09
by
Takunology
Minecraft modding 06
by
Takunology
Nko
by
to_muu_mas
Start
by
hironorinonaka
Start
by
hironorinonaka
Start
by
hironorinonaka
Vue.jsスロットの近代史
by
fuku68
Koedo20081220 Install Party
by
Kenichiro MATOHARA
NetBSD on Conoha VPS at JNUG BoF 2014
by
Ryo ONODERA
Similar to [Intermediate 01] イントロダクション / Bitcoin を動作させる
PDF
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
by
Yuto Takei
PDF
Blockchain innovation
by
Yuto Takei
PPTX
ビットコイン~原理からソースまで~
by
bitbank, Inc. Tokyo, Japan
PDF
ブロックチェーン技術の課題と社会応用
by
Yuto Takei
PPTX
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
by
健一 茂木
PDF
51% 攻撃の原理とシミュレーション
by
Yuto Takei
PPTX
Blockchainベーシック
by
Kondo Hitoshi
PDF
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
by
Yuto Takei
PDF
ブロックチェーン連続講義 第3回 ビットコインの技術
by
Kenji Saito
PDF
51% 攻撃の原理とシミュレーション
by
Yuto Takei
PDF
セカンドレイヤでスケールさせているステーブルコインをGENIUS法対応にする方法
by
Shigeichiro Yamasaki
PPTX
20170417 ブロックチェーン講演 「ブロックチェーンのエンタープライズでの活用」
by
Takeshi Hirosue
PDF
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
by
Yuto Takei
PDF
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
by
blockchainexe
PDF
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
by
shigeyuki azuchi
PDF
電子情報通信学会グローバル社会とビットコイン(山崎)
by
Kindai University
PDF
Ethereum whitepaper
by
Kenichi Kurimoto
PDF
C# でブロックチェーン実装
by
Yuto Takei
PDF
仮想通貨, Blockchain 関連サービスを支える技術
by
Yuto Takei
PDF
ブロックチェーン技術者が夢見る未来
by
Yuto Takei
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
by
Yuto Takei
Blockchain innovation
by
Yuto Takei
ビットコイン~原理からソースまで~
by
bitbank, Inc. Tokyo, Japan
ブロックチェーン技術の課題と社会応用
by
Yuto Takei
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
by
健一 茂木
51% 攻撃の原理とシミュレーション
by
Yuto Takei
Blockchainベーシック
by
Kondo Hitoshi
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
by
Yuto Takei
ブロックチェーン連続講義 第3回 ビットコインの技術
by
Kenji Saito
51% 攻撃の原理とシミュレーション
by
Yuto Takei
セカンドレイヤでスケールさせているステーブルコインをGENIUS法対応にする方法
by
Shigeichiro Yamasaki
20170417 ブロックチェーン講演 「ブロックチェーンのエンタープライズでの活用」
by
Takeshi Hirosue
[Basic 1] ブロックチェーンと計算機科学 / ブール代数 / 情報理論
by
Yuto Takei
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
by
blockchainexe
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
by
shigeyuki azuchi
電子情報通信学会グローバル社会とビットコイン(山崎)
by
Kindai University
Ethereum whitepaper
by
Kenichi Kurimoto
C# でブロックチェーン実装
by
Yuto Takei
仮想通貨, Blockchain 関連サービスを支える技術
by
Yuto Takei
ブロックチェーン技術者が夢見る未来
by
Yuto Takei
More from Yuto Takei
PDF
これから始めるAzure Kubernetes Service入門
by
Yuto Takei
PDF
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
by
Yuto Takei
PDF
開発チームにおける多様性のススメ
by
Yuto Takei
PDF
ブロックチェーン神話に迫る - 本当に使える? 使えない?
by
Yuto Takei
PDF
Windows コンテナを AKS に追加する
by
Yuto Takei
PDF
ブロックチェーンの不動産登記への応用に関する検討
by
Yuto Takei
PDF
[Intermediate 02] シェルの使い方 / Git, GitHub について
by
Yuto Takei
PDF
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
by
Yuto Takei
PDF
[Basic 13] 型推論 / 最適化とコード出力
by
Yuto Takei
PDF
[Basic 12] 関数型言語 / 型理論
by
Yuto Takei
PDF
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
by
Yuto Takei
PDF
[Basic 10] 形式言語 / 字句解析
by
Yuto Takei
PDF
[Basic 9] 並列処理 / 排他制御
by
Yuto Takei
PDF
[Basic 8] プロセスとスレッド / 入出力 / シェル
by
Yuto Takei
PDF
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
by
Yuto Takei
PDF
[Basic 5] グラフ / コンピュータ ネットワーク基礎 / TCP/IP
by
Yuto Takei
PDF
[Basic 4] 整列アルゴリズム / 木 / 探索アルゴリズム
by
Yuto Takei
PDF
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
by
Yuto Takei
PDF
[Basic 2] 計算機の構成 / プログラム実行の仕組み
by
Yuto Takei
PDF
プログラマ目線で見た “The DAO事件” とは
by
Yuto Takei
これから始めるAzure Kubernetes Service入門
by
Yuto Takei
ブロックチェーンと仮想通貨 -- 新しいビジネスに挑戦
by
Yuto Takei
開発チームにおける多様性のススメ
by
Yuto Takei
ブロックチェーン神話に迫る - 本当に使える? 使えない?
by
Yuto Takei
Windows コンテナを AKS に追加する
by
Yuto Takei
ブロックチェーンの不動産登記への応用に関する検討
by
Yuto Takei
[Intermediate 02] シェルの使い方 / Git, GitHub について
by
Yuto Takei
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
by
Yuto Takei
[Basic 13] 型推論 / 最適化とコード出力
by
Yuto Takei
[Basic 12] 関数型言語 / 型理論
by
Yuto Takei
[Basic 11] 文脈自由文法 / 構文解析 / 言語解析プログラミング
by
Yuto Takei
[Basic 10] 形式言語 / 字句解析
by
Yuto Takei
[Basic 9] 並列処理 / 排他制御
by
Yuto Takei
[Basic 8] プロセスとスレッド / 入出力 / シェル
by
Yuto Takei
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
by
Yuto Takei
[Basic 5] グラフ / コンピュータ ネットワーク基礎 / TCP/IP
by
Yuto Takei
[Basic 4] 整列アルゴリズム / 木 / 探索アルゴリズム
by
Yuto Takei
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
by
Yuto Takei
[Basic 2] 計算機の構成 / プログラム実行の仕組み
by
Yuto Takei
プログラマ目線で見た “The DAO事件” とは
by
Yuto Takei
[Intermediate 01] イントロダクション / Bitcoin を動作させる
1.
この講座について 授業概要 教育用ブロックチェーン MinChain を動作させ、コース参加者内でマイニングや攻撃、 フォークといった実験を行う。さらに、スマート
コントラクトについて紹介し、それらに関連 する問題を考える。 到達目標 ブロックチェーンの動作原理について正確な理解をもち、ブロックチェーン関連ソフトウェ アのソースコードを理解できるようになることを目指す。また、ブロックチェーン ネット ワークをゼロから構築できるようになることを目指す。 1
2.
竹井 悠人 ● 東京大学
情報理工学系研究科 コンピュータ科学専攻 修士 ● Microsoft MVP for C# 2004 - 2008 ● IPA 未踏クリエータ 2013 ● スタートアップ ○ 写真共有アプリの開発 ○ 物流関係のアルゴリズム開発 ○ セキュリティ コンサルティング ● bitFlyer, Inc. にてソフトウェア エンジニア ○ 研究開発チームでブロックチェーン製品「 miyabi」 ○ セキュリティ関係業務 2
3.
第1回 ブロックチェーンと計算機科学 1. イントロダクション 2. Bitcoin
を動作させる 3
4.
1-1イントロダクション 4
5.
参考書 本講座で読み書きするソース コードの大部分 は C#
7.1 になります 普段 C# を書き慣れていない方はおすすめ します 独習C# 新版 山田 祥寛 (著) ISBN: 9784798153827 画像は https://www.amazon.co.jp/dp/4798153826 より引用 5
6.
参考書 Bitcoin に関する基本書。本講座でも頻繁に 参照することがあるので、手元にあると非常 に理解の役に立ちます 初版 日本語版
PDF: https://bitcoinbook.info/wp-content/translations/ja/book.pdf 第2版 英語版: https://github.com/bitcoinbook/bitcoinbook/blob/develop/book.asciidoc Mastering Bitcoin ビットコインとブロックチェーン アンドレアス・M・アントノプロス (著) ISBN: 9784757103672 画像は https://www.amazon.co.jp/dp/4757103670 より引用 6
7.
開発環境 オペレーティング システム (次のいずれか) ●
Windows 7, 8, 8.1, 10 もしくは Server 2008 R2 以降 ○ 言語、エディションは問いません ● Mac OS X El Capitan (10.11), macOS 10.12 (Sierra), 10.13 (High Sierra) ○ Visual Studio for Mac 最新版を用意してください ● 上記以外の環境については、講義では対象外とします ○ Linux (Debian 系, RHEL 系とも) は JetBrains Rider が IDE として使えるようです https://www.jetbrains.com/rider/ 最新のアップデートやセキュリティパッチ等を適用しましょう (注) 本講座で行うコンピュータの操作・変更等を原因として、いかなる問題・不利益が生じた場合でも、講師・大学は責任を持ちません。 7
8.
開発環境 ソフトウェア (いずれも必要) ● Visual
Studio https://www.visualstudio.com/downloads/ ○ エディションは問いません。 Community が無料版 ○ Windows の場合、Visual Studio 2017 (15.*) もしくは 2015 (14.*) をおすすめします 加えて .NET Core SDK が別途インストール必要 https://www.microsoft.com/net/download/visual-studio-sdks (ソースコード的に .NET Framework に再ターゲットできますが非推奨 ) ● Git https://git-scm.com/ 最新のアップデートやセキュリティパッチ等を適用しましょう (注) 本講座で行うコンピュータの操作・変更等を原因として、いかなる問題・不利益が生じた場合でも、講師・大学は責任を持ちません。 8
9.
(参考) ソフトウェアの相関関係 Windows Mac
OS X / macOS Linux .NET Core Runtime / SDK .NET Framework Runtime / SDK Visual Studio 2017 その他 IDEVisual Studio for Mac 講義でおすすめする環境 講義でサポートできる (はずの) 環境 OS: Runtime: IDE: 9
10.
動作環境 ● .NET Core
Runtime 2.x 以降 https://www.microsoft.com/net/download ● (参考) Linux 系では Mono 5.x の利用も可能かもしれない http://www.mono-project.com/download/stable/ 最新のアップデートやセキュリティパッチ等を適用しましょう (注) 本講座で行うコンピュータの操作・変更等を原因として、いかなる問題・不利益が生じた場合でも、講師・大学は責任を持ちません。 10
11.
その他の設定 ● 管理者権限 デバッグ、特権ポートでの Listen、HTTP
サーバのセットアップ等など、コンピュー タの管理者権限 (昇格した状態) での操作が必要になることがある ● ファイアウォールの解放 サーバとして動作させるためには、ファイアウォールを開けておかないと、外部のリ モート サーバが接続することができない ● 仮想化環境の構築 (可能な場合) 11
12.
仮想化環境について 計算機上で、異なる別の計算機を仮想的にエミュレートすることができる。仮想的に動 作する計算機を仮想機械 (Virtual Machine,
VM) と呼ぶ 演習においては、複数ノード同士のネットワーク を構成するために利用する ● Windows 環境: Hyper-V + Docker ● Mac 環境: Docker (参考) https://docs.docker.com/docker-for-windows/ ホスト OS ゲスト OS ゲスト OS ゲスト OS 12
13.
ブロックチェーン エクスプローラ ネットワーク上に流れているブロックチェーン データをリアル
タイムに取得するために、 ブロックチェーン エクスプローラと呼ばれるサイトが存在する Bitcoin ● https://chainflyer.bitflyer.jp/ ● https://blockchain.info/ ● https://blockexplorer.com/ Bitcoin Cash ● https://blockchair.com/bitcoin-cash/blocks Ethereum ● https://www.etherchain.org/ 13
14.
1-2Bitcoin を動作させる 14
15.
Bitcoin Core Satoshi Nakamoto
氏による Bitcoin クライアント MIT ライセンスのもとで オープン ソース開発 https://github.com/bitcoin/bitcoin 日本語版バイナリは https://bitcoin.org/ja/download からダウンロード可 15
16.
Bitcoin Core Bitcoin が開始してからすべての ブロックチェーンを同期する必要 がある 16
17.
Bitcoin RPC Bitcoin ノードは、 Remote
Procedure Call (RPC) というインタ フェースを通じて、操作 ができる RPC を用いることで 処理の中心部にある機能 のエンドポイントを絞る ことができる 17
18.
Bitcoin RPC ● getnewaddress
[address name] ● getbalance [address name] ● getblockchaininfo ● getbestblockhash ● sendtoaddress など、さまざまな処理を行うことができる (参考) https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list 18
19.
Bitcoin Testnet 本物の Bitcoin
を使うことなく、Bitcoin に関係するプログラムを書きたいとき、テスト用 ネットワーク Testnet を用いる 本番用ネットワーク Mainnet との違い ● ネットワーク動作バージョンの違い ● Testnet 用アドレスは 2 から始まる ● 低いブロック生成難易度 ● 検査機能の緩和 (参考) https://en.bitcoin.it/wiki/Testnet 19
20.
Testnet の資金 (1/3) Faucet
(https://testnet.manu.backend.hamburg/faucet) から無料で入手可 20
21.
Testnet の資金 (2/3) 入手後すぐには反映されない { "amount":
2.00000000, "confirmations": 0, "trusted": false, "txid": "7304c9e2050522d5032d8c5678a691c902e53c28c383d05c0057694baf845a07", "walletconflicts": [ ], "time": 1520673179, "timereceived": 1520673179, ... } 21
22.
反映されれば、ブロック番号が取得できるようになる { "amount": 2.00000000, "confirmations": 11, "blockhash":
"00000000bba2085960c1783dbfafc2740431b31760da0c202c53ec8dead664a6", "blockindex": 55, "blocktime": 1520675447, "txid": "7304c9e2050522d5032d8c5678a691c902e53c28c383d05c0057694baf845a07", "walletconflicts": [ ], "time": 1520673179, "timereceived": 1520673179, ... } Testnet の資金 (3/3) 22
23.
トランザクションの送受信 (1/2) Faucet から送出されたトランザクションは、即座に
Bitcoin ネットワーク (Testnet) を通 じて、自分のクライアントまで到達しない場合には次のようなことが起きている ● ネットワークに接続されていない ● Bitcoin ネットワークが疎結合になっている 23
24.
トランザクションの送受信 (2/2) Bitcoin トランザクションは、大抵の場合、ブロックに入って、さらに合計
6 ブロック分が 経過するまで、確定しない (6 承認、などと呼ぶ) 24
25.
Bitcoin アドレスについて ● Mainnet
用アドレスは 1 もしくは 3 (マルチシグ アドレス) から始まる ● Testnet 用アドレスは 2 から始まる (例) 2NG3hSSWEUqRo89AbQ9Rxk4DRCyuGQXEmUr https://testnet.blockchain.info/address/2NG3hSSWEUqRo89AbQ9Rxk4DRCyuGQXEmUr 秘密鍵 (乱数から生成) 公開鍵 アドレス ベース ポイントの スカラ倍 ハッシュ 25
26.
[課題 1] C#
のプログラムを動作させる 1-1 で説明した演習用の環境を用意し、C# のプログラムをコンパイルせよ using System; class Program { static void Main() { Console.WriteLine("Hello world!"); } } 26
27.
[課題 2] Bitcoin
Core を動作させる (余力ある場合) 1. Bitcoin Core の公式クライアントを入手するか、テストネットと同期せよ 2. (もしくは) Docker イメージを利用してクライアント環境を作成せよ 3. あたらしいアドレスを作成し、Faucet からコインを調達せよ 4. 2N8dqyEiqfMbsbZbTUV1YeZCjg1JTDFXLbs に適当な量、送金せよ 5. 着金をブロックチェーン エクスプローラで確認せよ 27
28.
第1回 まとめ 1. イントロダクション ●
開発環境、動作環境について ● ブロックチェーン エクスプローラ ● 仮想化環境 2. Bitcoin を動作させる ● Bitcoin Core クライアントについて ● テストネットへの接続 28
Download