Slide 1

Slide 1 text

ΠʔαϦΞϜͷٕज़ ϒϩοΫνΣʔϯج൫ٕज़ʲϒϩοΫνΣʔϯͷԠ༻ج൫ʳ ϒϩοΫνΣʔϯϋϒ CSO / ܚጯٛक़େֶ SFC ݚڀॴ ্੮ॴһ ੪౻ ݡ࣐ ks91@blockchainhub.co.jp ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.1/28

Slide 2

Slide 2 text

؆୯ͳࣗݾ঺հ ੪౻ ݡ࣐ (͍͞ͱ͏ ͚Μ͡) ܚጯٛक़େֶ SFC ݚڀॴ ্੮ॴһɾ؀ڥ৘ใֶ෦ ߨࢣ (ඇৗۈ) גࣜձࣾϒϩοΫνΣʔϯϋϒ CSO (Chief Science Officer) Ұൠࣾஂ๏ਓϏϤϯυϒϩοΫνΣʔϯ ୅දཧࣄ Ұൠࣾஂ๏ਓΞΧσϛʔΩϟϯϓ ୅දཧࣄ ܦྺ 1993 ೥ɺίʔωϧେֶΑΓ޻ֶम࢜߸औಘ (ίϯϐϡʔλαΠΤϯε) 2006 ೥ɺܚጯٛक़େֶΑΓσδλϧ௨՟ͷݚڀͰത࢜߸औಘ (੓ࡦɾϝσΟΞ) ܚጯٛक़େֶ େֶӃ ੓ࡦɾϝσΟΞݚڀՊ΍ SFC ݚڀॴʹͯ 18 ೥Ҏ্ʹΘͨΓ P2P (Peer-to-Peer) ͓Αͼσδλϧ௨՟౳ͷݚڀʹैࣄ 2011 ೥ՆΑΓ෱ౡͷ͜Ͳ΋ͨͪͷͨΊͷʮΞΧσϛʔΩϟϯϓʯΛ஥ؒΒͱ։࠵ ࡢՆ͸ SFC ʹͯ ΞΧσϛʔΩϟϯϓ 2018 ՆʮΦοέʔάʔάϧɺ॓୊΍ͬͱ͍ͯʂʯΛ࣮ࢪ ࠓि຤ɺΞΧσϛʔΩϟϯϓ 2019 ౙʮԵঁͷͨΊͷΦʔτϝʔγϣϯ ∼ ΧϫΠΠ͸ࣗಈԽͰ͖ΔʂʯΛ༧ఆ → ࢲͷ಄ͷதͰ͸ͭͳ͕͍ͬͯ·͢ (͜Ε͔ΒͷࣾձͷσβΠϯ͸͜Ͳ΋ͨͪͱҰॹʹ) ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.2/28

Slide 3

Slide 3 text

ࠓճͷςʔϚ ϒϩοΫνΣʔϯʹΑΔΞϓϦέʔγϣϯͷج൫ͱͯ͠։ൃ͞Ε͍ͯΔ ΠʔαϦΞϜʹ͍ͭͯɺ ΠʔαϦΞϜԾ૝Ϛγϯ (EVM)ɺ ֎෦ΞΫλʔɺ ࣗ཯ΦϒδΣΫτͳͲͷ֓೦΍ɺ ࣮૷ํࣜͷಛ௃ɺਐԽͷํ޲ ͳͲʹ͍ͭͯղઆ͠·͢ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.3/28

Slide 4

Slide 4 text

ΠʔαϦΞϜ (Ethereum) ͷ֓ཁ ϒϩοΫνΣʔϯͱঢ়ଶભҠ EVM (Ethereum Virtual Machine) ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.4/28

Slide 5

Slide 5 text

ΠʔαϦΞϜͱ͸ʁ Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM” ϒϩοΫνΣʔϯٕज़ΛԠ༻ ฏۉϒϩοΫִؒ໿ 15 ඵΛ໨ඪ ͦ͜ʹϓϩάϥϛϯάݴޠΛࡌͤΔ νϡʔϦϯά׬શ ෼ࢄΞϓϦέʔγϣϯͷͨΊͷج൫ ͨͩ͠ػೳ෼ࢄ͢ΔΘ͚Ͱ͸ͳ͍ͷͰɺDApps ͱݺΜͰ͠·ͬͨํ͕ଥ౰͔΋ ݱࡏͷۚ༥ɾ՟ฎܦࡁγεςϜΛ࣌୅஗Εʹ͠Α͏ͱ͢Δҙਤ͕ݟ͑Δ εϚʔτίϯτϥΫτ ͱ͸ͦ΋ͦ΋ͦ͏͍͏΋ͷ σδλϧࢿ࢈ͷҠస΍ঢ়ଶભҠΛࣗಈԽ͢Δ ৄ͘͠͸ʮεϚʔτίϯτϥΫτʯͷճͰ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.5/28

