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
イーサリアムの技術 / Ethereum Technology
Search
Kenji Saito
PRO
February 06, 2019
Technology
1
420
イーサリアムの技術 / Ethereum Technology
2019年2月6日(水)、ブロックチェーンハブ主催で開催されたブロックチェーンアカデミー「イーサリアムの技術」にて使用したスライドです。
Kenji Saito
PRO
February 06, 2019
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
コバヤシマルテスト ─ 勝ち目のないゲームに抗いながら旅する心の旅路 / Kobayashi Maru Test - a mental journey of defiance against a game that cannot be won
ks91
PRO
0
3
セキュリティ戦略・発表と総括 / Security Strategies, Presentation and Conclusions
ks91
PRO
1
31
暗号資産の経済学・イントロダクション / Economics of Cryptocurrencies (Introduction)
ks91
PRO
0
20
AI とデジタルトランスフォーメーション / AI and Digital Transformation
ks91
PRO
0
10
インシデントレスポンス演習 II / Incident Response Exercise II
ks91
PRO
0
36
A思考の自動化とX 思考の行方 / Automation of A Thinking and the Future of X Thinking
ks91
PRO
0
23
サイバー戦の現在と未来 / Present and Future of Cyber Warfare
ks91
PRO
0
69
サイバー攻撃・防御とサイバー法 / Cyber Attacks, Defenses and Cyber Law
ks91
PRO
0
50
インシデントレスポンス演習I / Incident Response Exercise I
ks91
PRO
0
63
Other Decks in Technology
See All in Technology
AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege
opelab
10
4.3k
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
220
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
スタートアップにおける組織設計とスクラムの長期戦略 / Scrum Fest Kanazawa 2024
yoshikiiida
13
3.6k
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
データ分析を支える技術 生成AI再入門
ishikawa_satoru
0
380
プレイドにおけるDatadog APMの活用方法
plaidtech
PRO
2
120
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.2k
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
48
13k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Rails Girls Zürich Keynote
gr2m
93
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Raft: Consensus for Rubyists
vanstee
134
6.5k
How to Think Like a Performance Engineer
csswizardry
4
590
Faster Mobile Websites
deanohume
303
30k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Transcript
ΠʔαϦΞϜͷٕज़ ϒϩοΫνΣʔϯج൫ٕज़ʲϒϩοΫνΣʔϯͷԠ༻ج൫ʳ ϒϩοΫνΣʔϯϋϒ CSO / ܚጯٛक़େֶ SFC ݚڀॴ ্੮ॴһ ੪౻
ݡ࣐
[email protected]
ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.1/28
؆୯ͳࣗݾհ ੪౻ ݡ࣐ (͍͞ͱ͏ ͚Μ͡) ܚጯٛक़େֶ SFC ݚڀॴ ্੮ॴһɾڥใֶ෦ ߨࢣ
(ඇৗۈ) גࣜձࣾϒϩοΫνΣʔϯϋϒ CSO (Chief Science Officer) Ұൠࣾஂ๏ਓϏϤϯυϒϩοΫνΣʔϯ දཧࣄ Ұൠࣾஂ๏ਓΞΧσϛʔΩϟϯϓ දཧࣄ ܦྺ 1993 ɺίʔωϧେֶΑΓֶम࢜߸औಘ (ίϯϐϡʔλαΠΤϯε) 2006 ɺܚጯٛक़େֶΑΓσδλϧ௨՟ͷݚڀͰത࢜߸औಘ (ࡦɾϝσΟΞ) ܚጯٛक़େֶ େֶӃ ࡦɾϝσΟΞݚڀՊ SFC ݚڀॴʹͯ 18 Ҏ্ʹΘͨΓ P2P (Peer-to-Peer) ͓Αͼσδλϧ௨՟ͷݚڀʹैࣄ 2011 ՆΑΓౡͷ͜ͲͨͪͷͨΊͷʮΞΧσϛʔΩϟϯϓʯΛؒΒͱ։࠵ ࡢՆ SFC ʹͯ ΞΧσϛʔΩϟϯϓ 2018 ՆʮΦοέʔάʔάϧɺ॓ͬͱ͍ͯʂʯΛ࣮ࢪ ࠓिɺΞΧσϛʔΩϟϯϓ 2019 ౙʮԵঁͷͨΊͷΦʔτϝʔγϣϯ ∼ ΧϫΠΠࣗಈԽͰ͖ΔʂʯΛ༧ఆ → ࢲͷ಄ͷதͰͭͳ͕͍ͬͯ·͢ (͜Ε͔ΒͷࣾձͷσβΠϯ͜ͲͨͪͱҰॹʹ) ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.2/28
ࠓճͷςʔϚ ϒϩοΫνΣʔϯʹΑΔΞϓϦέʔγϣϯͷج൫ͱͯ͠։ൃ͞Ε͍ͯΔ ΠʔαϦΞϜʹ͍ͭͯɺ ΠʔαϦΞϜԾϚγϯ (EVM)ɺ ֎෦ΞΫλʔɺ ࣗΦϒδΣΫτͳͲͷ֓೦ɺ ࣮ํࣜͷಛɺਐԽͷํ ͳͲʹ͍ͭͯղઆ͠·͢ ΠʔαϦΞϜͷٕज़
— ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.3/28
ΠʔαϦΞϜ (Ethereum) ͷ֓ཁ ϒϩοΫνΣʔϯͱঢ়ଶભҠ EVM (Ethereum Virtual Machine) ΠʔαϦΞϜͷٕज़ —
ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.4/28
ΠʔαϦΞϜͱʁ Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART
CONTRACT & DECENTRALIZED APPLICATION PLATFORM” ϒϩοΫνΣʔϯٕज़ΛԠ༻ ฏۉϒϩοΫִؒ 15 ඵΛඪ ͦ͜ʹϓϩάϥϛϯάݴޠΛࡌͤΔ νϡʔϦϯάશ ࢄΞϓϦέʔγϣϯͷͨΊͷج൫ ͨͩ͠ػೳࢄ͢ΔΘ͚Ͱͳ͍ͷͰɺDApps ͱݺΜͰ͠·ͬͨํ͕ଥ͔ ݱࡏͷۚ༥ɾ՟ฎܦࡁγεςϜΛ࣌Εʹ͠Α͏ͱ͢Δҙਤ͕ݟ͑Δ εϚʔτίϯτϥΫτ ͱͦͦͦ͏͍͏ͷ σδλϧࢿ࢈ͷҠసঢ়ଶભҠΛࣗಈԽ͢Δ ৄ͘͠ʮεϚʔτίϯτϥΫτʯͷճͰ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.5/28
ϒϩοΫνΣʔϯͱঢ়ଶભҠ ϒϩοΫνΣʔϯ = ঢ়ଶϚγϯͷ run ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06
– p.6/28
༻ޠମܥ Ether Ethereum ʹ͓͚Δ௨՟ ֎෦ΞΫλʔ σδλϧॺ໊Ͱ͖Δ࣮ࡏͰɺΞΧϯτΛͭ EOA : Externally-Owned Account
ࣗΦϒδΣΫτ γεςϜͰࣗಈ࡞͠ɺΞΧϯτΛͭ ͱݴ͏ͷͷɺϝοηʔδΛૹΒͳ͍ͱಈ͔ͳ͍ ΞΧϯτ Ether ߴΛͪɺετϨʔδ EVM ίʔυΛͯΔ EVM ίʔυ εϚʔτίϯτϥΫτͷϓϩάϥϜ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.7/28
EVM : Ethereum Virtual Machine ࣗΦϒδΣΫτ͕ϝοηʔδΛड͚Δͱىಈ͠ɺίϯτϥΫτΛ࣮ߦɺঢ়ଶΛมԽͤ͞Δ ࣮ߦεςοϓຖʹ Gas ͷڙڅ͕ඞཁ ΠʔαϦΞϜͷٕज़
— ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.8/28
ΠʔαϦΞϜͷόʔδϣϯ Frontier (2015) Homestead (2016) Metropolis Byzantium (2017) ← ࠓ·ͩίί
zkSNARKs (θϩࣝূ໌) → Zcash on Ethereum (ZoE) ϒϩοΫใुͷݮগԽ Constantinople (2019) Serenity ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.9/28
ϒϩοΫνΣʔϯͷ՝ͱΠʔαϦΞϜ ॾʑͷϒϩοΫνΣʔϯͷ՝ʹରͯ͠ɺݱࡏͷϒϩοΫνΣʔϯͷߟ͑ํͷ ԆͰऔΓΉ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.10/28
ϒϩοΫνΣʔϯͷٕज़తͳ՝ͷཧ ඇ࣮࣌ؒੑ (֬తಈ࡞) ൿಗͷࠔੑ (ສਓͷݕূՄೳੑͷ୲อ) ϫϯωε (ࢄ vs. ෳ) εέʔϥϏϦςΟ͕ͳ͍
(શࢀՃऀʹෳ͞ΕΔͳΒεέʔϧ͠ͳ͍) ਐԽͷΨόφϯε͕ࠔ (શһ͕ҰؙͱͳΔඞཁ͕͋ΔͳΒมΘΕͳ͍) ΠϯηϯςΟϒෆ߹ੑ ωΠςΟϒ௨՟ͷՁͰࢧ͑ΒΕ͍ͯΔ (མ͢Δͱͯ͢ͷԠ༻͕ࢭ·Δ) ⇒ θϩϕʔεͰઃܭͤ͠ղ͚Δ ࣮ࡍʹਐߦதͰ͢ (ྫ : BBc-1) ଟ͘ͷ DLT θϩϕʔεͰߟ͍͑ͯͳ͍ͱ͜Ζ͕ ྫ : ࡞ۀূ໌ͷ͔ͳ͍ϋογϡνΣʔϯվ͟Μ͠์ ྫ : ৽ฉϞσϧͰɺۀքࢴࣾใʹࡌͤΔΑ͏ͳ͜ͱΛͯ͠ଘࡏূ໌ʹͳΒͳ͍ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.11/28
ΠʔαϦΞϜͲ͏औΓΉ͔ ඇ࣮࣌ؒੑ (֬తಈ࡞) ⇒ τϥϯβΫγϣϯΛϑΝΠφϥΠζ͢ΔΈ (Casper) ൿಗͷࠔੑ (ສਓͷݕূՄೳੑͷ୲อ) ⇒ ZoE
(Zcash on Ethereum) ϫϯωε (ࢄ vs. ෳ) εέʔϥϏϦςΟ͕ͳ͍ (શࢀՃऀʹෳ͞ΕΔͳΒεέʔϧ͠ͳ͍) ⇒ γϟʔσΟϯάɺPlasma ਐԽͷΨόφϯε͕ࠔ (શһ͕ҰؙͱͳΔඞཁ͕͋ΔͳΒมΘΕͳ͍) ⇒ ༏͍͠ಠࡋऀ (ۤস) (Benevolent Dictator For Life (BDFL)) ΠϯηϯςΟϒෆ߹ੑ ωΠςΟϒ௨՟ͷՁͰࢧ͑ΒΕ͍ͯΔ (མ͢Δͱͯ͢ͷԠ༻͕ࢭ·Δ) ⇒ ΞϓϦΛ࣮ߦ͍ͨ͠ਓʑ͕ങ͍ࢧ͑Δʁ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.12/28
ΠʔαϦΞϜͷٕज़ͷಛ Proof of Work + φΧϞτίϯηϯαε ͔Β ચ࿅͞Εͨ Proof of
Stake + ߹੍ٞ ·ͣݱঢ়ͷઆ໌͔Β ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.13/28
҉߸ֶతϋογϡؔ ϏοτίΠϯ SHA-256 × SHA-256 SHA-256 × RIPEMD-160 ೋॏʹద༻͢Δ͜ͱͷҙຯ (1
ஈ͕িಥͨ͠Βʁ) . . . ͳ͘Ͷʁ ઃܭҙਤͱҟͳΔ༻్ʹ༻͍Δ͜ͱʹΑΔ ઃܭҙਤͱͯ͠ܭࢉίετ͕খ͘͞ͳΔΑ͏ʹ࡞ΒΕ͍ͯΔ ϥΠτίΠϯ scrypt (ϝϞϦΛ;ΜͩΜʹ͏) ΠʔαϦΞϜ Ethash (Dagger-Hashimoto ͷਐԽܗ) DAG : Directed Acyclic Graph (༗ඇ८ճάϥϑ) https://github.com/ethereum/wiki/wiki/Ethash ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.14/28
GHOST (Greedy Heaviest Observed Subtree) ฏۉϒϩοΫִؒΛ͘ઃఆ͢Δͱ ແବΛ౿ΉϚΠφʔ͕૿͑Δ ແବΛ౿·ͳ͍ϚΠφʔ͕ूத͍͢͠ ⇒ GHOST
ʹΑΓղܾΛࢦ͢ ܥͷखલͷϒϩοΫ () ͚ͩͰͳ͘ɺੜͨ͠ΦʔϑΝϯͰ͋Δ “uncles” Λࢀর্ͨ͠Ͱɺproof of work ͷίετΛܭࢉ͠ɺ࠷ॏ͍ίετ͕ ͔͔ͬͨͷΛશһ͕બ͢Δ (มܗͨ͠φΧϞτίϯηϯαε) ߋʹɺuncle ϚΠχϯάใुΛड͚औΔ ΠʔαϦΞϜͰ uncles ͷࢀরΛ 7 ஈ֊લ·Ͱʹ੍ݶͨ͠ GHOST Λ࠾༻ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.15/28
มܗϚʔΫϧɾύτϦγΞ IUUQTFOXJLJQFEJBPSHXJLJ3BEJY@USFF ύτϦγΞͷྫ key ҙͷόΠτྻͰ OK PATRICIA (Practical Algorithm To
Retrieve Information Coded In Alphanumeric) Trie (τϥΠ) (key, value) Λදݱ͠ɺݕࡧͰ͖Δ τϥΠͷઅΛࢀর͢ΔͨΊʹμΠδΣετ͕ΘΕΔ ΛϚʔΫϧϧʔτͱͯ͠ѻ͑Δ ૬ҧɾվ͟Μݕग़͞ΕΔ ֤ཁૉ RLP (recursive length prefix encoding) ʹΑΓ ූ߸Խ͞ΕΔ ΠʔαϦΞϜʹ͓͚Δঢ়ଶɺετϨʔδɺτϥϯβΫγϣϯ ͷϦετͷදݱʹΘΕΔ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.16/28
ΠʔαϦΞϜͷਐԽͷํ Proof of Stake ͷظͱ՝ Casper γϟʔσΟϯά ͦͷଞͷٕज़ಈ ΠʔαϦΞϜͷٕज़ —
ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.17/28
Proof of Stake ͱʁ ϒϩοΫΛੜͰ͖Δ͕֬ɺ֘ίΠϯͷ࣋ͪͷଟ͞ʹԠ্ͯ͡ঢ͢Δ ࣍ͷརΛͭͱݴΘΕΔ ΤωϧΪʔফඅ͕͍ (ແࢹͰ͖Δ) ू͕ΑΓࠔ (ίΠϯͷաΛॴ༗Ͱ͖Δ͔)
ϐΞίΠϯͳͲͰ࠾༻͞ΕΔ ΠʔαϦΞϜҠߦ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.18/28
Proof of Stake ͷҰൠࣜ (ݹ͍ߟ͑ํ) Hn (PD + id +
t + . . .) ≤ 2n × balance d Hn : n ϏοτΛग़ྗ͢Δ҉߸ֶతϋογϡؔ (ex. SHA-256 (n = 256)) PD : લͷϒϩοΫͷμΠδΣετ id : ΞΧϯτͷࣝผࢠ (ex. ެ։ݤͷμΠδΣετ) t : ࣌ࠁ (ex. UNIX ࣌ࠁ (ඵ)) balance : ֘ΞΧϯτͷߴ d : қ (ex. ίΠϯͷ૯ྔ) μΠδΣετΛ༻͍Δ PoW ͷܗࣜͰද͞ΕΔ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.19/28
Proof of Stake ͷ 3ͭͷ 1. ίΠϯͷཷΊࠐΈ 2. “Nothing at
Stake” ظత ظత 3. ίετ 51% ߈ܸ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.20/28
ίΠϯͷཷΊࠐΈ ͕࣋ͪଟ͍ํ͕༗རͳͷͰɺίΠϯཷΊࠐ·ΕɺΘΕͳ͍͕ੜ͡Δ ՟ฎϝσΟΞͱͯ͠ͷجຊػೳ્͕͞ΕΔ ରࡦ : Proof of Stake Velocity ݹ͍ίΠϯͷ࣋ͪධՁΛԼ͛Δ
Reddcoin ͳͲͰ࠾༻͞ΕΔ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.21/28
Nothing at Stake - ظత ࣄނ·ͨނҙʹνΣΠϯ͕ذͨ͠߹ɺࢀՃऀʹࣄଶΛऩर͢Δಈػ͕ͳ͍ Կౌ͚͍ͯͳ͍ φΧϞτɾίϯηϯαε͕ҙਤ௨Γʹಇ͔ͳ͍ φΧϞτɾίϯηϯαε =
վ͟Μίετ͕࠷େ͖͍ྺ࢙Λ࠾༻͢Δ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.22/28
Nothing at Stake - ظత γεςϜΛ։࢝ͨ͠ऀԿͰશମΛΓͤΔ δΣωγεϒϩοΫͷ࣌Ͱ࣋ͪ 100% ͦͷଞͷࢀՃऀɺ࣋ͪ͑͋͞Ε͔ͦ͜ΒΓͤΔ ૉͷ
Proof of Stake ͰِΛࢭͰ͖ͳ͍ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.23/28
ίετ 51% ߈ܸ ίΠϯͷաΛऔಘ͢ΔҙࢥͱɺͦͷͨΊͷेͳࢿۚͷূڌΛද໌͢Δ ͢ΔͱɺγεςϜͷਖ਼ৗͳҡ͕࣋ظͰ͖ͳ͍ͱ༧͞ΕΔͨΊɺ ίΠϯͷՁ͕֨ٸམ͢Δ ͦ͜ͰίΠϯΛങ͍ΊΔ ݪཧతʹɺ΄ͱΜͲίετΛΘͣʹίΠϯͷաΛೖखͰ͖Δ ΠʔαϦΞϜͷٕज़ —
ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.24/28
Casper : ΠʔαϦΞϜͰͷऔΓΈ Nothing at Stake ͷରࡦ ࠾༻͞Εͳ͔ͬͨνΣʔϯͰϒϩοΫΛೝΊͨݕূऀΛേ͢Δ (Slasher) σϙδοτΛཱͬͯީิ͢ΔݕূऀͨͪʹΑΔථํࣜ
100 ϒϩοΫߴຖʹʮνΣ οΫϙΠϯτʯΛઃ͚ɺσϙδοτֹʹԠͨ͡ॏΈ ͖ͷථͰਖ਼ͳνΣʔϯΛܾΊΔ ࣍ͷνΣ οΫϙΠϯτ͕ਖ਼Խ͞ΕΔͱɺखલͷνΣ οΫϙΠϯτʮ֬ఆʯ ͱͳΔ ⇒ Ͳ͜·ͰຽओతͰ͍ΒΕΔ͔ʁ ωοτϫʔΫͷஅ͕ى͖͍ͯͳ͍͜ͱ͕લఏʹࢥ͑Δ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.25/28
γϟʔσΟϯά (ਫฏׂ) ݕূ࡞ۀͷݖԽ εέʔϥϏϦςΟʹ͚ͨΞϓϩʔν γϟʔυͷࢀՃΛΊ͙ΔઓུతߦಈΛݗ੍͢ΔͨΊ PoS ͕લఏ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़
— 2019-02-06 – p.26/28
ͦͷଞͷٕज़ಈ µRaiden ϖΠϝϯτνϟωϧ Raiden Network ϖΠϝϯτνϟωϧؒΛϗοϓ͢Δ Plasma ϒϩοΫνΣʔϯͷ֊Խ ϒϩοΫνΣʔϯͷ՝ղܾʹ͚ͯݕ౼͞Ε͍ͯΔٕज़ͷʮશ෦ͷͤʯ ͋Δҙຯɺ࣮ݧγεςϜͱͯ͠ͷ໘༂
ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.27/28
࣭ٞ͝Λ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.28/28