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
sgtn
April 26, 2018
Programming
2
2.1k
Plasmaの制約と緩和
20180406麹町のPlasma#1イベントにて
sgtn
April 26, 2018
Tweet
Share
More Decks by sgtn
See All by sgtn
生存のアーキテクチャ (United Locals for Suboptimal World)
shogochiai
0
24
Failure Sink 概説
shogochiai
0
12
なぜプリンターは裏切るのか?
shogochiai
0
21
war model
shogochiai
0
120
Meta Contract on Steroids
shogochiai
0
130
Workshop: Solidity with LLM
shogochiai
2
190
Why ERC-7546 and where it is going.
shogochiai
0
260
UUPS2.pdf
shogochiai
0
57
風の時代とメタ国家
shogochiai
0
330
Other Decks in Programming
See All in Programming
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
280
Implementation Patterns
denyspoltorak
0
140
Cap'n Webについて
yusukebe
0
160
CSC307 Lecture 01
javiergs
PRO
0
650
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
Patterns of Patterns
denyspoltorak
0
420
Cell-Based Architecture
larchanjo
0
160
Graviton と Nitro と私
maroon1st
0
160
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
300
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
340
ThorVG Viewer In VS Code
nors
0
540
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
37k
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
Being A Developer After 40
akosma
91
590k
Statistics for Hackers
jakevdp
799
230k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
780
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building the Perfect Custom Keyboard
takai
2
670
Into the Great Unknown - MozCon
thekraken
40
2.2k
Technical Leadership for Architectural Decision Making
baasie
0
200
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 తͳܝࣔ൘ΛΓ্͛Δ͖
࡞ͬͨΒΞφϯε͢ΔΜͰɺΈͳͰٞ͠·͠ΐ͏ʂ
͓ΘΓ