Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Plasmaの制約と緩和

sgtn
April 26, 2018

 Plasmaの制約と緩和

20180406麹町のPlasma#1イベントにて

sgtn

April 26, 2018
Tweet

More Decks by sgtn

Other Decks in Programming

Transcript

  1. Sg / shogochiai - Matic Network
 - EXA Protocol
 -

    Swingby Protocol
 - Cryptoeconomics Lab
 
 
 - ډ৔ॴ: decentralized
 - ݩ ΠϯυωγΞελʔτΞοϓΫϥελ
 - ݩ ौ୩ελʔτΞοϓΫϥελ - ؔ৺ɿྔࢠ෺ཧ,ਆܦՊֶ,ܕγεςϜ,෼ࢄίϯϐϡʔςΟϯά, ϦʔϯελʔτΞοϓ,ϦʔϯΞφϦςΟΫε,UXD,C2C,CTO,ࣗ ݾ૊৫Խ,͔Βͷ… Bitcoin,Ethereum,Tezos,Zilliqa,Cryptoeconomics,ethresear.ch tw: @_sgtn
  2. Sg / shogochiai - Matic Network
 - EXA Protocol
 -

    Swingby Protocol
 - Cryptoeconomics Lab
 
 
 - ډ৔ॴ: decentralized
 - ݩ ΠϯυωγΞελʔτΞοϓΫϥελ
 - ݩ ौ୩ελʔτΞοϓΫϥελ - ؔ৺ɿྔࢠ෺ཧ,ਆܦՊֶ,ܕγεςϜ,෼ࢄίϯϐϡʔςΟϯά, ϦʔϯελʔτΞοϓ,ϦʔϯΞφϦςΟΫε,UXD,C2C,CTO,ࣗ ݾ૊৫Խ,͔Βͷ… Bitcoin,Ethereum,Tezos,Zilliqa,Cryptoeconomics,ethresear.ch tw: @_sgtn decentralized ͸ ʮσΟηϯλϥΠζʯ͡Όͳͯ͘ʮςΟηϯτϥ ϥΠζυʯ 
 ༻ޠΛਖ਼͘͠࢖͍͖ͬͯ·͠ΐ͏
  3. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ PlasmaCashͷDeposit Coin Child chainͷதͷConsensus

    Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication Deposit,Exit,Commit txͷblock withholding
  4. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ PlasmaCashͷDeposit Coin Child chainͷதͷConsensus

    Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication ઐ໳༻ޠ͕ଟ͍Ͱ͢Ͷ Deposit,Exit,Commit txͷblock withholding
  5. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ PlasmaCashͷDeposit Coin Child chainͷதͷConsensus

    Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication Unspent
 Trans(=TX)action
 Output Ͱ͢ Deposit,Exit,Commit txͷblock withholding
  6. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication

    Deposit,Exit,Commit txͷblock withholding PlasmaCashͷDeposit Coin blockͷbroadcastͷ
 ނҙ͋Δ͍͸աࣦʹΑΔ
 ະఏग़ঢ়ଶ
  7. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication

    PlasmaCashͷDeposit Coin ෆಛఆଟ਺ͰߦΘΕΔ
 ෆਖ਼withdrawal߈ܸ΁ͷ
 ରࡦͰ͢(witnessing) Deposit,Exit,Commit txͷblock withholding
  8. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication

    PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding ߦಈܦࡁֶ/਺ཧϞσϧͷࠞͬͨ͟
 γεςϜ͔Βͷenforcement(ཁ੥)Ͱ
 ܥͷηΩϡΞ͞Λอূ͢Δํ޲ੑ
  9. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication

    PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding ࢠνΣʔϯ΋ϒϩοΫνΣʔϯͱ
 ίϯηϯαεΛ࣋ͪ͏ΔͷͰ
 ͦͷηΩϡϦςΟΛߟ͑Δ
  10. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication

    PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding Mass Exitͷ
 Rootchainෛՙʹର͢Δ
 mitigation(؇࿨)
  11. Mass Exitͱ͍͏Security Model Exit transactionʹର͢ΔChallenge UTXOͷඞཁੑ Child chainͷதͷConsensus Plasma͸Ethereumͳͷ͔ʁ Sidechainಉ࢜ͷCommunication

    PlasmaCashͷDeposit Coin Deposit,Exit,Commit txͷblock withholding Plasma͸Solidityѥछ΍
 tendermintΛ࢖͑Δɻ
 ਌νΣʔϯ͸ETH͡Όͳ͘΋Մ
  12. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ
  13. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ௥͍͚ͭͳ͘ͳͬͨΒ
 Postalk΍TwitterͰ
 ࣭໰͍ͩ͘͞
  14. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ఢରత૊৫ͷ߈ܸʹର͢Δ
 SPOF(୯Ұো֐఺)Λආ͚ͭͭ
 SybilAttackରࡦͰίετΛ՝͢
  15. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ PoW͸ಉ࣌ʹൃݟͱ͍͏ͷ͕
 ֬཰తʹ͋Γ͑Δ
  16. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ෼ࢄτϥϯβΫγϣϯʹৄ͍͠ํʹ
 ٞ࿦ʹՃΘ͍͚ͬͯͨͩΔͱخ͍͠Ͱ͢
  17. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ϒϩοΫੜ੒͕ࢭ·Δͱ
 ίϯτϥΫτ࣮ߦ΋ૹۚ΋Ͱ͖ͳ͍
  18. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ Exit͸RootchainʹtxΛ
 ॠؒతʹେྔʹ࡞੒͢ΔͨΊ
 Gas୅΋্͕Δ͠
 ਌ͷૹ͕ۚ٧·Γ͏Δ
  19. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ Exit͸RootchainʹtxΛ
 ॠؒతʹେྔʹ࡞੒͢ΔͨΊ
 Gas୅΋্͕Δ͠
 ਌ͷૹ͕ۚ٧·Γ͏Δ
  20. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ఀࢭཧ༝͕ຖճҟͳΔ͜ͱ͕૝ఆ͞Ε
 ͦͷͨͼʹௐ͕ࠪඞཁɻ
 ͦ΋ͦ΋ఀࢭ͢΂͖Ͱ͸ͳ͍ɻ
 ސ٬ࢿ࢈ͷอશ͕ୈҰͰ
 ࠶։͸ೋͷ࣍ͱ͍͏ϓϥΠΦϦςΟ
  21. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYCͯ͠ban͢ΔΞΠσΞͱ͔΋ͨ·ʹݟΔ͕censorship- resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ PlasmaWPͰڙୗֹͷ໨҆ͳͲ
 ఆ਺͕ࣔ͞Ε͍ͯͳ͍
 MVP࣮૷͝ͱʹҟͳͬͯ͘Δ
  22. 1. Block withholding߈ܸ
 
 - PoS͸୭Ͱ΋ࢀՃͰ͖ͯ͠·͏
 - 1epoch 1ਓ͚ͩϒϩοΫ࡞ΕΔ
 -

    blocktimeҎ্hold͞ΕͨΒskipͱ͍͏҆௚ͳઃܭ͸ɺނҙͷskip ͳͷ͔ނোͳͷ͔஗Ԇͳͷ͔൑அͰ͖ͣ೉͍͠ʢ͓ͦΒ͘Ϗβϯν ϯނোϞσϧʁʣ
 - ͕ͨͬͯ͠ނҙʹࢭΊͨΓͰ͖Δ
 - ͦͷޙPlasma͸mass exitΛཁ੥͢Δ
 - Ұఆ࣌ؒͰexit͠ͳ͍ਓ͸ࢿۚ຅ऩ
 - (ίϛϡχςΟͰٞ࿦ෆे෼ʹݟ͑Δ͕) exitޙʹ࠶։࡞ۀΛ͢Δ
 - ํ਑ʹΑΔ͕evilͳwithholderͷcollateral(ڙୗ/୲อ)͸຅ऩ͢Δ
 - StakerΛKYC͓͍ͯͯ͠࠶։࣌ʹର৅Λban͢ΔΞΠσΞͱ͔΋ͨ ·ʹݟΔ͕censorship-resistance͕ͳ͘ͳΓ࣋ଓੑ͕ͳ͘ͳΔ ͪΐͬͱͨ͠ϓϩτίϧ΁ͷมߋ͕
 censorship-resistance(ݕӾ଱ੑ)Λ
 ഁյ͢Δ͜ͱͷ޷ྫ
  23. 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Λूܭ͢Δײ͡ʁʣ
  24. 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εϥΠυΛಡΉͱ
 େม͕͞Α͘·ͱ·͍ͬͯ·͢
  25. 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͕
 ͳ͡ΈͿ͔͍ײ͔͡ͱ
  26. 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ಡղεϥΠυʹ͘Θ͍͠Ͱ͢
  27. 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͸࠮ٗͷ͠Α͏͕ͳ͍ʢ͸ͣʣ
  28. 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
  29. 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͔Βͷ࠷ޙͷग़ۚऀ͕
 ඃΔܭࢉʹͳΔʢ͸ͣʣ
  30. 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͔Βͷ࠷ޙͷग़ۚऀ͕
 ඃΔܭࢉʹͳΔʢ͸ͣʣ
  31. 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Λूܭ͢Δײ͡ʁʣ ਌νΣʔϯ͕ૹۚ٧·ΓΛى͜͢ͷͰ
 εέʔϦϯάιϦϡʔγϣϯͱͯ͠͸
 ๬·͘͠ͳ͍ঢ়گʹͳΔ
  32. 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ʹৡΓ·͢