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の制約と緩和
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sgtn
April 26, 2018
Programming
2.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Plasmaの制約と緩和
20180406麹町のPlasma#1イベントにて
sgtn
April 26, 2018
More Decks by sgtn
See All by sgtn
On Human Supremacy
shogochiai
0
49
カルダシェフ文明の新世界秩序
shogochiai
0
49
ローカルシニョリッジ論:ASIに対するゲリラ戦術
shogochiai
1
72
生存のアーキテクチャ (United Locals for Suboptimal World)
shogochiai
0
63
Failure Sink 概説
shogochiai
0
47
なぜプリンターは裏切るのか?
shogochiai
0
94
war model
shogochiai
0
170
Meta Contract on Steroids
shogochiai
0
170
Workshop: Solidity with LLM
shogochiai
2
220
Other Decks in Programming
See All in Programming
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
180
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
2
690
数百円から始めるRuby電子工作
tarosay
0
110
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
160
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
280
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
180
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
400
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
5.6k
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
100
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
520
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
270
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
250
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
780
The Curse of the Amulet
leimatthew05
2
13k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
230
Designing for humans not robots
tammielis
254
26k
Transcript
Plasmaͷ੍ͱ؇
Sg / shogochiai - Matic Network - EXA Protocol -
Swingby Protocol - Cryptoeconomics Lab - ډॴ: decentralized - ݩ ΠϯυωγΞελʔτΞοϓΫϥελ - ݩ ौ୩ελʔτΞοϓΫϥελ - ؔ৺ɿྔࢠཧ,ਆܦՊֶ,ܕγεςϜ,ࢄίϯϐϡʔςΟϯά, ϦʔϯελʔτΞοϓ,ϦʔϯΞφϦςΟΫε,UXD,C2C,CTO,ࣗ ݾ৫Խ,͔Βͷ… Bitcoin,Ethereum,Tezos,Zilliqa,Cryptoeconomics,ethresear.ch tw: @_sgtn
Sg / shogochiai - Matic Network - EXA Protocol -
Swingby Protocol - Cryptoeconomics Lab - ډॴ: decentralized - ݩ ΠϯυωγΞελʔτΞοϓΫϥελ - ݩ ौ୩ελʔτΞοϓΫϥελ - ؔ৺ɿྔࢠཧ,ਆܦՊֶ,ܕγεςϜ,ࢄίϯϐϡʔςΟϯά, ϦʔϯελʔτΞοϓ,ϦʔϯΞφϦςΟΫε,UXD,C2C,CTO,ࣗ ݾ৫Խ,͔Βͷ… Bitcoin,Ethereum,Tezos,Zilliqa,Cryptoeconomics,ethresear.ch tw: @_sgtn decentralized ʮσΟηϯλϥΠζʯ͡Όͳͯ͘ʮςΟηϯτϥ ϥΠζυʯ ༻ޠΛਖ਼͍͖ͬͯ͘͠·͠ΐ͏
1. PlasmaΛղͨΒ͠Ί͍ͯΔͷ 2. ͦͷෳࡶ͞ͳͥඞཁ͔: ߈ܸऀͷࢹ͔Β 3. ࠷ޮͷΑ͍Plasmaͷֶश๏ ࠓ͓΅͑ͯؼͬͯΒ͍͍ͨ͜ͱ
1. PlasmaΛղͨΒ͠Ί͍ͯΔͷ 2. ͦͷෳࡶ͞ͳͥඞཁ͔: ߈ܸऀͷࢹ͔Β 3. ࠷ޮͷΑ͍Plasmaͷֶश๏ ࠓ͓΅͑ͯؼͬͯΒ͍͍ͨ͜ͱ ະख़ͳͳͷͰɺ
͋͘·Ͱͻͱͭͷ ཧղͷΓޱͷఏҊͱͯ͠
1. PlasmaΛղͨΒ͠Ί͍ͯΔͷ 2. ͦͷෳࡶ͞ͳͥඞཁ͔: ߈ܸऀͷࢹ͔Β 3. ࠷ޮͷΑ͍Plasmaͷֶश๏ ࠓ͓΅͑ͯؼͬͯΒ͍͍ͨ͜ͱ
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ PlasmaCashͷDeposit Coin Child chainͷதͷConsensus
PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication Deposit,Exit,Commit txͷblock withholding
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ PlasmaCashͷDeposit Coin Child chainͷதͷConsensus
PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication ઐ༻ޠ͕ଟ͍Ͱ͢Ͷ Deposit,Exit,Commit txͷblock withholding
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ PlasmaCashͷDeposit Coin Child chainͷதͷConsensus
PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication Unspent Trans(=TX)action Output Ͱ͢ Deposit,Exit,Commit txͷblock withholding
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication
Deposit,Exit,Commit txͷblock withholding PlasmaCashͷDeposit Coin blockͷbroadcastͷ ނҙ͋Δ͍աࣦʹΑΔ ະఏग़ঢ়ଶ
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication
PlasmaCashͷDeposit Coin ෆಛఆଟͰߦΘΕΔ ෆਖ਼withdrawal߈ܸͷ ରࡦͰ͢(witnessing) Deposit,Exit,Commit txͷblock withholding
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication
PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding ߦಈܦࡁֶ/ཧϞσϧͷࠞͬͨ͟ γεςϜ͔Βͷenforcement(ཁ)Ͱ ܥͷηΩϡΞ͞Λอূ͢Δํੑ
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication
PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding ࢠνΣʔϯϒϩοΫνΣʔϯͱ ίϯηϯαεΛ࣋ͪ͏ΔͷͰ ͦͷηΩϡϦςΟΛߟ͑Δ
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication
PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding PlasmaͱShardingͷ ҧ͍ʹഭΔ
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication
PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding Mass Exitͷ Rootchainෛՙʹର͢Δ mitigation(؇)
Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus PlasmaEthereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication
PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding PlasmaSolidityѥछ tendermintΛ͑Δɻ νΣʔϯETH͡Όͳ͘Մ
1. PlasmaΛղͨΒ͠Ί͍ͯΔͷ 2. ͦͷෳࡶ͞ͳͥඞཁ͔: ߈ܸऀͷࢹ͔Β 3. ࠷ޮͷΑ͍Plasmaͷֶश๏ ࠓ͓΅͑ͯؼͬͯΒ͍͍ͨ͜ͱ
1. Block withholding߈ܸ 2. ෆਖ਼ͳwithdrawal
1. Block withholding߈ܸ 2. ෆਖ਼ͳwithdrawal
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ͍͚ͭͳ͘ͳͬͨΒ PostalkTwitterͰ ࣭͍ͩ͘͞
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ఢରత৫ͷ߈ܸʹର͢Δ SPOF(୯Ұো)Λආ͚ͭͭ SybilAttackରࡦͰίετΛ՝͢
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ PoWಉ࣌ʹൃݟͱ͍͏ͷ͕ ֬తʹ͋Γ͑Δ
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ࢄτϥϯβΫγϣϯʹৄ͍͠ํʹ ٞʹՃΘ͍͚ͬͯͨͩΔͱخ͍͠Ͱ͢
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ϒϩοΫੜ͕ࢭ·Δͱ ίϯτϥΫτ࣮ߦૹۚͰ͖ͳ͍
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ExitRootchainʹtxΛ ॠؒతʹେྔʹ࡞͢ΔͨΊ Gas্͕Δ͠ ͷૹ͕ۚ٧·Γ͏Δ
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ExitRootchainʹtxΛ ॠؒతʹେྔʹ࡞͢ΔͨΊ Gas্͕Δ͠ ͷૹ͕ۚ٧·Γ͏Δ
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ఀࢭཧ༝͕ຖճҟͳΔ͜ͱ͕ఆ͞Ε ͦͷͨͼʹௐ͕ࠪඞཁɻ ͦͦఀࢭ͖͢Ͱͳ͍ɻ ސ٬ࢿ࢈ͷอશ͕ୈҰͰ ࠶։ೋͷ࣍ͱ͍͏ϓϥΠΦϦςΟ
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ PlasmaWPͰڙୗֹͷ҆ͳͲ ఆ͕ࣔ͞Ε͍ͯͳ͍ MVP࣮͝ͱʹҟͳͬͯ͘Δ
1. Block withholding߈ܸ - PoS୭ͰࢀՃͰ͖ͯ͠·͏ - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ -
blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆ͳઃܭɺނҙͷskip ͳͷ͔ނোͳͷ͔Ԇͳͷ͔அͰ͖͍ͣ͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ - ͦͷޙPlasmamass exitΛཁ͢Δ - Ұఆ࣌ؒͰexit͠ͳ͍ਓࢿۚऩ - (ίϛϡχςΟͰٞෆेʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ - ํʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)ऩ͢Δ - StakerΛKYC͓͍ͯͯ͠࠶։࣌ʹରΛban͢ΔΞΠσΞͱ͔ͨ ·ʹݟΔ͕censorship-resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ͪΐͬͱͨ͠ϓϩτίϧͷมߋ͕ censorship-resistance(ݕӾੑ)Λ ഁյ͢Δ͜ͱͷྫ
1. Block withholding߈ܸ 2. ෆਖ਼ͳwithdrawal
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ ϫΠϚπ͞ΜͷNIPoPoWεϥΠυΛಡΉͱ େม͕͞Α͘·ͱ·͍ͬͯ·͢
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ Bitcoinͷ΄͏͔ΒདྷͨਓʹͱͬͯHTLC͕ ͳ͡ΈͿ͔͍ײ͔͡ͱ
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ ϫΠϚπ͞Μͷ PlasmaMVPಡղεϥΠυʹ͘Θ͍͠Ͱ͢
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ depositٗͷ͠Α͏͕ͳ͍ʢͣʣ
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ Exit Spent Coin Exit Double Spent Exit with Invalid History ͳͲͷෆਖ਼Ҿग़ͷྨܕ͕͋Δ ৄ͘͠ karl.tech/plasma-cash-simple-spec
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ ٯʹ͍͏ͱɺdisputerʹ ेͳΠϯηϯςΟϒ͕ͳ͍ͱ ෆਖ਼ग़ۚਖ਼ʹͳͬͯ͠·͏ ଛࣦPlasma chain͔Βͷ࠷ޙͷग़ۚऀ͕ ඃΔܭࢉʹͳΔʢͣʣ
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ ٯʹ͍͏ͱɺdisputerʹ ेͳΠϯηϯςΟϒ͕ͳ͍ͱ ෆਖ਼ग़ۚਖ਼ʹͳͬͯ͠·͏ ଛࣦPlasma chain͔Βͷ࠷ޙͷग़ۚऀ͕ ඃΔܭࢉʹͳΔʢͣʣ
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ νΣʔϯ͕ૹۚ٧·ΓΛى͜͢ͷͰ εέʔϦϯάιϦϡʔγϣϯͱͯ͠ ·͘͠ͳ͍ঢ়گʹͳΔ
2. ෆਖ਼ͳwithdrawal - sidechainͷ2way-pegΛtrustlessʹ࡞Δཁ͕݅͋Δ - depositͷϑϩʔ - rootchainͷcontract addressʹlock
- ͦͷॲཧͷreceiptΛchild chianଆͷweb3͔Βࢹ - ͦͷϦεφʔͰchild chainଆʹUTXOΛ࡞ - withdrawalͰͷ߈ܸϑϩʔͱ؇ - ڙୗͱڞʹɺਖ਼ن͔ڏِ͔ෆ໌ͳҾ͖ग़͠τϥϯβΫγϣϯ͕Plasma chain͔Β rootchainͷίϯτϥΫτʹఏग़͞ΕΔʢҾUTXO_IDʣ - UTXO_ID͕࠷৽͔ͭਖ਼ͷͷͰ͋Εchallengeظؒத୭ҙٛΛਃཱͯ͠Δ͜ͱ ͕Ͱ͖ͳ͍ͣͳͷͰɺͦͷ··Ҿ͖ग़͞ΕΔ - ͦͷUTXO_IDΑΓ৽͍͠UTXO͕ݟ͔ͭͬͨ߹ɺdisputer(withdrawalΛࢹ͢Δ ਓ)ɺͦͷIDͱڞʹexitChallengeͱ͍͏ҟٞਃཱͯ͠ίϯτϥΫτΛ࣮ߦ͢Δ - νΣʔϯʹτϥϯβΫγϣϯ͕ͨ͘͞Μ࡞ΒΕΔ - ΞΧϯτϞσϧͰΔͱҟٞਃཱͯ͠ܭࢉίετ͕ΑΓߴ͍ʢͨͿΜPlasma chain ͷreceiptΛूܭ͢Δײ͡ʁʣ ΞΧϯτϞσϧߴෛՙͩ͠ શdisputer͕શϢʔβʔͷUTXOΛࢹ͢Δίετߴ͍ disputer͕શUTXOΛݟͳ͍ͰΑͨ͘͠ͷ͕PlasmaCash PlasmaCashͷղઆPlasma#2ʹৡΓ·͢
1. PlasmaΛղͨΒ͠Ί͍ͯΔͷ 2. ͦͷෳࡶ͞ͳͥඞཁ͔: ߈ܸऀͷࢹ͔Β 3. ࠷ޮͷΑ͍Plasmaͷֶश๏ ࠓ͓΅͑ͯؼͬͯΒ͍͍ͨ͜ͱ
ٞ gi ron
ׂͱϑϩʔܕͰϥΠτͳٞ twitter reddit telegram slack ετοΫܕͰϔϏʔͳٞ ethresear.ch EIP(github issue)
ӳޠͷ͔ٞ͠ͳ͍ ͕ ຊਓͷٞ͢Β͍͠
ྫ) ˏtanaka_bot_1 ͞ΜͷπΠʔτΛࢀߟʹৄࡉΛ٧ΊͯӳޠԽ
ϏλϦΫʮͨ͠ֈʯ
ຊޠ൛ ethresear.ch తͳܝࣔ൘ΛΓ্͛Δ͖
࡞ͬͨΒΞφϯε͢ΔΜͰɺΈͳͰٞ͠·͠ΐ͏ʂ
͓ΘΓ