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
510
イーサリアムの技術 / Ethereum Technology
2019年2月6日(水)、ブロックチェーンハブ主催で開催されたブロックチェーンアカデミー「イーサリアムの技術」にて使用したスライドです。
Kenji Saito
PRO
February 06, 2019
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
ブロックチェーン概論とインストール大会 / Introduction to Blockchain and Installation Workshop
ks91
PRO
0
2
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
51
民主主義と博愛(Humanitarianism) / Democracy and Humanitarianism
ks91
PRO
0
2
ブロックチェーン概論 / Introduction to Blockchain
ks91
PRO
0
9
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
53
Proof of Authenticity of General IoT Information with Tamper-Evident Sensors and Blockchain
ks91
PRO
0
5
FinTech 1-2 : Overview of FinTech
ks91
PRO
0
16
デジタルトランスフォーメーションと民主主義 / Digital Transformation and Democracy
ks91
PRO
0
19
We Never Took the Kobayashi Maru Test Until Now. What Do You Think of Our Solutions? — Journeys of the Mind Through a No-Win Game
ks91
PRO
0
24
Other Decks in Technology
See All in Technology
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
2
140
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
620
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
970
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
110
Findy Team+のSOC2取得までの道のり
rvirus0817
0
460
自動テストのコストと向き合ってみた
qa
0
200
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
100
多野優介
tanoyusuke
1
480
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
140
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
78k
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
7
3.8k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Review Best Practice
trishagee
72
19k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Being A Developer After 40
akosma
91
590k
Music & Morning Musume
bryan
46
6.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
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