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
war model
shogochiai
0
110
Meta Contract on Steroids
shogochiai
0
100
Workshop: Solidity with LLM
shogochiai
2
170
Why ERC-7546 and where it is going.
shogochiai
0
230
UUPS2.pdf
shogochiai
0
48
風の時代とメタ国家
shogochiai
0
290
様相μ計算による計算論的な民主主義の健全性の評価 ~自律分散組織(DAO)による政体の超越性に向けて~ The theory of democraticity evaluation via modal mu-calculus for suggesting the supremacy of DAO for Nations.
shogochiai
0
47
Web3時代のDAOによるソシエタルデザイン
shogochiai
0
160
ptaa.app 解説資料
shogochiai
0
110
Other Decks in Programming
See All in Programming
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
Passkeys for Java Developers
ynojima
3
870
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
510
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
1
330
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
530
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
3
2k
Effect の双対、Coeffect
yukikurage
5
1.4k
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
10
1.9k
XSLTで作るBrainfuck処理系
makki_d
0
210
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
230
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6.2k
Featured
See All Featured
Fireside Chat
paigeccino
37
3.5k
Building Applications with DynamoDB
mza
95
6.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Optimizing for Happiness
mojombo
379
70k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Gamification - CAS2011
davidbonilla
81
5.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Visualization
eitanlees
146
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How to train your dragon (web standard)
notwaldorf
92
6.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
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 తͳܝࣔ൘ΛΓ্͛Δ͖
࡞ͬͨΒΞφϯε͢ΔΜͰɺΈͳͰٞ͠·͠ΐ͏ʂ
͓ΘΓ