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
210
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 Contract Programming
ks91
PRO
0
13
パット(PAT) : 論文アシスタント(Paper Authoring Tutor) 研究者’s マニュアル / PAT : Paper Authoring Tutor - Researcher's Manual
ks91
PRO
0
6
FinTech 5-6 : The World of Apps
ks91
PRO
0
38
ブロックチェーン概論とインストール大会 / Blockchain Overview and Installation
ks91
PRO
0
13
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
72
身体を持つ生成AI と製品トレーサビリティー / Bodily Generative AI and Product Traceability
ks91
PRO
0
15
ブロックチェーン概論 / Introduction to Blockchain
ks91
PRO
0
19
FinTech Lecture 1-2 : Overview of FinTech
ks91
PRO
0
99
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
32
Other Decks in Technology
See All in Technology
RAG: from dumb implementation to serious results
glaforge
0
650
最新のWasm事情
askua
5
2.5k
From LibreOffice to « La Suite » : providing civil servants with Free Software sovereign tools
bluehats
0
120
40代後半で開発エンジニアからクラウドインフラエンジニアにキャリアチェンジし、生き残れる自信がようやく持てた話
iwamot
9
8.1k
KongによるAPIライフサイクル マネジメント
hashitokyo
1
160
WSUSが非推奨に!? Windowsの更新管理を改めて勉強する!
ebibibi
0
570
まだ間に合う! 生成AIトレンド一挙おさらい & AWSのBedrockに入門しよう
minorun365
PRO
4
220
俺とVSCode Python Debugger Extension
sat
PRO
1
150
v-modelの歩みを振り返る
bengo4com
5
2k
パートナー企業のテクニカルサポートエンジニアとして気になる、より良い AWS サポートの利活用について
kazzpapa3
1
220
とある事業会社にとっての Kaggler の魅力
hakubishin3
7
1.6k
안드로이드 기술 이력서의 최소 조건
pluu
1
1k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cult of Friendly URLs
andyhume
77
6k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.9k
Git: the NoSQL Database
bkeepers
PRO
425
64k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.8k
Building Applications with DynamoDB
mza
90
6k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Optimising Largest Contentful Paint
csswizardry
31
2.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
105
48k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
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