Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Web3 のリアリティ / The Reality of Web3
Search
Kenji Saito
PRO
June 12, 2023
Technology
0
220
Web3 のリアリティ / The Reality of Web3
早稲田大学大学院経営管理研究科「フィンテック ─ 金融革新とインターネット」2023 夏クォーターの第3-4回で使用したスライドです。
Kenji Saito
PRO
June 12, 2023
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
24
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
69
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
30
git と GitHub / git and GitHub
ks91
PRO
0
29
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
39
インターネットの特徴 / Features of the Internet
ks91
PRO
0
26
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
27
暗号学的ハッシュ関数 / Cryptographic Hash Function
ks91
PRO
0
33
デジタル署名 / Digital Signature
ks91
PRO
0
28
Other Decks in Technology
See All in Technology
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
110
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全
opelab
9
2.2k
OpenHands🤲にContributeしてみた
kotauchisunsun
0
190
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
210
本当に使える?AutoUpgrade の新機能を実践検証してみた
oracle4engineer
PRO
1
120
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
0
160
データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatformWithMedallionArchitecture
smdmts
5
570
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
280
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.1k
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
生成AIでwebアプリケーションを作ってみた
tajimon
2
130
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
230
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
245
12k
A designer walks into a library…
pauljervisheath
206
24k
Unsuck your backbone
ammeep
671
58k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Building Adaptive Systems
keathley
43
2.6k
Site-Speed That Sticks
csswizardry
10
650
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A better future with KSS
kneath
239
17k
Designing for humans not robots
tammielis
253
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Docker and Python
trallard
44
3.4k
Scaling GitHub
holman
459
140k
Transcript
Financial technology on the street. Generated by Stable Diffusion XL
Beta — 2023 3-4 Web3 (WBS) — 2023 3-4 Web3 — 2023-06-12 – p.1/51
https://speakerdeck.com/ks91 Discord — 2023 3-4 Web3 — 2023-06-12 – p.2/51
( ) 1 6 5 (1) • 2 6 5
(2) • 3 6 12 Web3 (1) • 4 6 12 Web3 (2) • 5 6 19 (1) 6 6 19 (2) 7 6 26 (1) 8 6 26 (2) 9 7 3 (1) 10 7 3 (2) 11 7 10 (1) 12 7 10 (2) 13 7 24 (1) 14 7 24 (2) W-IOI — 2023 3-4 Web3 — 2023-06-12 – p.3/51
( 20 ) 1 2 3 4 (TCP/IP ) 5
6 7 8 9 10 World Wide Web 11 Web API 12 13 git GitHub 14 (6/19 ) / (2 ) OK / — 2023 3-4 Web3 — 2023-06-12 – p.4/51
( ) (FinTech) — 2023 3-4 Web3 — 2023-06-12 –
p.5/51
Web3 (1) — Web3 (2) — on API ( )
— 2023 3-4 Web3 — 2023-06-12 – p.6/51
T TCP IP 1 ⇒ TCP : IP IP :
— 2023 3-4 Web3 — 2023-06-12 – p.7/51
TCP/IP — 2023 3-4 Web3 — 2023-06-12 – p.8/51
— 2023 3-4 Web3 — 2023-06-12 – p.9/51
1. (1) (2) (plain text) ( ×) 2023 6 8
( ) 23:59 JST ( ) Waseda Moodle — 2023 3-4 Web3 — 2023-06-12 – p.10/51
. . . . . . 47 31 (6/9( )
) ( ) 20 (1990 ) ( ) — 2023 3-4 Web3 — 2023-06-12 – p.11/51
(tetrad) = ( ) 4 : ? : ? :
? : ? — — 2023 3-4 Web3 — 2023-06-12 – p.12/51
ڧԽ ਰୀ ճ෮ స ॏཁ͕ͩݟམͱ͞Ε͕ͪͳޮՌ ਰୀʹΑΓ෮׆ సʹΑΓਰୀ ϦΞϧλΠϜऔҾͱใॲཧ ౷తͳۚ༥հʢྫ͑ɺཧతͳۜߦʣ ϐΞɾτΡɾϐΞͷۚ༥औҾʢྫ͑ɺσδλϧ௨՟ʣ
৴པੑͱϓϥΠόγʔͷʢྫ͑ɺϋοΩϯάσʔλ࿙Ӯʣ ཧతোͷఫഇ ใอଘͷলεϖʔεԽʢཧతʣ طଘϝσΟΞʢग़൛ʣٴͼؔ࿈࢈ۀʢࢴɾҹʣ ใऔಘऀͷར͖ɾऔࣺબೳྗͷ ใྲྀ௨ͷߏసʢݸਓ͕ൃ৴ऀʹͳΕΔʣ ҙݟͷஅ ෆਖ਼֬ͳใͷྲྀ ెఋ੍ 8FC ϝλόʔε ࣗͰࣝใΛ֮͑Α͏ͱ͢Δࣝཉ هԱྗ ਓؒͷةػೳྗ ߴྸԽࣾձ ࢹࣾձ ίϛϡχέʔγϣϯʢʗྔʣ ༏ӽతҐʢใͷඇରশੑɺۭؒత੍ʹΑΔ༏Ґੑʣ ݸਓͷݖར બࢶ ମݧՁ ͠͞ ֦֨ࠩେʢσδλϧσόΠυʣ ཉͷ૿Ճ ൜ࡑͷଟ༷Խ ใͷอଘɾ׆༻ʹ͍ͭͯɺಛఆͷσόΠεʹඥ͔ͳ͍ εϓϦϯλʔωοτͷొ ࠃՈʹΑΔ౷੍͕༰қʹͳΔ ϩʔΧϧϝσΟΞͷ෮ݖ ใͷຽओԽͱࢄԽʹΑΔඇରশੑͷݮগʢΞΫηεͱػձͷฏੑʣ ଟ༷ੑͱ༰ੑͷଅਐʢݸਓతͳදݱͱ૾ྗʣ σδλϧർ࿑ Πϊϕʔγϣϯ ֶश ஶ࡞ݖͱॴ༗ݖ खࢴهͳͲͷݸਓతͳه ΫϥυίϯϐϡʔςΟϯά ϓϥοτϑΥʔϜ ϒϩοΫνΣʔϯ ར༻ऀͷಗ໊ੑ ୠ͠ݶք͋Γ ݸਓͷ֊ڃϥϕϧʹनΘΕͳ͍ࣗ༝ͳҙࢥදࣔ σδλϧλτΡʔ ඦՊࣄయ ୳͍ͯ͠Δใʢ͑ʣͷΞΫηε͕͘ͳΔʢλΠύͷྑ͞ʣ ݸਓ͕ओମͱͳΔࣄۀ׆ಈ "* ৫͔Βݸਓͷύϫʔͷγϑτ ୭Ͱ͍ͭͰΞΫηεͰ͖Δ ୭ͰใΛແྉͰෳͰ͖Δ ͷܙ σδλϧσόΠε Ϛονϯά ൺֱ ళฮϏδωε լঢ় γεςϜμϯ ۭؒͷ֦ுɾۭؒͷΠϯλʔωοτԽʢ"QQMF7JTJPO1SPʣ ଞਓͱͷڑ ຽओओٛ ݱ࣮ੈքͱͷٯసʢωοτੈք͕ϝΠϯͰݱ࣮ࣾձ͕αϒʣ σδλϧґଘ — 2023 3-4 Web3 — 2023-06-12 – p.13/51
: End-to-End, GAFA — 2023 3-4 Web3 — 2023-06-12 –
p.14/51
F ⇒ Amazon Go — 2023 3-4 Web3 — 2023-06-12
– p.15/51
Y ⇒ . . . — 2023 3-4 Web3 —
2023-06-12 – p.16/51
T ⇒ “White Wash” — 2023 3-4 Web3 — 2023-06-12
– p.17/51
E NFT NFT ⇒ Web3 — 2023 3-4 Web3 —
2023-06-12 – p.18/51
N ⇒ — 2023 3-4 Web3 — 2023-06-12 – p.19/51
Y ⇒ — 2023 3-4 Web3 — 2023-06-12 – p.20/51
Web3 (1) — ← Web3 NFT DAO — 2023 3-4
Web3 — 2023-06-12 – p.21/51
NFT ( web3 ) NFT — 2023 3-4 Web3 —
2023-06-12 – p.22/51
— 2023 3-4 Web3 — 2023-06-12 – p.23/51
NFT Minecraft VRChat (VR) NFT NFT Minecraft — 2023 3-4
Web3 — 2023-06-12 – p.24/51
.JOFDSBGU ʙ ҉߸ࢿ࢈ɾ/'5⁇ 3PCMPY ʙ ҉߸ࢿ࢈ɾ/'5ʓ 73$IBU ʙ ҉߸ࢿ࢈ɾ/'5ʷ 5IF4BOECPY
ʙ ҉߸ࢿ࢈ɾ/'5ʓ ̍ ͷ Ϣ ồ β 0 200000 400000 600000 ˞IUUQTNNPTUBUTDPN͕ఏڙ͢ΔσʔλΛݩʹ࡞ ZEPETO (2018∼) ( NFT ) The Sandbox 100 Roblox/Minecraft 1 10 Axie Infinity (2018∼) [ ] ( NFT ) The Sandbox 2 Decentraland (2020∼) ( NFT ) The Sandbox 1 10 — 2023 3-4 Web3 — 2023-06-12 – p.25/51
VRChat vs. NeosVR ( ) 73$IBU ʙ ҉߸ࢿ࢈ɾ/'5ʷ NeosVR (2018ʙ)
҉߸ࢿ࢈ɾ/'5ʓ ۙ աڈ࣌ؒͷϐʔΫ աڈ࠷େͷϐʔΫ ಉ ࣌ ଓ Ϣ ồ β 0 10000 20000 30000 40000 ˞IUUQTTUFBNDIBSUTDPN͕ఏڙ͢Δ ɹσʔλΛݩʹ࡞ ˞ήʔϜϓϥοτ ϑΥʔϜ4UFBNͷ"1*͔Β ɹऔಘ͞ΕͨσʔλʹଇΔ NeosVR NFT ( ) VRChat — 2023 3-4 Web3 — 2023-06-12 – p.26/51
Web3 Web3 — 2023 3-4 Web3 — 2023-06-12 – p.27/51
Web 1-2-3 ͍ΘΏΔ 8FC 8FC ͷۚ༥Խ Ϣʔβ͕ࣗʮ؆୯ʹʯσʔλͷੜ࢈ऀʹ ͏ͻͱͭ ͷࢭ༲ ࢭ༲
4FNBOUJD8FC l8FCzॳग़ 8FC ˠ8FC 8FC ৫ʹ ཧͤͣ͞ɺ σʔλΛϢʔβͷ खʹऔΓͦ͏ ͯ͢ͷ ͯ͢Λ ۚ༥τʔΫϯԽͯ͠ ղܾ͠Α͏ #FSOFST-FF ͷ #FSOFST-FF ͷ 0` 3FJMMZ ͷ 8PPE ͷ #JUDPJO ε ϊ ồ σ ϯ ࣄ ݅ Ϧ ồ Ϛ ϯ ɾ γ ἀ ỽ Ϋ Π ϯ λ ồ ω ỽ τ ༻ Խ &UIFSFVN 4PMJE ϓϩδΣΫτ Ϣʔβࣗͱ ެӹͷͨΊʹ σʔλࣗ༝ʹ ׆༻Ͱ͖͍ͯΔ͔ʁ — 2023 3-4 Web3 — 2023-06-12 – p.28/51
Web 3.0 Web3 Web 1.0 (Berners-Lee) : Read × Write
→ Web 2.0 (O’Reilly) : Read × Write ← (Web 1.0 ) Web 3.0 (Berners-Lee) → Solid (Social linked data) Web 3.0 → Web3 (Wood) Ethereum ← web3.js, web3.py Web3 (Dixon) : Read × Write × Own (Bloomberg) — 2023 3-4 Web3 — 2023-06-12 – p.29/51
python 3.10.7 solc 0.8.19 ( ) (Solidity ( ) )
node v20.2.0 ganache v7.8.0 (Ethereum RPC + ) eth-brownie 1.19.3 (Python Ethereum ) web3 5.31.3 (Python Ethereum ) py-solc-x 1.1.1 (Solidity Python + ) macOS Monterey 12.6.6 — 2023 3-4 Web3 — 2023-06-12 – p.30/51
Python3 eth-brownie . . . $ python3 -m venv demoenv
$ source demoenv/bin/activate $ pip install -U pip $ pip install wheel $ pip install eth-brownie web3.py — 2023 3-4 Web3 — 2023-06-12 – p.31/51
Ethereum Python NFT — 2023 3-4 Web3 — 2023-06-12 –
p.32/51
: Bitcoin . . . : ( : ) (
) : : : ⇒ — 2023 3-4 Web3 — 2023-06-12 – p.33/51
Ethereum ߹ҙ͞Εͨཤྺ ϩʔΧϧʹෳΛҡ࣋
ϒϩοΫ εϩοτ ඵִؒ εϩοτͰ ΤϙοΫ ҉߸ֶతμΠδΣετ ϒϩοΫνΣʔϯͷҡ࣋ࢀՃऀ͕ϩʔΧϧʹཧ͢Δσʔλۭؒ ࣌ؒ ΑΓ৽͍͠ه ΦϒδΣΫτ τʔΫϯγεςϜͷεϚʔτίϯτϥΫτ ֤Ϣʔβͷ ߴͷঢ়ଶ ঢ়ଶ` ঢ়ଶ`` τϥϯβΫγϣϯ ΦϒδΣΫτͷੜ ·ͨঢ়ଶભҠͷࢦࣔ ແޮͳཤྺ ω ỽ τ ϫ ồ Ϋ Λ ௨ ͠ ͯ ૹ ड ৴ ͞ Ε Δ ϩ ồ Χ ϧ ʹ ࣋ ͭ ܨ͙ͨΊʹ&5) Ͱͷσϙδοτͱ σϙδοτ૯ֹͷ ♤ ૬ͷϢʔβʹΑΔ ΤϙοΫͷূݴ͕ඞཁ શΦϒδΣΫτͷભҠޙͷঢ়ଶ ͕ϋογϡ˞ʹू͞Ε ͦͷ ϧʔτ͕ϒϩοΫʹॻ͔ΕΔ ঢ়ଶભҠ ˞ϋογϡσʔλ܈ͷ҉߸ֶతμΠδΣετ ϋογϡ ɹΛߏʹදݱͨ͠ͷͰ ෆ߹ͷݕग़ʹ༻͍ΒΕΔ . . . ETH ETH — 2023 3-4 Web3 — 2023-06-12 – p.34/51
Ethereum Ethereum $ brownie console # eth-brownie (Python ) #
↓ Python >>> network.disconnect() # ( ) >>> network.connect(’mainnet’) # Ethereum >>> web3.eth.block_number # >>> web3.eth.get_block( ) # >>> web3.eth.get_block( ).get(’timestamp’) # >>> import datetime >>> dt = datetime.datetime.fromtimestamp( ) >>> print(dt) # — 2023 3-4 Web3 — 2023-06-12 – p.35/51
&UIFSFVNωοτϫʔΫ &7. &0" &5) ߴ &5) (BT εϚʔτ ίϯτϥΫτ
ϝοηʔδʹΑΔ ݺͼग़͠ τϥϯβ Ϋγϣϯ ॺ໊ͯ͠ ೖ ϒϩοΫʹ ΈࠐΈˠ όϦσʔλ Ϣʔβ ॲ ཧ ˞(BT ܭࢉࢿݯͷྔΛද͢ ˞(BT ༻ྉΛ &5) Ͱࢧ͏Ϣʔβ͕τϥϯβΫγϣϯΛೖ͠ͳ͍ݶΓ ɹεϚʔτίϯτϥΫτಈ࡞͠ͳ͍ . . . Ethereum (EVM) ETH ↑ DAO EOA : Externally Owned Account — 2023 3-4 Web3 — 2023-06-12 – p.36/51
$ brownie bake nft nft ( ) contracts SimpleCollectible.sol ERC-721
(ERC : Ethereum Request for Comments) NFT $ cd nft # nft $ brownie console # eth-brownie (Python ) >>> network.disconnect() # >>> network.connect(’goerli’) # Ethereum >>> accounts.add( ) # >>> collectible = SimpleCollectible.deploy({’from’: accounts[0]}) # NFT 1,834,415 Gas — 2023 3-4 Web3 — 2023-06-12 – p.37/51
NFT (Non-Fungible Token) 1 → ( ) → ( )
( ) ( ) NFT NFT — 2023 3-4 Web3 — 2023-06-12 – p.38/51
ERC-721 NFT τʔΫϯ *% ൪߸ 63- ΞυϨε 63- /'5 Ұҙ
Ұҙʁ Ұҙʁ Ұҙ ࣄ্࣮ Ұҙ ެ։伴ͷ μΠδΣετ ϝλσʔλ ίϯτϥΫτͱ͍͏ఆٛҬ ˞ͦͷίϯτϥΫτͱ͍͏ఆٛҬͷதͰ ࣮ઢҹͰࣔͨ͠ҰҙੑΛอূ͢Δʹա͗ͳ͍ ˞ഁઢҹͰࣔͨ͠Ұҙੑ ࣮ɾӡ༻ͷ࣍ୈͰอূͰ͖Δ ɹྫ͑ 63- ʹͦΕ͕ࢦ͢Ϧιʔεͷ҉߸ֶతμΠδΣετΛؚΊΔ͜ͱ ྫ *1'4 ͷར༻ ʹΑΓ ɹ ʮ63-ˠσʔλʯͷҰҙੑΛอͯΔ ͦͷ߹Ͱʮσʔλˠ63-ʯͷҰҙੑແ͍ ରσʔλ ը૾ ॴ༗ऀ ϝλσʔλ 63- ରσʔλ 63- ൿີ伴 Ұҙ Ұҙʁ Ϣʔβ Ұҙʁ — 2023 3-4 Web3 — 2023-06-12 – p.39/51
NFT URL NFT >>> collectible.createCollectible( URL) # NFT URL NFT
NFT >>> network.disconnect() # >>> network.connect(’mainnet’) # Ethereum >>> collectible = SimpleCollectible.at(’ ’) # >>> collectible.ownerOf(OpenSea NFT ID) # >>> collectible.tokenURI(OpenSea NFT ID) # — 2023 3-4 Web3 — 2023-06-12 – p.40/51
NFT σʔλ " ϒϩοΫνΣʔϯ #⒩ ʜ ʜ ϒϩοΫνΣʔϯ #⒪ ʜ
ʜ εϚʔτίϯτϥΫτ $⒩ εϚʔτίϯτϥΫτ $⒪ ಛఆͷετϨʔδ ˞Ͳ͜ʹஔ͔ΕΑ͏ͱ ɹ͍͠σʔλಉ͡ͷ ϒϩοΫνΣʔϯ͕ಉ͡Ͱҟͳͬͯ ͍ͯ εϚʔτίϯτϥΫτ͕ҟͳ ΔΠϯελϯεͳΒఆٛҬผͱͳΔ ଟ͘ͷ߹ ې͡ΒΕͳ͍ ېࢭͰ͖ͳ͍ ˞/'5 ͕σʔλΛࢦ͢ํࣜͱσʔλΛ֨ೲ͢Δํࣜ σʔλͷՄ༻ੑҟͳΔͱͯ͠ҰҙੑʹؔΘΔੑ࣭มΘΒͳ͍ ಉҰ εϚʔτίϯτϥΫτ $⒫ εϚʔτίϯτϥΫτ $⒬ /'5⒩ /'5⒪ /'5⒫ /'5⒬ /'5⒮ /'5⒭ σʔλ " ېͣΔΑ͏ͳ ઃܭίετߴ ېࢭͰ͖ͳ͍ — 2023 3-4 Web3 — 2023-06-12 – p.41/51
NFT NFT NFT >>> collectible.ownerOf( NFT ID) # >>> collectible.ownerOf(
NFT ID) # NFT Ethereum Ethereum NFT NFT Ethereum Lazy Minting (?) ( ) (Gas ) — 2023 3-4 Web3 — 2023-06-12 – p.42/51
DAO (Decentralized Autonomous Organization) — 2023 3-4 Web3 — 2023-06-12
– p.43/51
DAO ෦ࢿຊˢ͋Δ ɹɹɹɹˣͳ͍ தԝʹࣗಈ ɹɹɹɹɹWT ɹɹɹɹɹɹதԝʹਓؒ શͳ "* σʔϞϯ˞ ϑΥʔϥϜ˞
XFC αʔϏε ϩϘοτΛ %"0 %"QQ˞ ݹయత৫ ɹɹɹɹɹपลʹਓؒ ɹɹɹɹWT पลʹࣗಈ ˞%"QQεϚʔτίϯτϥΫτʹΑΔΞϓϦέʔγϣϯ %FDFOUSBMJ[FE"QQ ˞ϑΥʔϥϜਓʑ͕ಛఆͷʹ͍ͭͯٞͨ͠ΓใΛަͨ͠Γ͢Δ ˞σʔϞϯόοΫάϥϯυͰՔಇ͠ ΠϕϯτʹࣗಈతʹରԠ͢ΔϓϩάϥϜ . . . Buterin DAO (2014) — 2023 3-4 Web3 — 2023-06-12 – p.44/51
DAO Bitcoin DAO → DAO Ethereum DAO → . .
. DAO ( ) ( ) DAO → . . . ( ) ↑ ( ) ← — 2023 3-4 Web3 — 2023-06-12 – p.45/51
Web3 (1) ( . . . ) · DAO Web
2.0 ( Web3 ) . . . — 2023 3-4 Web3 — 2023-06-12 – p.46/51
Web3 (2) — — 2023 3-4 Web3 — 2023-06-12 –
p.47/51
: API Pay API (Application Programming Interface) — 2023 3-4
Web3 — 2023-06-12 – p.48/51
— 2023 3-4 Web3 — 2023-06-12 – p.49/51
2. (1) (end; ) (2) 2023 6 15 ( )
23:59 JST ( ) Waseda Moodle — 2023 3-4 Web3 — 2023-06-12 – p.50/51
— 2023 3-4 Web3 — 2023-06-12 – p.51/51