Plasmaのexitの高速化についてともに考える

F7a2d3914b17486005a931ca3054b8a2?s=47 sgtn
May 25, 2018

 Plasmaのexitの高速化についてともに考える

Plasma#2登壇資料。Plasmaのexitを高速化したらどんな使い方ができて、高速化を実現するためには何ができそうか考えてみました

F7a2d3914b17486005a931ca3054b8a2?s=128

sgtn

May 25, 2018
Tweet

Transcript

  1. Plasmaͷ exitͷ ߴ଎Խʹ͍ͭͯ ͱ΋ʹߟ͑Δ

  2. Sg/shogochiai/@_sgtn

  3. matic.network exa.earth

  4. ෱ԬͰCryptoeconomics Lab ͱ͍͏ձࣾΛ͸͡Ί·ͨ͠

  5. research.cryptoeconomicslab.com

  6. VR-MMORPG Protocol

  7. ؓ࿩ٳ୊

  8. ̎िؒ

  9. Plasma Exit

  10. Ϣʔβʔ͕ࢠνΣʔϯ ͱͲ·Δ࡞ΓํʹͳΔ 1 conf 2 weeks

  11. DEX΍ήʔϜͰ࢖͓ͬͨۚΛ΄͔Ͱ࢖͏ͷʹ ̎िؒ΋଴ͨͳ͍ͱ͍͚ͳ͍ͷ͸໰୊ 1 conf 2 weeks

  12. ଞͷίϯτϥΫτΛݺ ΂ͳ͍

  13. ͳΜͰࢠνΣʔϯʹ௕ډ͢Δ ϞσϧʹࢥߟΛ੍ݶ͍ͯ͠Δ ͷ͔ʁ

  14. ໰͍ ϋΠεϧʔϓοτ͕ཉ͍͠ͱ͖͚ͩࢠ νΣʔϯʹग़ೖΓ͢Δͷ͸ଥ౰͔ʁ

  15. exitChallengeडೖظؒ ̎िؒɹʹʼɹ10ඵ

  16. 1 conf 10sec

  17. Կ͕Ͱ͖ΔΑ͏ʹͳΔʁ

  18. (c) Loom Network

  19. ୹͍ηογϣϯͷ͚ؒͩ Plasma΁

  20. 1st Plasma Root 2nd Plasma 3rd Plasma

  21. ਂ͍Plasmaʹεοͱೖͬͯ ϩά౳·Ͱه࿥͢ΔΑ͏ͳ༻్ͷαʔ Ϗεʹ࢖ͬͯ ཭୤࣌΋εοͱൈ͚Δ

  22. Ͳ͏΍ͬͨΒ10ඵexit Λݱ࣮ͷ΋ͷʹͰ͖Δʁ

  23. A.ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳ challenger͕͍Δ B. ΊͪΌͪ͘Όͨ͘͞Μͷchallenger͕ ͍Δ
 
 C. Ϣʔβʔͷ৴༻ʹج͍ͮͯexitதͷTxΛ ୲อʹϧʔτνΣʔϯͰ͓ۚΛି͢

  24. A.ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳ challenger͕͍Δ B. ΊͪΌͪ͘Όͨ͘͞Μͷchallenger͕ ͍Δ
 
 C. Ϣʔβʔͷ৴༻ʹج͍ͮͯexitதͷTxΛ ୲อʹϧʔτνΣʔϯͰ͓ۚΛି͢

  25. A. ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳchallenger͕͍Δ 1. ϑΣσϨʔγϣϯʢෳ਺ͷexitڐՄऀʣΛ༻ҙͯ͠ exitڐՄͷͨΊʹॺ໊͢Δ 2. ۭചΓͷͨΊ౳Ͱ݁ୗ͞ΕΔͱڊֹͷෆਖ਼Ҿ͖ग़͕͠ ՄೳͱࢥΘΕΔ 3. ૬Ԡͷֹͷڙୗۚͱɺఆظతͳબڍ͕ඞཁͱࢥΘΕΔ

    4. ݁ୗΛΑΓ؇࿨͠ͳ͚Ε͹ͳΒͳ͍ 5. ࠷ѱͷέʔε͸ɺࢠνΣʔϯͷblockੜ੒͕ෆਖ਼Ͱ mass exit͍ͨ͠ͷʹɺfederation΋݁ୗͯ͠Δঢ়گ
  26. A. ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳchallenger͕͍Δ 1. ϑΣσϨʔγϣϯʢෳ਺ͷexitڐՄऀʣΛ༻ҙͯ͠exit ڐՄͷͨΊʹॺ໊͢Δ 2. ۭചΓͷͨΊ౳Ͱ݁ୗ͞ΕΔͱڊֹͷෆਖ਼Ҿ͖ग़͕͠ ՄೳͱࢥΘΕΔ 3. ૬Ԡͷֹͷڙୗۚͱɺఆظతͳબڍ͕ඞཁͱࢥΘΕΔ

    4. ݁ୗΛΑΓ؇࿨͠ͳ͚Ε͹ͳΒͳ͍ 5. ࠷ѱͷέʔε͸ɺࢠνΣʔϯͷblockੜ੒͕ෆਖ਼Ͱ mass exit͍ͨ͠ͷʹɺfederation΋݁ୗͯ͠Δঢ়گ
  27. A. ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳchallenger͕͍Δ 1. ϑΣσϨʔγϣϯʢෳ਺ͷexitڐՄऀʣΛ༻ҙͯ͠exit ڐՄͷͨΊʹॺ໊͢Δ 2. ۭചΓͷͨΊ౳Ͱ݁ୗ͞ΕΔͱڊֹͷෆਖ਼Ҿ͖ग़͕͠ ՄೳͱࢥΘΕΔ 3. ૬Ԡͷֹͷڙୗۚͱɺఆظతͳબڍ͕ඞཁͱࢥΘΕΔ

    4. ݁ୗΛΑΓ؇࿨͠ͳ͚Ε͹ͳΒͳ͍ 5. ࠷ѱͷέʔε͸ɺࢠνΣʔϯͷblockੜ੒͕ෆਖ਼Ͱ mass exit͍ͨ͠ͷʹɺfederation΋݁ୗͯ͠Δঢ়گ
  28. A. ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳchallenger͕͍Δ 1. ϑΣσϨʔγϣϯʢෳ਺ͷexitڐՄऀʣΛ༻ҙͯ͠exit ڐՄͷͨΊʹॺ໊͢Δ 2. ۭചΓͷͨΊ౳Ͱ݁ୗ͞ΕΔͱڊֹͷෆਖ਼Ҿ͖ग़͕͠ ՄೳͱࢥΘΕΔ 3. ૬Ԡͷֹͷڙୗۚͱɺఆظతͳબڍ͕ඞཁͱࢥΘΕΔ

    4. ݁ୗΛΑΓ؇࿨͠ͳ͚Ε͹ͳΒͳ͍ 5. ࠷ѱͷέʔε͸ɺࢠνΣʔϯͷblockੜ੒͕ෆਖ਼Ͱ mass exit͍ͨ͠ͷʹɺfederation΋݁ୗͯ͠Δঢ়گ
  29. A. ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳchallenger͕͍Δ 1. ϑΣσϨʔγϣϯʢෳ਺ͷexitڐՄऀʣΛ༻ҙͯ͠exit ڐՄͷͨΊʹॺ໊͢Δ 2. ۭചΓͷͨΊ౳Ͱ݁ୗ͞ΕΔͱڊֹͷෆਖ਼Ҿ͖ग़͕͠ ՄೳͱࢥΘΕΔ 3. ૬Ԡͷֹͷڙୗۚͱɺఆظతͳબڍ͕ඞཁͱࢥΘΕΔ

    4. ݁ୗΛΑΓ؇࿨͠ͳ͚Ε͹ͳΒͳ͍ 5. ࠷ѱͷέʔε͸ɺࢠνΣʔϯͷblockੜ੒͕ෆਖ਼Ͱ mass exit͍ͨ͠ͷʹɺfederation΋݁ୗͯ͠Δঢ়گ
  30. None
  31. EC2 t2.medium $0.0464 per 3600sec ETH $13.4 per 0.2sec ϏλϦΫࢼࢉͰ

    Φʔόʔϔου͕100ສഒҧ͏
  32. ෼ݖੑΛ٘ਜ਼ʹ͢Ε͹ૣ͘ͳΔ Ͱ΋ʮෆಛఆଟ਺͕ࣗ༝ʹࢀՃ Ͱ͖ΔγεςϜʯ͸؁͘ͳ͍ɻ ԟʑʹͯ͠ʮۦ͚Ҿ͖༨஍ʯ͕ ηΩϡϦςΟ্ͷ໰୊Λى͜͢

  33. In other words ʮۦ͚Ҿ͖ۭؒ͸গͳ͚Ε͹গͳ͍΄͏͕͍͍ʯ e.g. dPoSͱ͔federationͱ͔

  34. A.ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳ challenger͕͍Δ B. ΊͪΌͪ͘Όͨ͘͞Μͷchallenger͕ ͍Δ
 
 C. Ϣʔβʔͷ৴༻ʹج͍ͮͯexitதͷTxΛ ୲อʹϧʔτνΣʔϯͰ͓ۚΛି͢

  35. 1. challengerີ౓ΛߴΊΔΪϛοΫ͕ඞཁ 2. શαΠυνΣʔϯΛԣஅͯ͠validationλεΫΛϫϯε τοϓͰߦ͑ΔΞϓϦέʔγϣϯΛ४උ͢Δʢvalidation poolʣ
 3. validation pool͸શPlasmaͷσʔλΛಉظ͠ͳ͚Ε͹ͳ Βͳ͍ͷ͔ɺRPC͔ΒదٓσʔλΛऔΔ͚ͩͰࣄ଍ΓΔͷ

    ͔
 4. શPlasmaΛԣஅͨ͠validationޮ཰Խπʔϧ͕ετϨʔδ ͷؔ܎ͰෆՄೳͳΒɺchallengerΛ૿΍͢ํ޲ੑ͸ո͍͠ 5. ༨ஊ͕ͩɺ͜ͷετϨʔδͷ੍໿΍௨৴ͷෆ҆ఆ͕͋͞ ΓεϚϗΛvalidator/challengerʹ͢Δͷ͸ͱ͖ʹ೰·͍͠
  36. 1. challengerີ౓ΛߴΊΔΪϛοΫ͕ඞཁ 2. શαΠυνΣʔϯΛԣஅͯ͠validationλεΫΛϫϯε τοϓͰߦ͑ΔΞϓϦέʔγϣϯΛ४උ͢Δʢvalidation poolʣ
 3. validation pool͸શPlasmaͷσʔλΛಉظ͠ͳ͚Ε͹ͳ Βͳ͍ͷ͔ɺRPC͔ΒదٓσʔλΛऔΔ͚ͩͰࣄ଍ΓΔͷ

    ͔
 4. શPlasmaΛԣஅͨ͠validationޮ཰Խπʔϧ͕ετϨʔδ ͷؔ܎ͰෆՄೳͳΒɺchallengerΛ૿΍͢ํ޲ੑ͸ո͍͠ 5. ༨ஊ͕ͩɺ͜ͷετϨʔδͷ੍໿΍௨৴ͷෆ҆ఆ͕͋͞ ΓεϚϗΛvalidator/challengerʹ͢Δͷ͸ͱ͖ʹ೰·͍͠
  37. 1. challengerີ౓ΛߴΊΔΪϛοΫ͕ඞཁ 2. શαΠυνΣʔϯΛԣஅͯ͠validationλεΫΛϫϯε τοϓͰߦ͑ΔΞϓϦέʔγϣϯΛ४උ͢Δʢvalidation poolʣ
 3. validation pool͸શPlasmaͷσʔλΛಉظ͠ͳ͚Ε͹ͳ Βͳ͍ͷ͔ɺRPC͔ΒదٓσʔλΛऔΔ͚ͩͰࣄ଍ΓΔͷ

    ͔
 4. શPlasmaΛԣஅͨ͠validationޮ཰Խπʔϧ͕ετϨʔδ ͷؔ܎ͰෆՄೳͳΒɺchallengerΛ૿΍͢ํ޲ੑ͸ո͍͠ 5. ༨ஊ͕ͩɺ͜ͷετϨʔδͷ੍໿΍௨৴ͷෆ҆ఆ͕͋͞ ΓεϚϗΛvalidator/challengerʹ͢Δͷ͸ͱ͖ʹ೰·͍͠
  38. 1. challengerີ౓ΛߴΊΔΪϛοΫ͕ඞཁ 2. શαΠυνΣʔϯΛԣஅͯ͠validationλεΫΛϫϯε τοϓͰߦ͑ΔΞϓϦέʔγϣϯΛ४උ͢Δʢvalidation poolʣ
 3. validation pool͸શPlasmaͷσʔλΛಉظ͠ͳ͚Ε͹ͳ Βͳ͍ͷ͔ɺRPC͔ΒదٓσʔλΛऔΔ͚ͩͰࣄ଍ΓΔͷ

    ͔
 4. શPlasmaΛԣஅͨ͠validationޮ཰Խπʔϧ͕ετϨʔδ ͷؔ܎ͰෆՄೳͳΒɺchallengerΛ૿΍͢ํ޲ੑ͸ո͍͠ 5. ༨ஊ͕ͩɺ͜ͷετϨʔδͷ੍໿΍௨৴ͷෆ҆ఆ͕͋͞ ΓεϚϗΛvalidator/challengerʹ͢Δͷ͸ͱ͖ʹ೰·͍͠
  39. 1. challengerີ౓ΛߴΊΔΪϛοΫ͕ඞཁ 2. શαΠυνΣʔϯΛԣஅͯ͠validationλεΫΛϫϯε τοϓͰߦ͑ΔΞϓϦέʔγϣϯΛ४උ͢Δʢvalidation poolʣ
 3. validation pool͸શPlasmaͷσʔλΛಉظ͠ͳ͚Ε͹ͳ Βͳ͍ͷ͔ɺRPC͔ΒదٓσʔλΛऔΔ͚ͩͰࣄ଍ΓΔͷ

    ͔
 4. શPlasmaΛԣஅͨ͠validationޮ཰Խπʔϧ͕ετϨʔδ ͷؔ܎ͰෆՄೳͳΒɺchallengerΛ૿΍͢ํ޲ੑ͸ո͍͠ 5. ༨ஊ͕ͩɺ͜ͷετϨʔδͷ੍໿΍௨৴ͷෆ҆ఆ͕͋͞ ΓεϚϗΛvalidator/challengerʹ͢Δͷ͸ͱ͖ʹ೰·͍͠
  40. A.ΊͪΌΊͪΌ৴པͰ͖Δύϫϑϧͳ challenger͕͍Δ B. ΊͪΌͪ͘Όͨ͘͞Μͷchallenger͕ ͍Δ
 
 C. Ϣʔβʔͷ৴༻ʹج͍ͮͯexitதͷTxΛ ୲อʹϧʔτνΣʔϯͰ͓ۚΛି͢

  41. 1. ϢʔβʔͷσϑΥϧτ཰Λద౰ʹܭࢉ͢Δ 2. Exit࣌ʹͦͷexitֹΛσΟεΧ΢ϯτͨۚ͠ ֹΛି͠෇͚Δʢଈग़ۚͰ͖Δʣ 3. Exit͕׬ྃͨ͠Βͦͷ··ି෇ਓ͕ड͚औ Δ

  42. 1. ϢʔβʔͷσϑΥϧτ཰Λద౰ʹܭࢉ͢Δ 2. Exit࣌ʹͦͷexitֹΛσΟεΧ΢ϯτͨۚ͠ ֹΛି͠෇͚Δʢଈग़ۚͰ͖Δʣ 3. Exit͕׬ྃͨ͠Βͦͷ··ି෇ਓ͕ड͚औ Δ

  43. 1. ϢʔβʔͷσϑΥϧτ཰Λద౰ʹܭࢉ͢Δ 2. Exit࣌ʹͦͷexitֹΛσΟεΧ΢ϯτͨۚ͠ ֹΛି͠෇͚Δʢଈग़ۚͰ͖Δʣ 3. Exit͕׬ྃͨ͠Βͦͷ··ି෇ਓ͕ड͚औ Δ

  44. ՝୊

  45. ෆਖ਼exitʹ͓ۚΛି͍ͯͨ͠ΒʁΉ͠Ζ͓ۚΛ౿ Έ౗ͨ͢Ίʹෆਖ਼exitΛࢼΈΔ΍͕ͭ૿͑ͨΒʁ ͦ͏͍͏ਓ͸৴༻είΞ͕ͳ͍ͷͰିͤͳ͍ exit͕ૣ͘ͳΔਓ͸ݶఆత B: ϧʔτνΣʔϯͰۚΛି͢

  46. ϑΣσϨʔγϣϯʹͤΑߴີ౓ʹͤΑɺ ̍݅Ͱ΋ݟಀ͕͋͠Δͱ௧͍ ͦͷࢠνΣʔϯͷͨΊʹrootchainͰlock͠ ͍ͯΔࢿ࢈͕ଟΊʹҾ͖ग़͞Ε͍ͯ͘ ࠷ޙʹexitͨ͠ਓͷͨΊͷࢿ࢈͕࢒Βͳ͍ ͷͰɺօͧͬͯͦ͜ͷνΣʔϯ͔Βಀ͛ͨ ͘ͳΔ A or C:

    ChallengerͷॲཧೳྗڧԽ
  47. Cryptoeconmics

  48. pBFT
 HTLC Griefing Factors
 Nakamoto Consensus

  49. snario/awesome-cryptoeconomics

  50. 10ඵexit͸ཧ૝͚ͩͲɺ ݱঢ়͸10෼exit·ͰͳΒཧ࿦తʹՄೳɺ ̎िؒexit͸΍Γ͗͢ ળྑͳϢʔβʔ͸௿ۚརͰି෇exit͕Ͱ͖Δ ͘Β͍ͷݴٴ͕Ͱ͖Δঢ়ଶΛ࡞Γ͍ͨ

  51. ηΩϡϦςΟϞσϧΛ਺ཧత ͳಈతฏߧͰఆٛ/ఏҊ͍ͯ͠ ࣌͘୅

  52. ਺ֶڧ͍Ϛϯ Έͳ͞ΜͷίϯτϦϏϡʔγϣϯΛ͓଴ͪͯ͠·͢ʂ