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
sgtn
October 02, 2018
Technology
2
330
Plasma snapp's very rough explanation
Plasma snappの概要をつかもう
sgtn
October 02, 2018
Tweet
Share
More Decks by sgtn
See All by sgtn
war model
shogochiai
0
74
Meta Contract on Steroids
shogochiai
0
77
Workshop: Solidity with LLM
shogochiai
2
150
Why ERC-7546 and where it is going.
shogochiai
0
200
UUPS2.pdf
shogochiai
0
41
風の時代とメタ国家
shogochiai
0
260
様相μ計算による計算論的な民主主義の健全性の評価 ~自律分散組織(DAO)による政体の超越性に向けて~ The theory of democraticity evaluation via modal mu-calculus for suggesting the supremacy of DAO for Nations.
shogochiai
0
32
Web3時代のDAOによるソシエタルデザイン
shogochiai
0
140
ptaa.app 解説資料
shogochiai
0
89
Other Decks in Technology
See All in Technology
30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp / 20250120
kazaneya
PRO
4
670
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
170
Web APIをなぜつくるのか
mikanichinose
0
1.2k
ハイテク休憩
sat
PRO
2
190
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
130
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
4.9k
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
120
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
170
大規模言語モデルとそのソフトウェア開発に向けた応用 (2024年版)
kazato
1
220
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
150
.NET 9 のパフォーマンス改善
nenonaninu
0
1.8k
Server-Side Engineer of LINE Sukimani
lycorp_recruit_jp
1
470
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
A Philosophy of Restraint
colly
203
16k
Producing Creativity
orderedlist
PRO
342
39k
Docker and Python
trallard
43
3.2k
Unsuck your backbone
ammeep
669
57k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How STYLIGHT went responsive
nonsquared
96
5.2k
How to train your dragon (web standard)
notwaldorf
88
5.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
140
Building an army of robots
kneath
302
44k
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ϝΠ ϯνΣʔϯͷηΩϡϦςΟΛआΓΕͯΔͱݴ͑ͳ͍
͓ΘΓͰ͢