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
Plasma snapp's very rough explanation
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sgtn
October 02, 2018
Technology
360
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Plasma snapp's very rough explanation
Plasma snappの概要をつかもう
sgtn
October 02, 2018
More Decks by sgtn
See All by sgtn
On Human Supremacy
shogochiai
0
56
カルダシェフ文明の新世界秩序
shogochiai
0
58
ローカルシニョリッジ論:ASIに対するゲリラ戦術
shogochiai
1
75
生存のアーキテクチャ (United Locals for Suboptimal World)
shogochiai
0
69
Failure Sink 概説
shogochiai
0
57
なぜプリンターは裏切るのか?
shogochiai
0
99
war model
shogochiai
0
180
Meta Contract on Steroids
shogochiai
0
180
Workshop: Solidity with LLM
shogochiai
2
230
Other Decks in Technology
See All in Technology
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
85k
地震情報アプリを作ってみた
yama3133
1
110
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
900
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
180
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
370
AIのためのEthernet技術動向 (SerDes)
markunet
1
310
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
320
MIXIで活躍できるエンジニアを 若手社員目線で考えてみる
mixi_engineers
PRO
0
140
What's new in Go 1.27?
ciarana
0
420
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
410
Knowledge Catalog を活用したメタデータ自動付与パイプライン構築
supership
0
130
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
220
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
A Tale of Four Properties
chriscoyier
163
24k
Building an army of robots
kneath
306
46k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
480
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
Odyssey Design
rkendrick25
PRO
2
770
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
500
Between Models and Reality
mayunak
4
400
Code Reviewing Like a Champion
maltzj
528
40k
Statistics for Hackers
jakevdp
799
230k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Transcript
Plasma snapp ࡶղઆ zk-SNARKsͷྗͰexit game͍ΒͣʹͳͬͨPlasma
barryWhitehatͱmiximus miximus͔Βͷroll_up͔Βͷsnapp UnwindingͷIncentivising Plasmaͱexit game DepositͱExitͷ՝ͱ؇ Data Availabilityͷ՝ͱ؇ SNARK Proofੜͷίετ
1st/2nd layer cryptoeconomics
barryWhitehatͱmiximus
None
1. Trusted Setup ʢ৴པϕʔεͷΩʔੜʣ 2. Proof Generation ʢূ໌Λ࡞Δʣ 3. Verification
ʢূ໌Λݕূ͢Δʣ SNARKͷखॱ
m0t0k1ch1͞Μͷਤղ
1. Trusted Setup: ɹBobݱ࣮తʹMPCͰ伴Λ࡞Δ ɹগͳ͘ͱҰਓ͕伴Λফࣦ͢Ε෮ݩෆՄ ɹZcash͕͜ΕͰ࣮࣭ͬͯͯσϑΝΫτ
2. Proof Generation: ɹS(ओʹൿີ伴)Λ༻͍ͯ ɹͳΜΒ͔ͷϝοηʔδͷϋογϡΛ࡞Δ ɹ(barrymerkle rootΛHʹ༻͍Δ͜ͱଟ͠) ɹ ɹpk(proof key)Λ༻͍ͯ
ɹproof of correct executionΛ࡞Δ
3. Verification: ɹ#2Ͱ࡞ͬͨprfͱHͦͯ͠ #1Ͱ࡞ͬͨvkͰ ɹProof of Correct Executionͷ ɹ݁ՌͷBoolΛಘΔ
barryͷίʔυਖ਼Ԛ͍ ɹɾpk͕Verifierͷείʔϓʹ͋Δʢvk͔͠ݟΕͪΌͩΊʣ ɹɾͭ·ΓߦؒಡΜͰͶతͳϝοηʔδͷ͋Δίʔυ ɹɾ్தͰC++ͷbarryۘίʔυʹॲཧ͕ҠΔ ɹɾgenWitness͕ؔProofΛੜ͕ͯͯ͠͵Δ͍
iden3ͷ͕JSͩ͠ΩϨΠ ֤ؔͷ͕m0t0k0ch1μΠϠάϥϜͱରԠ͍ͯ͠Δ
ࢉज़ճ࿏(ΞϦεϝςΟοΫαʔΩοτ) ੜDSL࡞ͬͯΔͷͰΑ͛͞ ͜ͷΜ͕QAPͷ ֻ͚ࢉήʔτͬΆ͍
ਖ਼ #2ͷProof·ΘΓ͕Θ͔ΒΜ
Ͱ͍͖ͬͯ‷( ɾŷɾ) ̑ و
Plasmaͱexit game ྫɿ Operator͕ 100ԯԁͷUTXOΛੜͯ͠ exitਃ͢Δ
Plasmaͱexit game PlasmaMVPͷMass Exitʢ࿉ۚज़ࢣରࡦʣ
Plasmaͱexit game 100ԯԁExit ۭͬΆͷDepositʹରͯ͠ ߦΘΕΔ Ϣʔβʔ͕ࢹͯ͠Ε ࿉ۚज़ࢣඞͣϏϦ
ϢʔβʔશTxڽࢹͯ͠ͳ͍ͱΞΧϯ ʢ͔ͩΒPlasmaCash͕ੜ·Εͨʣ
MassExitͳ͠ʹPlasmaMVP͑ͨΒ PlasmaCashͷCoinDepositͷׂͱ͔·ͳ͍Ͱ͍͍
miximus͔Βͷroll_up͔Βͷsnapp ݁ߏίʔυ͍ճ͠
miximus͔Βͷroll_up͔Βͷsnapp StateΛMerkleTrieʹ͢Δ ྻΛτʔφϝϯτߏʢೋʣʹͯ͠ࢦΛٕ͢ Merkleroot (m0t0k1ch1μΠϠάϥϜͷʮHʯ, ͭ·ΓWitness) ΛProofͱڞʹPlasmaContractʹఏग़ Operator͕ StateTrieͷLeafߋ৽ʢߴߋ৽ʣʹѱ͞Ͱ͖ͳ͍
miximus͔Βͷroll_up͔Βͷsnapp Deposit࣌ʹ͔͠LeafΛ৽ن࡞Ͱ͖ͳ͍ Withdrawalྃͨ͠ΒLeafΛআ͢Δ Deposit BlockͱExit BlockʹஷΊͯΔTx͕ શ෦͚͔ͯΒɺStateߋ৽͕Ͱ͖Δ Operator͕Withholdͨ͠Β3ͬͯ OperatorΛަͯ͠ઌ(tip)ϒϩοΫΛrollback͢Δ (ޙड़͢ΔunwindingϝΧχζϜ)
DepositͱExitͷ՝ͱ؇ ͳΜ͔͋ΔΒ͍͚͠ͲΑ͘Θ͔ͬͯͳ͍ͷͰඈ͢
Data Availabilityͷ՝ͱ؇ Ϣʔβʔ(Light client)͕ ୭࠷৽ϒϩοΫͷใΛΒͳ͍ͱ͖ ୭WitnessΛ࡞Εͳ͍͠୭TxΛ࡞Εͳ͍ (Data Unavailableͳঢ়گ) UnwindingϝΧχζϜ͕͜ΕΛ؇͢Δ
UnwindingͷIncentivising ࣍ͷOperatorʹ୭ͰͳΕΔ ͦͷίετΛ͏ରՁ͕ඞཁ ͰPlasmaࢠνΣʔϯҡ࣋ͷͨΊʹϚγϯͱgas͕͍Δ josojoͷվగ൛ఏҊʹ ʮ1st operatorʹcollateral(୲อۚ)Λ༻ҙͤ͞Ε2ndҎ߱ ͦΕΛΒ͑Δʯͱ͍͏ఏҊ͕͕͋ͬͨ ͦΕރׇ͢ΔͱSgࢥ͏ खྉΛͱΔPlasmaͳΒखྉͷߦ͖ઌߋ৽Մඞਢ
SNARK Proofੜͷίετ ී௨ͷϚγϯͰ5~10͔͔࣌ؒΔͱ͔ͳΜͱ͔ νϡʔχϯά͢ΕʹͰ͖Δͱ͔ͳΜͱ͔ FPGAϨϕϧ͔Βࢉज़ճ࿏ʹಛԽͨ͠ϚγϯͳΒͲ͏͔ PlasmaͳΒOperator༻ͷ1ϊʔυ͚ͩͳͷͰ͍͚ͦ͏
1st/2nd layer cryptoeconomics 1st layerͰzk͓͏ͱࢥ͏ͱ18000ϊʔυͰ ಉ͡ܭࢉ͠ͳ͍ͱ ʹʼ 500tps tx onchainͷ൘ͰVitalik͕
specialized class of mining for zk ͷΛ͍ͯͨ͠ ʢ99% fault toleranceͬͯASICແޮʹ͢Δͱʣ
1st/2nd layer cryptoeconomics 2nd layerͷcryptoeconomicsʮϝΧχζϜσβΠ ϯͰಈ͘Α͏ʹ͍͍͚ͯ͠ͲɺνΣʔϯͷηΩϡ ϦςΟΛᆝଛ͢ΔͳΑʯͱ͍͏ͷʹͳ͍ͬͯΔɻ unwindingϝΧχζϜͱ͔·ͩΠϯηϯςΟϒͱ͠ ͯ͠ΐ΅ͯ͘ɺͦۚ͜Ͱ߈ܸ͞ΕͨΒEthereumϝΠ ϯνΣʔϯͷηΩϡϦςΟΛआΓΕͯΔͱݴ͑ͳ͍
͓ΘΓͰ͢