Slide 6

Slide 6 text

ϒϩοΫνΣʔϯͱঢ়ଶભҠ ϒϩοΫνΣʔϯ = ঢ়ଶϚγϯͷ run ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.6/28

Slide 7

Slide 7 text

༻ޠମܥ Ether Ethereum ʹ͓͚Δ௨՟ ֎෦ΞΫλʔ σδλϧॺ໊Ͱ͖Δ࣮ࡏͰɺΞΧ΢ϯτΛ΋ͭ EOA : Externally-Owned Account ࣗ཯ΦϒδΣΫτ γεςϜ಺Ͱࣗ཯ಈ࡞͠ɺΞΧ΢ϯτΛ΋ͭ ͱ͸ݴ͏΋ͷͷɺϝοηʔδΛૹΒͳ͍ͱಈ͔ͳ͍ ΞΧ΢ϯτ Ether ࢒ߴΛ΋ͪɺετϨʔδ΍ EVM ίʔυΛ΋ͯΔ EVM ίʔυ εϚʔτίϯτϥΫτͷϓϩάϥϜ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.7/28

Slide 8

Slide 8 text

EVM : Ethereum Virtual Machine ࣗ཯ΦϒδΣΫτ͕ϝοηʔδΛड͚Δͱىಈ͠ɺίϯτϥΫτΛ࣮ߦɺঢ়ଶΛมԽͤ͞Δ ࣮ߦεςοϓຖʹ Gas ͷڙڅ͕ඞཁ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.8/28

Slide 9

Slide 9 text

ΠʔαϦΞϜͷόʔδϣϯ Frontier (2015) Homestead (2016) Metropolis Byzantium (2017) ← ࠓ·ͩίί zkSNARKs (θϩ஌ࣝূ໌) → Zcash on Ethereum (ZoE) ϒϩοΫใुͷݮগԽ Constantinople (2019) Serenity ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.9/28

Slide 10

Slide 10 text

ϒϩοΫνΣʔϯͷ՝୊ͱΠʔαϦΞϜ ॾʑͷϒϩοΫνΣʔϯͷ՝୊ʹରͯ͠ɺݱࡏͷϒϩοΫνΣʔϯͷߟ͑ํͷ Ԇ௕ͰऔΓ૊Ή ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.10/28

Slide 11

Slide 11 text

ϒϩοΫνΣʔϯͷٕज़తͳ՝୊ͷ੔ཧ ඇ࣮࣌ؒੑ (֬཰తಈ࡞) ൿಗͷࠔ೉ੑ (ສਓ΁ͷݕূՄೳੑͷ୲อ) ϫϯωε (෼ࢄ vs. ෳ੡) εέʔϥϏϦςΟ͕ͳ͍ (શࢀՃऀʹෳ੡͞ΕΔͳΒεέʔϧ͠ͳ͍) ਐԽͷΨόφϯε͕ࠔ೉ (શһ͕ҰؙͱͳΔඞཁ͕͋ΔͳΒมΘΕͳ͍) ΠϯηϯςΟϒෆ੔߹ੑ ωΠςΟϒ௨՟ͷՁ஋Ͱࢧ͑ΒΕ͍ͯΔ (๫མ͢Δͱ͢΂ͯͷԠ༻͕ࢭ·Δ) ⇒ θϩϕʔεͰઃܭ͠௚ͤ͹ղ͚Δ ࣮ࡍʹਐߦதͰ͢ (ྫ : BBc-1) ଟ͘ͷ DLT ͸θϩϕʔεͰߟ͍͑ͯͳ͍ͱ͜Ζ͕໰୊ ྫ : ࡞ۀূ໌ͷ෇͔ͳ͍ϋογϡνΣʔϯ͸վ͟Μ͠์୊ ྫ : ৽ฉϞσϧͰɺۀքࢴ΍ࣾ಺ใʹࡌͤΔΑ͏ͳ͜ͱΛͯ͠΋ଘࡏূ໌ʹͳΒͳ͍ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.11/28

Slide 12

Slide 12 text

