Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ブロックチェーン概論とインストール大会 / Overview of Blockchain an...
Search
Kenji Saito
PRO
October 18, 2021
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ブロックチェーン概論とインストール大会 / Overview of Blockchain and Installation
2021年10月18日(月)、慶應義塾大学大学院メディアデザイン研究科「サービスデザインプロジェクト B」2021秋 第2回で使用されたスライドです。
Kenji Saito
PRO
October 18, 2021
More Decks by Kenji Saito
See All by Kenji Saito
国と地域のマネジメントと AGI / National and Regional Management and AGI
ks91
PRO
0
23
2026 年度「AI による研究・教育サポート」ワークショップ (教員向け) / AY 2026 “AI-Based Research and Education Support” Workshop (For Faculty)
ks91
PRO
0
45
エージェント化するAI:現在地とその先に起きる変化 / AI as Agents: The Current State and the Changes Ahead
ks91
PRO
0
210
文化的ループ (推論, エージェント) と思考プロセスの検証可能性 / Cultural Loops (Inference, Agents) and the Verifiability of Thought Processes
ks91
PRO
0
49
アカデミーキャンプ2026 夏 「ヤツらを究めろ!ウチらとヤツらの自由研究∼ シーズン2」DAY 3 / Academy Camp 2026 Summer: Master Them! Our Independent Research Project with Them—Season 2 DAY3
ks91
PRO
0
91
アカデミーキャンプ2026 夏 「ヤツらを究めろ!ウチらとヤツらの自由研究∼ シーズン2」DAY 1 / Academy Camp 2026 Summer: Master Them! Our Independent Research Project with Them—Season 2 DAY1
ks91
PRO
0
82
アカデミーキャンプ2026 夏 「ヤツらを究めろ!ウチらとヤツらの自由研究∼ シーズン2」DAY 2 / Academy Camp 2026 Summer: Master Them! Our Independent Research Project with Them—Season 2 DAY2
ks91
PRO
0
110
責任2.0 ∼ AI が主体となる世界で ∼ / Responsibility 2.0: In a World Where AI Takes Responsibilities
ks91
PRO
0
110
発表と総括 / Presentations and Summary
ks91
PRO
0
250
Other Decks in Technology
See All in Technology
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
970
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
150
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
110
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
200
クロスボーダーM&AのValue Upを支えるプロダクト開発。日米チームのハブになったプロダクトエンジニアの実践 / Product Engineering Conference 2026
genda
0
120
20260912_スクフェス三河
kgnkhkr
0
310
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
160
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
240
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.5k
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
350
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
110
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
200
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Writing Fast Ruby
sferik
630
63k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
So, you think you're a good person
axbom
PRO
2
2.1k
Making the Leap to Tech Lead
cromwellryan
135
10k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
450
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Technical Leadership for Architectural Decision Making
baasie
3
560
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
How to Talk to Developers About Accessibility
jct
2
540
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Transcript
B 2021 2 ( ) B 2021 — 2 —
2021-10-18 – p.1/58
https://speakerdeck.com/ks91 ( ) Discord Discord ( / / ) Zoom
URL ( ) B 2021 — 2 — 2021-10-18 – p.2/58
( ) 1 10 11 • 2 10 18 •
3 10 25 4 11 1 5 11 8 1 6 11 15 2 7 11 22 8 11 29 Discord B 2021 — 2 — 2021-10-18 – p.3/58
– : : Ethereum ( ) ( ) Ethereum B
2021 — 2 — 2021-10-18 – p.4/58
– B 2021 — 2 — 2021-10-18 – p.5/58
( ) ( ) ( ) ↓ ( ( ))
(BP : Blockchain Property ) BP-1 : ( ) BP-2 : ( ( ) ) BP-3 : ( ) ( ) ( ) B 2021 — 2 — 2021-10-18 – p.6/58
( ) (LIFO : Last In, First Out) ( )
B 2021 — 2 — 2021-10-18 – p.7/58
( ) ( ) ( ) ( ) ( 16
) SHA (Secure Hash Algorithm) ( ) 1bit B 2021 — 2 — 2021-10-18 – p.8/58
( ) ( ) < , > ( ) ←
: < , > : : < , , > : OK ( 1 ) NG ( ) B 2021 — 2 — 2021-10-18 – p.9/58
BP-1 ( ), BP-2 ( ) BBc-1 f : →
BP-3 ( ) ( ) ( ) ← BP-2 ← BP-3 ( ) (BP-2 ) ( ) ← BP-3 (?) + ← BP-{1,2} B 2021 — 2 — 2021-10-18 – p.10/58
[Lamport 1984][Schneider 1990] (1) (2) (3) (4) ( ) ←
↑ B 2021 — 2 — 2021-10-18 – p.11/58
TX : transaction ( 4 TX ) SMRP (State Machine
Replication Problem) SMRP-1 ( ) SMRP-2 : B 2021 — 2 — 2021-10-18 – p.12/58
( ) ( ) ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O
ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O ϒϩοΫ൪߸O ͍ͪΜهɾॻ͖͑ͷίετ͕ߴ͍ྺ࢙ ࠷վ͟Μ͠ʹ͍͘ྺ࢙ ͕༗ޮ ͻͱͭखલͷϒϩοΫͷ ʮμΠδΣετʯ σδλϧॺ໊͞Εͨ ʮτϥϯβΫγϣϯ औҾ ʯ ϒϩοΫΛ࡞ΔͨΊʹɺͦͷʮμΠδΣετʯ͕͋ΔҎԼͱ͍͏݅Λຬͨͨ͠Γ 1SPPGPG8PSL Ծ௨՟ͷ࣋ͪʹԠͨ͡ݖརΛͬͨථͰউͬͨΓ 1SPPGPG4UBLF ͢Δඞཁ͕͋Δ ίετ͕͔͔Δ ϒϩοΫΛ࡞ΔਓͦͷதʹࣗʹѼͯͨ Ծ௨՟ͰͷใुΛॻ͖ࠐΉ͜ͱ͕Ͱ͖ɺ ͦͷϒϩοΫ͕༗ޮͳྺ࢙ͷதʹ͋Δ߹ʹ ݶΓใु༗ޮͱͳΔ τϥϯβΫγϣϯͷଘࡏΛ֬ೝ͢Δ ͨΊͷޮతͳํ๏͕ఏڙ͞ΕΔ ਖ਼ੑ ଘࡏੑ །Ұੑ Proof of Work ( ) ( ) . . . → B 2021 — 2 — 2021-10-18 – p.13/58
(BP-3 ) ( : ) (BP-3 ) ( : )
← NFT BP-{1,2,3} BP-{1, 2} ⇒ B 2021 — 2 — 2021-10-18 – p.14/58
(Confidentiality) BP-{1,2,3} ↑ ( = ) (Integrity) BP-3 (Availability) BP-2
B 2021 — 2 — 2021-10-18 – p.15/58
2009 ↑ 12 ( 5 ) B 2021 — 2
— 2021-10-18 – p.16/58
( ) ADR (Active (space) Debris Removal) : https://doi.org/10.1109/TCSS.2018.2890655 (1930
) ( ) B 2021 — 2 — 2021-10-18 – p.17/58
( ) ( ) ( ) B 2021 — 2
— 2021-10-18 – p.18/58
( ) ( - ) : https://doi.org/10.1016/j.future.2019.05.019 B 2021 —
2 — 2021-10-18 – p.19/58
( ) ( ) ( ) B 2021 — 2
— 2021-10-18 – p.20/58
( ) B 2021 — 2 — 2021-10-18 – p.21/58
/ ( ) ( ) ( ) ( ) B
2021 — 2 — 2021-10-18 – p.22/58
( ) ( ) ( ) B 2021 — 2
— 2021-10-18 – p.23/58
( ) : https://www.lij.jp/html/jli/jli_2017/ 2017summer_p018.pdf B 2021 — 2 —
2021-10-18 – p.24/58
( ) ( ) B 2021 — 2 — 2021-10-18
– p.25/58
B 2021 — 2 — 2021-10-18 – p.26/58
with ( ) ( ) : https://doi.org/10.1016/j.icte.2021.08.012 ( ) B
2021 — 2 — 2021-10-18 – p.27/58
DNS : https://arxiv.org/abs/2011.05442 ( ) IP AS B 2021 —
2 — 2021-10-18 – p.28/58
( ) ( ) : https://arxiv.org/abs/2011.05442 ( ) : https://doi.org/10.1016/j.icte.2021.08.012
(web ) B 2021 — 2 — 2021-10-18 – p.29/58
( ) ( ) ( ) : https://doi.org/10.1016/j.icte.2021.08.012 ( )
( ) ( ) : https://arxiv.org/abs/2011.05442 B 2021 — 2 — 2021-10-18 – p.30/58
( ) ( ) : https://arxiv.org/abs/2011.05442 3D HACCP ( )
B 2021 — 2 — 2021-10-18 – p.31/58
2. Ethereum macOS (Big Sur 11.6) + Homebrew Linux (Ubuntu
20.04.3) (x86/AMD64 and ARM) Windows 10 + Windows Subsystem for Linux (Ubuntu ) Ethereum solidity brownie B 2021 — 2 — 2021-10-18 – p.32/58
Solidity Ethereum ( ) http://solidity.readthedocs.io/en/latest/installing-solidity.html Linux (on Windows) “sudo apt”,
macOS “brew” Linux ARM git clone dependencies solc 0.8.9 (10/6 ) $ solc --version brownie py-solc-x solc (dependencies) ( solc py-solc-x ) B 2021 — 2 — 2021-10-18 – p.33/58
Ganache CLI Ethereum RPC npm ( ) macOS https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09 Linux
https://qiita.com/seibe/items/36cef7df85fe2cefa3ea npm Ganache CLI $ sudo npm install -g ganache-cli B 2021 — 2 — 2021-10-18 – p.34/58
Python3 macOS $ brew install
[email protected]
python3 python 3.9 (12/2
) 3.9 3.8 3.9 $ brew uninstall --ignore-dependencies
[email protected]
$ brew install
[email protected]
/usr/local/opt/
[email protected]
/bin/python3 Linux $ sudo apt update $ sudo apt install python3.8 python3.8-dev python3.8-venv python3.8-tk 16.10 python3(.8) apt (PPA ) python3 python3-dev python3-venv python3-tk B 2021 — 2 — 2021-10-18 – p.35/58
macOS : . . . macOS wget brew dyld: Library
not loaded: /usr/local/opt/gettext/lib/libintl.8.dylib $ brew uninstall --force gettext $ brew install gettext B 2021 — 2 — 2021-10-18 – p.36/58
Python (venv) macOS (Linux python3 ) ‘python3.8’ ‘python3’ $ python3.8
-m venv bbc1env $ source bbc1env/bin/activate (bbc1env) $ pip install -U pip (bbc1env) $ pip install wheel bbc1env ( BBc-1 ) ( ) (bbc1env) $ deactivate B 2021 — 2 — 2021-10-18 – p.37/58
Brownie Python Ethereum https://eth-brownie.readthedocs.io Brownie $ pip install eth-brownie version
1.16.4 (10/6 ) B 2021 — 2 — 2021-10-18 – p.38/58
$ brownie init ( ERC-20 ) $ brownie bake token
$ cd token B 2021 — 2 — 2021-10-18 – p.39/58
contracts (macOS Linux (x86/AMD64) ) $ brownie compile Linux (ARM)
(AMD64 ) $ python # >>> import solcx >>> solcx.compile_solc(’0.6.12’) # >>> quit() /tmp ~/.solcx/solc-v0.6.12 ( ) $ pytest tests B 2021 — 2 — 2021-10-18 – p.40/58
Brownie $ brownie console Python >>> len(accounts) 10 >>> accounts[0].balance()
100000000000000000000 >>> quit() B 2021 — 2 — 2021-10-18 – p.41/58
3. Ethereum ropsten B 2021 — 2 — 2021-10-18 –
p.42/58
infura.io Brownie https://infura.io SIGN UP PROJECT ID infura Ethereum API
infura . . . infura.io PROJECT ID WEB3_INFURA_PROJECT_ID PROJECT ID (~/.bash_profile ) $ export WEB3_INFURA_PROJECT_ID= PROJECT ID B 2021 — 2 — 2021-10-18 – p.43/58
ropsten ETH brownie console ropsten >>> network.disconnect() >>> network.connect(’ropsten’) >>>
len(accounts) 0 >>> accounts.add() <LocalAccount object ’ 16 ’> >>> accounts[0].private_key 16 >>> quit() Ropsten Testnet ETH Faucet 5.0ETH https://faucet.dimensions.network/ ( ) https://metamask.io/ B 2021 — 2 — 2021-10-18 – p.44/58
ropsten ETH brownie console ropsten ETH >>> network.disconnect() >>> network.connect(’ropsten’)
>>> len(accounts) 0 >>> accounts.add( 16 ) <LocalAccount object ’ 16 ’> >>> accounts[0].balace() ETH >>> quit() ETH >>> accounts[0].transfer(accounts[1], "1 ether") B 2021 — 2 — 2021-10-18 – p.45/58
Ethereum B 2021 — 2 — 2021-10-18 – p.46/58
Ethereum Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
CONTRACT & DECENTRALIZED APPLICATION PLATFORM” 15 (= ) = ⇒ → Dapps ( / / ) B 2021 — 2 — 2021-10-18 – p.47/58
( ) B 2021 — 2 — 2021-10-18 – p.48/58
. . . B 2021 — 2 — 2021-10-18 –
p.49/58
vs. B 2021 — 2 — 2021-10-18 – p.50/58
= run B 2021 — 2 — 2021-10-18 – p.51/58
Ether Ethereum EOA : Externally-Owned Account ( ) Ether EVM
EVM B 2021 — 2 — 2021-10-18 – p.52/58
EVM : Ethereum Virtual Machine Gas ( EVM = (
burn)) . . . B 2021 — 2 — 2021-10-18 – p.53/58
EVM : : ← : Solidity — JavaScript LLL —
Lisp Vyper — Python Fe — Vyper Rust ← NEW! Solidity Vyper Python B 2021 — 2 — 2021-10-18 – p.54/58
Solidity ( ) pragma solidityˆ0.7.0; contract IndivisibleAsset { /* */
string public _name; string public _symbol; uint256 public _quantity; address public _owner; constructor(string memory name, string memory symbol, uint256 quantity) public { _name = name; _symbol = symbol; _quantity = quantity; _owner = msg.sender; } function transfer(address to) public returns (bool) { require (_owner == msg.sender); _owner = to; return true; } } B 2021 — 2 — 2021-10-18 – p.55/58
( , ) (constructor) (deploy) = ( ) ( )
ETH Trusted Actor Model B 2021 — 2 — 2021-10-18 – p.56/58
Ethereum B 2021 — 2 — 2021-10-18 – p.57/58
B 2021 — 2 — 2021-10-18 – p.58/58