ΠʔαϦΞϜεέʔϦϯάͷഎܠͱ֓ཁ2018/4/26 Osuke
View Slide
Osuke@zoom_zoomzo- blog- dApp- twitter- ϑϦʔϥϯε- 2017ळࠒ͔ΒϒϩοΫνΣʔϯΛษڧ- ౦େੜ໋ཧֶ෦ଔ
1ɽεέʔϥϏϦςΟɾτϦϨϯϚ2ɽεέʔϦϯάιϦϡʔγϣϯɹ2.1ɹSidechainsɹ2.2ɹState Channelsɹ2.3ɹSharding
1. Scalablity Trilemma
Scalablity Trilemma2ͭͷཁૉΛຬͨ͢ͷՄೳ͚ͩͲɺ3ͭಉ࣌ʹຬͨ͢ͷ͕͍͠ʂίετͰωοτϫʔΫʹࢀՃՄೳेʹ߈ܸίετ͕ߴ͍ωοτϫʔΫશମͰߴ͍ॲཧೳྗࢄੑɿ҆શੑɿεέʔϥϏϦςΟɿ
ݱঢ়ɾɾɾεέʔϥϏϦςΟࢄੑ ҆શੑࢄੑͱ҆શੑΛߴਫ४ʹอͬͨ··εέʔϥϏϦςΟΛ৳͍͖͍ͯͨ͠ʂݕূϊʔυͷܭࢉϦιʔε͕ϘτϧωοΫʹɻ
1ɽࢄੑɿϊʔυʹඞཁͳܭࢉϦιʔεΛ͘อͭͨΊʹɺʢBlock Gas LimitΛ্͛ͯμϝʣ2ɽ҆શੑɿίϯηϯαεͷηΩϡϦςΟΛอͪɺʢϋογϡύϫʔΛԼͤͯ͞μϝʣ3ɽεέʔϥϏϦςΟɿωοτϫʔΫશମͰΑΓߴ͍ॲཧೳྗΛ࣋ͭεέʔϥϏϦςΟࢄੑ ҆શੑ→ϝΠϯνΣʔϯͰͷݕূ࡞ۀΛ࠷খԽ͢Δඞཁੑ→શͯͷTxΛશͯͷϊʔυ͕ݕূ͠ͳͯ͘ࡁΉΑ͏ͳํ๏
S S*Txঢ়ଶͱɺ- ΞΧϯτߴ- φϯε- EVMίʔυϋογϡ- ετϨʔδϧʔτ→ϒϩοΫνΣʔϯͷঢ়ଶΛม͑Δ͜ͱʹܭࢉϦιʔε͕ඞཁʹͳΔͦͦͳͥϊʔυܭࢉϦιʔε͕ඞཁͳͷ͔→τϥϯβΫγϣϯɾϒϩοΫΛݕূ͢Δ͜ͱʹܭࢉϦιʔε͕ඞཁʹͳΔ→ΠʔαϦΞϜεςʔτϚγϯ
ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ͢ΔΠʔαϦΞϜʹ͓͚ΔεέʔϦϯάɺͱ͍͏Ξϓϩʔν
2ɽΠʔαϦΞϜͷεέʔϦϯάιϦϡʔγϣϯɾ1st layer → Shardingɾ2nd layer → Sidechains, State Channels
2.1ɹSidechains
Global Stateʢ҆શʣLocal Stateʢ҆શ͡Όͳ͍ʣS0 → S1 →ɾɾɾ Snதؒঢ়ଶભҠFlaud Proofsɿෆਖ਼ߦҝʹର͢Δਖ਼ੑͷূ໌Sidechains (Plasma)αΠυνΣʔϯ→ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ
2.2 State Channels
Global Stateʢ҆શʣதؒঢ়ଶભҠState Channels (Raiden Network)S0 → S1 →ɾɾɾ→ Sn-1 → SnOPENCLOSE→ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ
Global Stateʢ҆શʣதؒঢ়ଶભҠState Channels (Raiden Network)࠷৽Ͱͳ͍StateΛίϛοτ͠Α͏ͱ͢ΔͱϖφϧςΟʂS0 → S1 →ɾɾɾ→ Sn-1 → Sn→ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ
2.3 Sharding
Shardingshard_id: 0 shard_id: 1 shard_id: 99όϦσʔλʔɾɾɾstate: S0 state: S1 state: S99→ݕূΛฒྻԽͯ͠ܭࢉ→ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹGlobal State
Shardingshard_id: 0 shard_id: 1 shard_id: 99ɾɾɾT = 1
Shardingshard_id: 0 shard_id: 1 shard_id: 99ɾɾɾT = 2
Shardingshard_id: 0 shard_id: 1 shard_id: 99ɾɾɾT = 3
Ethereum 2.0• Sharding• Casper• Stateless ClientsSidechains• Plasma• Cosmos• Parity BridgeTruebitState Channels• Raiden Network• Counterfactual• FunFair…etcoff-chain interactive verificationεέʔϦϯάϓϩδΣΫτ
ΠʔαϦΞϜεέʔϦϯάͷϞνϕʔγϣϯࢄੑͱ҆શੑΛ٘ਜ਼ʹ͢ΔͷNGϝΠϯνΣʔϯͰͷόϦσʔγϣϯ࡞ۀʢঢ়ଶભҠʣΛ࠷খԽϝΠϯνΣʔϯͱͷ҆શͳStateͷಉظ͕՝