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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takamichi Tsutsumi
August 27, 2019
Programming
1.3k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to OVM
Introduction to OVM concept
Takamichi Tsutsumi
August 27, 2019
Other Decks in Programming
See All in Programming
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
140
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
250
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
340
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
690
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
100
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.3k
Oxlintのカスタムルールの現況
syumai
6
1.1k
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
180
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
New Earth Scene 8
popppiees
3
2.3k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Docker and Python
trallard
47
3.9k
Code Reviewing Like a Champion
maltzj
528
40k
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