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
Introduction to OVM
Search
Takamichi Tsutsumi
August 27, 2019
Programming
4
1.3k
Introduction to OVM
Introduction to OVM concept
Takamichi Tsutsumi
August 27, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Unity6.3 AudioUpdate
cova8bitdots
0
130
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
240
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
200
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.6k
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
180
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
550
Ruby x Terminal
a_matsuda
7
590
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
160
Claude Codeログ基盤の構築
giginet
PRO
7
3k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Being A Developer After 40
akosma
91
590k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
GraphQLとの向き合い方2022年版
quramy
50
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.4k
Embracing the Ebb and Flow
colly
88
5k
Speed Design
sergeychernyshev
33
1.6k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
79
Design in an AI World
tapps
0
170
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Transcript
!1 *OUSPEVDUJPOUP07. (FOFSBMJ[FE0⒎DIBJO-BZFS 5BLBNJDIJ5TVUTVNJ
"HFOEB എܠ •L1ͱL2 •PlasmaͱStateChannel •Fraud ProofͱValidity Proof ՝ •L2ͰΞϓϦέʔγϣϯΛ࡞Δ՝ײ OVM
◦ίϯηϓτ ◦ه๏ ◦Ұ֊ड़ޠཧ ◦StateChannelͷྫ ◦ΞʔΩςΫνϟ • CryptoeconomicsLab • References !2
*OUSPEVDUJPO •ఆର L2ͷઐՈͰ͋Δඞཁͳ͠ɻEthereumؔ࿈ͷ։ൃΛͬͨ͜ͱ͕͋Δɻ Scalingͷೝ͍ࣝͯ͠Δ͕ɺ໌֬ͳղܾ๏ͱͯ͠ͷL2Λೝ͍ࣝͯ͠ΔΘ͚Ͱͳ͍ɻ Plasma, StateChannelͦ͠͏ͱײ͍ͯ͡Δɻ •ΰʔϧ L2ͰDAppΛ࡞Δͱ͍͏͜ͱ͕Ͳ͏͍͏͜ͱ͔ͳΜͱͳ͘Θ͔Δɻ OVMͷ֓೦Λܰ͘ཧղ͢ΔɻOVMͰL2DAppΛ࡞ͬͯΈ͍ͨͱࢥ͏ɻ •ԿΛ͔͢ɾԿΛ͞ͳ͍͔
͢͜ͱ: Plasma, StateChannelͳͲͷLayer2 SolutionΛҰൠԽ͢Δ֓೦Ͱ͋ΔOVMʹ͍ͭͯ, L2 Application։ൃ͕͜Ε͔ΒͲ͏ͳ͍͔ͬͯ͘ɻ ͞ͳ͍͜ͱ: ࣮ࡍʹApplicationΛ࡞ΔνϡʔτϦΞϧతͳ͜ͱ, ۩ମతͳ࣮ͷͳ͠, ϓϩάϥϛϯάͷ !3
!4 07.ͱɺ-ΛநԽͨ֓͠೦Ͱ͋Δɻ1MBTNB4UBUF$IBOOFMѻ͑Δɻ
#BDLHSPVOE !5
-ͱ- • -ͱɺ&UIFSFVNͷ4DBMBCJMJUZʹରͯ͠ɺUY TUBUFVQEBUF Λ-ͷ֎Ͱߦ͍ɺ͋ͱ͔Β -ʹөͤ͞Δͱ͍͏ΞϓϩʔνɻSFG<> • 1MBTNB 4UBUF$IBOOFMͳͲͷσβΠϯ͕͋Δɻ !6
4UBUF$IBOOFM • ͋ΔϢʔβʔͷू߹͕DPJOΛMPDLͯ͠ɺ ͦͷϢʔβʔؒͰͷ4UBUF6QEBUFΛ ΦϑνΣʔϯͷϝοηʔδަʹΑͬͯߦ͏ɻ ϢʔβʔؒͰ߹ҙͨ͠࠷৽ͷ4UBUF͕&YJUͰ͖Δɻ SFG< > !7
1MBTNB • 4UBUF6QEBUFΛߦ͏$IJME$IBJO͕0QFSBUPSͱ͍͏ׂͷਓʹΑͬͯӡ༻͞ΕΔɻ0QFSBUPS ͕1MBTNB্ͰͷUYΛूΊͯ·ͱΊ-ʹఏग़͓ͯ͘͜͠ͱͰɺ֤$MJFOU͕ਖ਼͘͠&YJUͰ͖Δ ػ ձଛࣦΛআ͘ଛΛ͠ͳ͍ Α͏ͳΈ͕͋ΔɻSFG< > !8
%JTQVUF ฆ૪ • -ͷιϦϡʔγϣϯͰɺෆਖ਼ͳ&YJUʹରͯͦ͠Εෆͳ&YJUͰ͋Δͱ͍͏ҟٞਃཱ͠ ͯ %JTQVUF ͕Ͱ͖ͳ͚ΕͳΒͳ͍ɻ • ྫ͑ɺ1MBTNBͷ0QFSBUPS͕ෆʹଠͷ͓ۚΛ&YJU͠Α͏ͱͨ͠ΒɺଠͦΕʹର ͯ͠ҟٞਃཱͯ͠Ͱ͖Δɻ
!9 ֆ
'SBVE1SPPGͱ7BMJEJUZ1SPPG • 'SBVE1SPPGෆਖ਼ͳ4UBUFʹରͯͦ͠Ε͕ෆਖ਼Ͱ͋Δͱ͍͏ূڌΛఏग़͢Δɻෆਖ਼ͳ4UBUF͕ FYJU͞Εͨͱ͖ʹͷΈߦ͑Α͍ɻ*OUFSBDUJWFͳΓऔΓ͕ඞཁͱͳΔɻ • 7BMJEJUZ1SPPGਖ਼͍͠4UBUFʹ͍ͨͯͦ͠Ε͕ਖ਼͍͠ͱ͍͏ূڌΛఏग़͢Δɻ4UBUFVEQBUF ͷͨͼߦ͏ඞཁ͕͋Δɻఏग़͢ΕPLɻSFG<> • 4UBUF$IBOOFM 1MBTNB&YJU࣌ʹฆ૪ظؒ
%JTQVUFQFSJPE Λઃ͚ͯɺ'SBVE1SPPGʹΑΔ ݕূΛߦ͏ɻ%JTQVUFQFSJPE͕͗͢Εɺਖ਼͘͠ͳ͘ͳ͍͜ͱ͕ূ໌͞Εͨ͜ͱʹͳΔɻ !10
1SPCMFN !11
-ͰΞϓϦέʔγϣϯΛ࡞Δʁ • 1MBTNB 4UBUF$IBOOFMͳͲͷσβΠϯ4QFDJpDͳ࣮͕ඞཁ • &YJUHBNFͷઃܭɾ࣮ • 4FDVSFͳઃܭɾ࣮ͷ͠͞ • 4NBSU$POUSBDU
$MJFOU 'SPOUFOE FUD !12
07. !13
$PODFQU • 0QUJNJTUJD7JSUVBM.BDIJOF 07. ݄ʹ1MBTNB(SPVQʹΑͬͯఏএ͞ΕͨɻSFG< > • -ͷ'SBVE1SPPGʹΑΔ%JTQVUFΛநԽ͍ͯ͠Δ֓೦ɻ • ͋Δ໋
1SPQFSUZ ͕ਖ਼͍͜͠ͱ͕ϩʔΧϧ P⒎DIBJO ใʹΑͬͯอূͰ͖Δ͜ͱ͕-ͷຊ ࣭Ͱ͋Δͱ͍͏ߟ͑ํɻ • -ͷ%JTQVUFΛநԽ͢ΔͨΊͷه๏ ड़ޠཧͰͷهड़ Λఏএ !14
Ұ֊ड़ޠཧ • Α͋͘Δ໋ཧ ଠਓؒͩ ʹྔͷ֓೦ΛՃ͑ͨͷɻ • 07.ͰҰ֊ड़ޠཧͰ1SPQFSUZΛهड़͢Δɻ • Ұ֊ड़ޠཧͰʮͯ͢ͷYʹ͍ͭͯZͰ͋Δʯɺʮ͋ΔYʹରͯ͠ZͰ͋ΔʯͷΑ͏ͳ໋͕ ѻ͑ΔɻSFG<>
!15
Ұ֊ड़ޠཧ • શশྔԽه߸ VOJWFSTBMRVBOUJpFS • ྫͯ͢ͷೣՄѪ͍ • ՄѪ͘ͳ͍ೣΛূڌͱͯ͠ఏग़͢Ε൱ఆ Ͱ͖Δ
!16 • ଘࡏྔԽه߸ FYJTUFOUJBMRVBOUJpFS • ྫ͋Δೣʹཌྷ͕ੜ͍͑ͯΔ • ཌྷͷੜ͑ͨೣΛূڌͱͯ͠ఏग़͢Εূ໌ Ͱ͖Δ ՄѪ͘ͳ͍ೣ ཌྷͷੜ͑ͨೣ
1SPQFSUZͷهड़ྫ4UBUF$IBOOFMͷ&YJU 1.ଠͱՖࢠ͕ͦΕͧΕ10ETHΛϩοΫͨ͠channelΛ։͍ͨɻ 2.ଠ͕2ETHΛՖࢠʹૹΔϝοηʔδΛ࡞Γɺॺ໊ͯ͠Ֆࢠʹ ૹͬͨɻ 3.Ֆࢠଠ͔ΒૹΒΕ͖ͯͨϝοηʔδΛ֬ೝ͠ɺͦΕʹॺ໊͠ ͯೋਓͷॺ໊͖ͷϝοηʔδΛૹΓฦͨ͠ɻՖࢠೋਓͷॺ໊ ͖ͷϝοηʔδΛࣗͷखݩʹίϐʔͯ͠ͱ͓ͬͯ͘ɻ 4.྆ऀ2, 3Λ܁Γฦͯ͠channel্ͰࢿۚͷҠಈΛؾ͕ࡁΉ·Ͱ ܁Γฦͨ͠ɻ
5.ΓऔΓ͕ऴΘͬͨΒɺ࠷ޙʹΓऔΓͨ͠ͷ྆ऀͷॺ໊͖ ϝοηʔδΛͬͯchannel͔Βexit͢Δɻ 6.͠exit͠Α͏ͱͨ͠ϝοηʔδ͕࠷৽ͷͷͰͳ͍߹ɺ ͏ยํຊͷ࠷৽ͷϝοηʔδΛఏग़͢Δ͜ͱʹΑͬͯͦͷ exitΛΩϟϯηϧͰ͖Δɻ •ϝοηʔδʹnonce(࿈൪)Λ;͓ͬͯ͘͜ͱʹΑͬͯ৽͠͞Λ දݱ͢Δͱ͢Δ !17
1SPQFSUZͷهड़ྫ4UBUF$IBOOFMͷ&YJU • ͜ͷͱ͖ɺ͋ΔϝοηʔδͰFYJU͢Δͱ͖ʹඞཁͳQSPQFSUZΛҎԼͷΑ͏ʹఆٛ͢Δɻ !18 FYJU͍ͨ͠ϝοηʔδͷOPODF͕OͰ͋Δͱ͖ɺ O͕྆ऀͷॺ໊Λ͍࣋ͬͯΔϝοηʔδͷOPODFͷ͏ͪ࠷େͷͰ͋Δ͜ͱɻ • ͜ΕɺଘࡏྔԽࢠΛ༻͍ΔҎԼͷ໋ͷ൱ఆͱͯ͠هड़Ͱ͖Δɻ • ·ͨɺશশྔԽࢠΛ༻͍ΔͱҎԼͷΑ͏ʹهड़Ͱ͖Δɻ
FYJU͍ͨ͠ϝοηʔδͷOPODF͕OͰ͋Δͱ͖ɺ OΑΓେ͖͍OPODFΛ࣋ͭɺ྆ऀͷॺ໊Λͭϝοηʔδ͕ଘࡏ͢Δɻ FYJU͍ͨ͠ϝοηʔδͷOPODF͕OͰ͋Δͱ͖ɺ ͯ͢ͷOΑΓେ͖͍OPODFΛ࣋ͭϝοηʔδ྆ऀͷॺ໊Λ͍ͬͯͳ͍ɻ
1SPQFSUZͷهड़ྫ4UBUF$IBOOFMͷ&YJU !19 FYJU͍ͨ͠ϝοηʔδͷOPODF͕OͰ͋Δͱ͖ɺ ͯ͢ͷOΑΓେ͖͍OPODFΛ࣋ͭϝοηʔδ྆ऀͷॺ໊Λ͍ͬͯͳ͍ɻ • ͜ͷ1SPQFSUZ͕ਖ਼͍͠ͱೝΊΒΕͨΒOPODFOͷTUBUFΛFYJU͢Δ͜ͱ͕Ͱ͖Δɻ • ଠɾՖࢠͷ྆ऀO Ҏ্ͷOPODFΛ࣋ͭ྆ऀͷॺ໊͖ͭͷϝοηʔδΛఏग़͢Δ͜ͱͰ͜ ͷ1SPQFSUZΛغ٫͢Δ͜ͱ͕Ͱ͖Δɻ
• ಉ༷ʹɺ1MBTNBͷ&YJU1SPQFSUZҰ֊ड़ޠཧͰͷهड़͕Մೳɻ ׂѪ <> • ͜ΕʹΑΓ-ͷ౷Ұతͳهड़͕Ͱ͖ΔΑ͏ʹͳͬͨ
07.Ͱ"QQMJDBUJPOΛ࡞ΔͱͲ͏͍͏͜ͱ͔ • 07.ʹ͓͍ͯ1SPQFSUZΛઃܭ͢Δ͜ͱ͕ͦ͜"QQMJDBUJPO%FWFMPQFSͷॏཁͳׂͱͳ Δɻ • -ͷ$MJFOUɺ͋Δ1SPQFSUZ͕ਖ਼͍͠ͱ͍͏͜ͱΛূ໌͢ΔͨΊͷσʔλΛΓऔΓͨ͠Γ ͢Δͷɻ • ͜ͷεΩʔϜʹैͬͯ1SPQFSUZ$MJFOUΛઃܭɺ࣮͢Ε-্ͰΞϓϦέʔγϣϯ։ൃ͕ Ͱ͖ΔΑ͏ʹͳΔɻ
!20
ΞʔΩςΫνϟ • -ͱͷͭͳ͗நԽ͞ΕΔ Ͳ͏ͬͯ -PDL͞ΕΔ͔ɺͲ͏ͬͯQSPQFSUZ͕ਖ਼͠ ͍ਖ਼͘͠ͳ͍ͱܾΊΒΕΔ͔ • -͔Β-ͲΜͳTUBUF͕FYJUͰ͖ΔΑ͏ʹ ͢Δ͔։ൃऀ͕ߟ͑ΒΕΔ
• -ͰͷDMJFOUؒͷΓͱΓҰൠతͳϢʔε έʔεͷͷ 4UBUFDIBOOFM1MBTNBͳͲ ڞ௨Ͱ͑Δͷ͕Ͱ͖Δ • ։ൃऀ͕'SPOUFOE։ൃʹूதͰ͖ΔͨΊͷ TEL͕Ͱ͖ΔSFG<> !21
ࢲୡ͕͍ͬͯΔ͜ͱ 07.ʹଇͬͯ-ͰΞϓϦέʔγϣϯΛ؆ ୯ʹ͔ͭॊೈʹ։ൃͰ͖ΔͨΊʹఏڙ͞Ε Δ͖ͷɾ͜ͱͯ͢Λ४උ͢Δɻ •ΞϓϦέʔγϣϯϑϨʔϜϫʔΫ ઈࢍߏத •1SPQFSUZهड़ͷͨΊͷݴޠ ઈࢍ։ൃத
•$MJFOUGPS1MBTNBڞ௨࣮ ઈࢍ࣮த •'SPOUFOETEL ઈࢍઃܭத •FUD !22
!23 07.Λ͏ͱɺ͜Ε·Ͱ։ൃ͍ͯͨ͠4DBMBCJMJUZͷΛղܾͨ͠#MPDLDIBJO"QQMJDBUJPOΛ ؆୯ʹ։ൃ͢Δ͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔɻ
$SZQUPFDPOPNJDT-BC (JUIVCIUUQTHJUIVCDPNDSZQUPFDPOPNJDTMBC 5FMFHSBNIUUQTUNFQMBTNBRBOEB .FEJVNIUUQTNFEJVNDPNDSZQUPFDPOPNJDTMBC 5XJUUFSIUUQTUXJUUFSDPNDSZQUPFDPOMBC !24
3FGFSFODFT L2 • [0] https://media.consensys.net/the-state-of-ethereum-layer-2-protocol-development-2-f22b2603abd6 Plasma • [1] https://ethresear.ch/t/minimal-viable-plasma/426 •
[2] https://www.learnplasma.org/en/ • [3] https://karl.tech/plasma-cash-simple-spec/ StateChannel • [4] https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/ • [5] https://l4.ventures/papers/statechannels.pdf RollUp • [6] https://github.com/barryWhiteHat/roll_up FraudProofɾValidityProof • [7] https://medium.com/starkware/validity-proofs-vs-fraud-proofs-4ef8b4d3d87a OVM • [8] https://medium.com/plasma-group/introducing-the-ovm-db253287af50 • [9] https://medium.com/plasma-group/the-ovm-s-your-scaling-solution-state-channel-edition-ed13de56e249 • [10] https://medium.com/cryptoeconomics-lab/cel-development-direction-to-the-greater-abstraction-6860f87ce0eb • [11] https://github.com/plasma-group/pigi • [12] https://github.com/plasma-group/ovm • [13] https://github.com/cryptoeconomicslab/plasma-rust-framework • [14] https://github.com/cryptoeconomicslab/plasma-rust-framework/issues/162 ड़ޠཧ • [15] https://ja.wikipedia.org/wiki/Ұ֊ड़ޠཧ !25