ΠʔαϦΞϜ͸Ͳ͏औΓ૊Ή͔ ඇ࣮࣌ؒੑ (֬཰తಈ࡞) ⇒ τϥϯβΫγϣϯΛϑΝΠφϥΠζ͢Δ࢓૊Έ΁ (Casper) ൿಗͷࠔ೉ੑ (ສਓ΁ͷݕূՄೳੑͷ୲อ) ⇒ ZoE (Zcash on Ethereum) ϫϯωε (෼ࢄ vs. ෳ੡) εέʔϥϏϦςΟ͕ͳ͍ (શࢀՃऀʹෳ੡͞ΕΔͳΒεέʔϧ͠ͳ͍) ⇒ γϟʔσΟϯάɺPlasma ਐԽͷΨόφϯε͕ࠔ೉ (શһ͕ҰؙͱͳΔඞཁ͕͋ΔͳΒมΘΕͳ͍) ⇒ ༏͍͠ಠࡋऀ (ۤস) (Benevolent Dictator For Life (BDFL)) ΠϯηϯςΟϒෆ੔߹ੑ ωΠςΟϒ௨՟ͷՁ஋Ͱࢧ͑ΒΕ͍ͯΔ (๫མ͢Δͱ͢΂ͯͷԠ༻͕ࢭ·Δ) ⇒ ΞϓϦΛ࣮ߦ͍ͨ͠ਓʑ͕ങ͍ࢧ͑Δʁ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.12/28

Slide 13

Slide 13 text

ΠʔαϦΞϜͷٕज़ͷಛ௃ Proof of Work + φΧϞτίϯηϯαε ͔Β ચ࿅͞Εͨ Proof of Stake + ߹੍ٞ ΁ ·ͣ͸ݱঢ়ͷઆ໌͔Β ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.13/28

Slide 14

Slide 14 text

҉߸ֶతϋογϡؔ਺ ϏοτίΠϯ 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

Slide 15

Slide 15 text

GHOST (Greedy Heaviest Observed Subtree) ฏۉϒϩοΫִؒΛ୹͘ઃఆ͢Δͱ ແବ଍Λ౿ΉϚΠφʔ͕૿͑Δ ແବ଍Λ౿·ͳ͍ϚΠφʔ͕ूத͠΍͍͢ ⇒ GHOST ʹΑΓղܾΛ໨ࢦ͢ ௚ܥͷखલͷϒϩοΫ (਌) ͚ͩͰͳ͘ɺ೿ੜͨ͠ΦʔϑΝϯͰ͋Δ “uncles” Λ΋ࢀর্ͨ͠Ͱɺproof of work ͷίετΛܭࢉ͠ɺ࠷΋ॏ͍ίετ͕ ͔͔ͬͨ΋ͷΛશһ͕બ୒͢Δ (มܗͨ͠φΧϞτίϯηϯαε) ߋʹɺuncle ΋ϚΠχϯάใुΛड͚औΔ ΠʔαϦΞϜͰ͸ uncles ͷࢀরΛ 7 ஈ֊લ·Ͱʹ੍ݶͨ͠ GHOST Λ࠾༻ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.15/28

Slide 16

Slide 16 text

มܗϚʔΫϧɾύτϦγΞ໦ 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

Slide 17

Slide 17 text

ΠʔαϦΞϜͷਐԽͷํ޲ Proof of Stake ΁ͷظ଴ͱ՝୊ Casper γϟʔσΟϯά ͦͷଞͷٕज़ಈ޲ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.17/28

Slide 18

Slide 18 text

Proof of Stake ͱ͸ʁ ϒϩοΫΛੜ੒Ͱ͖Δ֬཰͕ɺ౰֘ίΠϯͷ࣋ͪ෼ͷଟ͞ʹԠ্ͯ͡ঢ͢Δ ࣍ͷར఺Λ΋ͭͱݴΘΕΔ ΤωϧΪʔফඅ͕௿͍ (ແࢹͰ͖Δ) ू໿͕ΑΓࠔ೉ (ίΠϯͷա൒਺Λॴ༗Ͱ͖Δ͔) ϐΞίΠϯͳͲͰ࠾༻͞ΕΔ ΠʔαϦΞϜ΋Ҡߦ΁ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.18/28

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Proof of Stake ͷ 3ͭͷ໰୊ 1. ίΠϯͷཷΊࠐΈ 2. “Nothing at Stake” ୹ظత໰୊ ௕ظత໰୊ 3. ௿ίετ 51% ߈ܸ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.20/28

Slide 21

Slide 21 text

ίΠϯͷཷΊࠐΈ ࣋ͪ෼͕ଟ͍ํ͕༗རͳͷͰɺίΠϯ͸ཷΊࠐ·Εɺ࢖ΘΕͳ͍܏޲͕ੜ͡Δ ՟ฎϝσΟΞͱͯ͠ͷجຊػೳ્͕֐͞ΕΔ ରࡦ : Proof of Stake Velocity ݹ͍ίΠϯͷ࣋ͪ෼ධՁΛԼ͛Δ Reddcoin ͳͲͰ࠾༻͞ΕΔ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.21/28

Slide 22

Slide 22 text

Nothing at Stake - ୹ظత໰୊ ࣄނ·ͨ͸ނҙʹνΣΠϯ͕෼ذͨ͠৔߹ɺࢀՃऀʹ͸ࣄଶΛऩर͢Δಈػ͕ͳ͍ Կ΋ౌ͚͍ͯͳ͍ φΧϞτɾίϯηϯαε͕ҙਤ௨Γʹಇ͔ͳ͍ φΧϞτɾίϯηϯαε = վ͟Μίετ͕࠷΋େ͖͍ྺ࢙Λ࠾༻͢Δ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.22/28

Slide 23

Slide 23 text

Nothing at Stake - ௕ظత໰୊ γεςϜΛ։࢝ͨ͠ऀ͸Կ౓Ͱ΋શମΛ΍Γ௚ͤΔ δΣωγεϒϩοΫͷ࣌఺Ͱ࣋ͪ෼͸ 100% ͦͷଞͷࢀՃऀ΋ɺ࣋ͪ෼͑͋͞Ε͹͔ͦ͜Β΍Γ௚ͤΔ ૉͷ Proof of Stake Ͱ͸ِ଄Λ཈ࢭͰ͖ͳ͍ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.23/28

Slide 24

Slide 24 text

௿ίετ 51% ߈ܸ ίΠϯͷա൒਺Λऔಘ͢ΔҙࢥͱɺͦͷͨΊͷे෼ͳࢿۚͷূڌΛද໌͢Δ ͢ΔͱɺγεςϜͷਖ਼ৗͳҡ͕࣋ظ଴Ͱ͖ͳ͍ͱ༧૝͞ΕΔͨΊɺ ίΠϯͷՁ͕֨ٸམ͢Δ ͦ͜ͰίΠϯΛങ͍઎ΊΔ ݪཧతʹ͸ɺ΄ͱΜͲίετΛ෷ΘͣʹίΠϯͷա൒਺ΛೖखͰ͖Δ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.24/28

Slide 25

Slide 25 text

Casper : ΠʔαϦΞϜͰͷऔΓ૊Έ Nothing at Stake ໰୊΁ͷରࡦ ࠾༻͞Εͳ͔ͬͨνΣʔϯͰϒϩοΫΛೝΊͨݕূऀΛേ͢Δ (Slasher) σϙδοτΛ෷ཱͬͯީิ͢ΔݕূऀͨͪʹΑΔ౤ථํࣜ 100 ϒϩοΫߴຖʹʮνΣ οΫϙΠϯτʯΛઃ͚ɺσϙδοτֹʹԠͨ͡ॏΈ ෇͖ͷ౤ථͰਖ਼౰ͳνΣʔϯΛܾΊΔ ࣍ͷνΣ οΫϙΠϯτ͕ਖ਼౰Խ͞ΕΔͱɺखલͷνΣ οΫϙΠϯτ͸ʮ֬ఆʯ ͱͳΔ ⇒ Ͳ͜·ͰຽओతͰ͍ΒΕΔ͔ʁ ωοτϫʔΫͷ෼அ͕ى͖͍ͯͳ͍͜ͱ͕લఏʹࢥ͑Δ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.25/28

Slide 26

Slide 26 text

γϟʔσΟϯά (ਫฏ෼ׂ) ݕূ࡞ۀͷ෼ݖԽ εέʔϥϏϦςΟʹ޲͚ͨΞϓϩʔν γϟʔυ΁ͷࢀՃΛΊ͙ΔઓུతߦಈΛݗ੍͢ΔͨΊ PoS ͕લఏ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.26/28

Slide 27

Slide 27 text

ͦͷଞͷٕज़ಈ޲ µRaiden ϖΠϝϯτνϟωϧ Raiden Network ϖΠϝϯτνϟωϧؒΛϗοϓ͢Δ Plasma ϒϩοΫνΣʔϯͷ֊૚Խ ϒϩοΫνΣʔϯͷ՝୊ղܾʹ޲͚ͯݕ౼͞Ε͍ͯΔٕज़ͷʮશ෦ͷͤʯ ͋Δҙຯɺ࣮ݧγεςϜͱͯ͠ͷ໘໨༂೗ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.27/28

Slide 28

Slide 28 text

࣭͝໰΍ٞ࿦Λ ΠʔαϦΞϜͷٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-02-06 – p.28/28